diff --git a/decArgo_doc/decoder_user_manual/_CoriolisArgoFloatVersions_20200924.xlsx b/decArgo_doc/decoder_user_manual/_CoriolisArgoFloatVersions_20200924.xlsx index 9a8ea830..6ab86c8e 100644 Binary files a/decArgo_doc/decoder_user_manual/_CoriolisArgoFloatVersions_20200924.xlsx and b/decArgo_doc/decoder_user_manual/_CoriolisArgoFloatVersions_20200924.xlsx differ diff --git a/decArgo_doc/decoder_versions/_argo_decoder_versions.xlsx b/decArgo_doc/decoder_versions/_argo_decoder_versions.xlsx index 945fbe0a..c48e0111 100644 Binary files a/decArgo_doc/decoder_versions/_argo_decoder_versions.xlsx and b/decArgo_doc/decoder_versions/_argo_decoder_versions.xlsx differ diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1015.csv b/decArgo_soft/config/_configParamNames/_config_param_name_1015.csv index 08351d34..463a1a6d 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1015.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1015.csv @@ -22,7 +22,7 @@ CONFIG_DEBUG;n/a;Debugging Verbosity for generating engineering log entries;CONF CONFIG_DIR;n/a;Misc. configuration information;CONFIG_Direction_NUMBER;Ascending = 1, Descending = 2, Ascending and Descending = 3 CONFIG_CT;n/a;Misc. configuration information;CONFIG_CycleTime_hours;For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value. CONFIG_DPF;n/a;Misc. configuration information;CONFIG_DeepProfileFirstFloat_LOGICAL;"Some APEX floats are set to do a ""profile on deployment"". This means that when the float is deployed it skips the drift phase at the PARKING depth and sinks directly to the PROFILE depth and starts ascending for the first profile. Independent of the Park and Profile cycle length, the first profile is always a Deep Profile that begins at the Profile Depth. This means the float returns a CTD profile relatively soon, typically less than a day, after the float is deployed. This feature supports comparison of the initial float profile with a conventional CTD cast from the ship. The result is that the first cycle is of shorter duration with a profile depth equal to PROFILE configuration pressure (regardless of the CONFIG_ParkAndProfileCycleCounter_COUNT configuration information). (Yes = 1, No = 0)." -CONFIG_X01;n/a;Misc. configuration information;CONFIG_EcoBetaWavelength_nm;Wavelength of Beta # measurements (in nanometer). +CONFIG_X01;n/a;Misc. configuration information;CONFIG_EcoBetaWavelength1_nm;Wavelength of Beta # measurements (in nanometer). CONFIG_X02;n/a;Misc. configuration information;CONFIG_EcoBetaBandwidth_nm;Bandwidth of Beta # measurements (in nanometer). CONFIG_X03;n/a;Misc. configuration information;CONFIG_EcoBetaAngle_angularDeg;Angle of Beta measurements (in degrees) CONFIG_X04;n/a;Misc. configuration information;CONFIG_EcoChlaFluorescenceExcitationWavelength_nm;Wavelength of for excitation of fluorescence measurements (in nanometer) diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1021.csv b/decArgo_soft/config/_configParamNames/_config_param_name_1021.csv index 03550ae2..2be642e3 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1021.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1021.csv @@ -45,9 +45,9 @@ CONFIG_TBP;n/a;The maximum pressure in decibars to which the air bladder will in CONFIG_FRET;n/a;The minimum piston position in counts. The buoyancy pump will shut off if the piston position reaches this minimum value.;CONFIG_PistonFullRetraction_COUNT;n/a CONFIG_FEXT;n/a;The maximum piston position in counts. The buoyancy pump will shut off if the piston position reaches this maximum value.;CONFIG_PistonFullExtension_COUNT;n/a PTT_HEX;n/a;The Argos Id in hexadecimal as provided by the Argos service provider.;META_AUX_PTT_HEX;The Argos Id in hexadecimal as provided by the Argos service provider. -CONFIG_SAMPLE01;n/a;n/a;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE02;n/a;n/a;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE03;n/a;n/a;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE04;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE05;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_seconds;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE06;n/a;n/a;CONFIG_DepthZoneNumberOfSamples_NUMBER;Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE01;n/a;n/a;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE02;n/a;n/a;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE03;n/a;n/a;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE04;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE05;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_seconds;Sampling period of the during in the depth zone # (in minutes). +CONFIG_SAMPLE06;n/a;n/a;CONFIG_DepthZoneNumberOfSamples_NUMBER;Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle. diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1021.json b/decArgo_soft/config/_configParamNames/_config_param_name_1021.json index 04777fec..c5534b4d 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1021.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1021.json @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_DPF", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", + "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", "CONF_PARAM_NAME" : "CONFIG_DeepProfileFirstFloat_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Some APEX floats are set to do a profile on deployment. This means that when the float is deployed it skips the drift phase at the PARKING depth and sinks directly to the PROFILE depth and starts ascending for the first profile. Independent of the Park and Profile cycle length, the first profile is always a Deep Profile that begins at the Profile Depth. This means the float returns a CTD profile relatively soon, typically less than a day, after the float is deployed. This feature supports comparison of the initial float profile with a conventional CTD cast from the ship. The result is that the first cycle is of shorter duration with a profile depth equal to PROFILE configuration pressure (regardless of the CONFIG_ParkAndProfileCycleCounter_COUNT configuration information). (Yes = 1, No = 0)." }, @@ -155,7 +155,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_ICEM", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", + "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", "CONF_PARAM_NAME" : "CONFIG_BitMaskMonthsIceDetectionActive_NUMBER", "CONF_PARAM_DESCRIPTION" : "When is ice detection active - months in reverse order" }, @@ -203,7 +203,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_MAP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", + "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", "CONF_PARAM_NAME" : "CONFIG_PressureActivation_dbar", "CONF_PARAM_DESCRIPTION" : "depth at which float is set to pressure activate" }, @@ -301,7 +301,7 @@ "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "The amount of time in minutes the float will remain in the Mission Prelude phase before transitioning to the Park Descent phase. The float will transition to the Park Descent phase only at the end of this period and only if the self test passes or PreludeSelfTest is set to off.", "CONF_PARAM_NAME" : "CONFIG_MissionPreludeTime_minutes", - "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." + "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." }, "CONF_PARAM_39" : { @@ -372,47 +372,47 @@ "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE01", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_48" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE02", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_49" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE03", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_50" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE04", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_51" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE05", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the during in the depth zone # (in minutes)." }, "CONF_PARAM_52" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE06", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." } } diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1022.csv b/decArgo_soft/config/_configParamNames/_config_param_name_1022.csv index b5017a4a..aa4e95ae 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1022.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1022.csv @@ -47,9 +47,9 @@ CONFIG_TBP;n/a;The maximum pressure in decibars to which the air bladder will in CONFIG_FRET;n/a;The minimum piston position in counts. The buoyancy pump will shut off if the piston position reaches this minimum value.;CONFIG_PistonFullRetraction_COUNT;n/a CONFIG_FEXT;n/a;The maximum piston position in counts. The buoyancy pump will shut off if the piston position reaches this maximum value.;CONFIG_PistonFullExtension_COUNT;n/a PTT_HEX;n/a;The Argos Id in hexadecimal as provided by the Argos service provider.;META_AUX_PTT_HEX;The Argos Id in hexadecimal as provided by the Argos service provider. -CONFIG_SAMPLE01;n/a;n/a;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE02;n/a;n/a;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE03;n/a;n/a;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE04;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE05;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_seconds;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE06;n/a;n/a;CONFIG_DepthZoneNumberOfSamples_NUMBER;Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE01;n/a;n/a;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE02;n/a;n/a;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE03;n/a;n/a;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE04;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE05;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_seconds;Sampling period of the during in the depth zone # (in minutes). +CONFIG_SAMPLE06;n/a;n/a;CONFIG_DepthZoneNumberOfSamples_NUMBER;Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle. diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1022.json b/decArgo_soft/config/_configParamNames/_config_param_name_1022.json index b22cdbc9..41116402 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1022.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1022.json @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_DPF", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", + "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", "CONF_PARAM_NAME" : "CONFIG_DeepProfileFirstFloat_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Some APEX floats are set to do a profile on deployment. This means that when the float is deployed it skips the drift phase at the PARKING depth and sinks directly to the PROFILE depth and starts ascending for the first profile. Independent of the Park and Profile cycle length, the first profile is always a Deep Profile that begins at the Profile Depth. This means the float returns a CTD profile relatively soon, typically less than a day, after the float is deployed. This feature supports comparison of the initial float profile with a conventional CTD cast from the ship. The result is that the first cycle is of shorter duration with a profile depth equal to PROFILE configuration pressure (regardless of the CONFIG_ParkAndProfileCycleCounter_COUNT configuration information). (Yes = 1, No = 0)." }, @@ -123,17 +123,17 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_HRC", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", "CONF_PARAM_NAME" : "CONFIG_PistonPositionHyperRetraction_COUNT", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." }, "CONF_PARAM_17" : { "CONF_PARAM_DEC_ID" : "CONFIG_HRP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", "CONF_PARAM_NAME" : "CONFIG_HyperRetractionStopPressure_dbar", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." }, "CONF_PARAM_18" : { @@ -171,7 +171,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_ICEM", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", + "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", "CONF_PARAM_NAME" : "CONFIG_BitMaskMonthsIceDetectionActive_NUMBER", "CONF_PARAM_DESCRIPTION" : "When is ice detection active - months in reverse order" }, @@ -219,7 +219,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_MAP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", + "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", "CONF_PARAM_NAME" : "CONFIG_PressureActivation_dbar", "CONF_PARAM_DESCRIPTION" : "depth at which float is set to pressure activate" }, @@ -317,7 +317,7 @@ "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "The amount of time in minutes the float will remain in the Mission Prelude phase before transitioning to the Park Descent phase. The float will transition to the Park Descent phase only at the end of this period and only if the self test passes or PreludeSelfTest is set to off.", "CONF_PARAM_NAME" : "CONFIG_MissionPreludeTime_minutes", - "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." + "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." }, "CONF_PARAM_41" : { @@ -388,47 +388,47 @@ "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE01", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_50" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE02", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_51" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE03", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_52" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE04", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_53" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE05", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the during in the depth zone # (in minutes)." }, "CONF_PARAM_54" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE06", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." } } diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_105.csv b/decArgo_soft/config/_configParamNames/_config_param_name_105.csv index f286aa8f..200d6511 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_105.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_105.csv @@ -43,11 +43,11 @@ CONF_PARAM_DEC_ID;CONF_PARAM_LABEL;CONF_PARAM_DEFINITION;CONF_PARAM_NAME;CONF_PA 405;255;End month for duration#P;CONFIG_InternalCycleLastGregMonth_MM;Last month to use float cycle duration # (in gregorian month). (D is a number denoting the internal cycle label) 406;255;End year for duration#P;CONFIG_InternalCycleLastGregYear_YYYY;Last year to use float cycle duration # (in gregorian year, two digits). (D is a number denoting the internal cycle label) 407;255;;CONFIG_CycleTime_hours;For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value. -500;251;Sampling period for X in descent to parking depth (in zone #Z) (in seconds);CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). -501;251;Sampling period for X in parking drift (in zone #Z) (in minutes);CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). -502;251;Sampling period for X in descent to profile depth (in zone #Z) (in seconds);CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). -503;251;Sampling period for X in profile depth drift (in zone #Z) (in minutes);CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). -504;251;Sampling period for X in ascent profile (in zone #Z) (in seconds);CONFIG_DepthZoneAscentSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). +500;251;Sampling period for X in descent to parking depth (in zone #Z) (in seconds);CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). +501;251;Sampling period for X in parking drift (in zone #Z) (in minutes);CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). +502;251;Sampling period for X in descent to profile depth (in zone #Z) (in seconds);CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). +503;251;Sampling period for X in profile depth drift (in zone #Z) (in minutes);CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). +504;251;Sampling period for X in ascent profile (in zone #Z) (in seconds);CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). 505;251;Power acquisition mode for X in zone #Z (0 : none, 2 : pulsed, 3 : continuous);CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). 506;251;Treatment type for X in zone #Z (0 : raw, 1 : average, 7 : average/median/standard deviation);CONFIG_DepthZoneDataProcessingMode_NUMBER;Data processing output of the in the depth zone # (0 : raw, 1 : average, 7 : average/median/standard deviation). 508;251;Slices thickness for X in zone #Z (in dbars);CONFIG_DepthZoneSlicesThickness_dbar;Slices thickness for in the depth zone # (in dbars). diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_105.json b/decArgo_soft/config/_configParamNames/_config_param_name_105.json index f3eef7fe..ca84ef16 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_105.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_105.json @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_LABEL" : "0", - "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", + "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", "CONF_PARAM_NAME" : "CONFIG_TelemetryEncodeMessage_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Encode the message before transmission (Yes=1/No=0)." }, @@ -356,7 +356,7 @@ "CONF_PARAM_DEC_ID" : "500", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to parking depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_46" : @@ -364,7 +364,7 @@ "CONF_PARAM_DEC_ID" : "501", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in parking drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone # (in minutes)." }, "CONF_PARAM_47" : @@ -372,7 +372,7 @@ "CONF_PARAM_DEC_ID" : "502", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to profile depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_48" : @@ -380,7 +380,7 @@ "CONF_PARAM_DEC_ID" : "503", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in profile depth drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone # (in minutes)." }, "CONF_PARAM_49" : @@ -388,7 +388,7 @@ "CONF_PARAM_DEC_ID" : "504", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in ascent profile (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_50" : @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "602", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", + "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "607", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "608", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "622", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "623", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -691,7 +691,7 @@ { "CONF_PARAM_DEC_ID" : "669", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", + "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", "CONF_PARAM_NAME" : "CONFIG_SunaDataType_NUMBER", "CONF_PARAM_DESCRIPTION" : "Type of transmitted data from te Suna sensor (0 : nitrate concentration, 1 : APF frame spectrum)." }, diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_106.json b/decArgo_soft/config/_configParamNames/_config_param_name_106.json index f3eef7fe..ca84ef16 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_106.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_106.json @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_LABEL" : "0", - "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", + "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", "CONF_PARAM_NAME" : "CONFIG_TelemetryEncodeMessage_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Encode the message before transmission (Yes=1/No=0)." }, @@ -356,7 +356,7 @@ "CONF_PARAM_DEC_ID" : "500", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to parking depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_46" : @@ -364,7 +364,7 @@ "CONF_PARAM_DEC_ID" : "501", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in parking drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone # (in minutes)." }, "CONF_PARAM_47" : @@ -372,7 +372,7 @@ "CONF_PARAM_DEC_ID" : "502", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to profile depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_48" : @@ -380,7 +380,7 @@ "CONF_PARAM_DEC_ID" : "503", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in profile depth drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone # (in minutes)." }, "CONF_PARAM_49" : @@ -388,7 +388,7 @@ "CONF_PARAM_DEC_ID" : "504", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in ascent profile (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_50" : @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "602", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", + "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "607", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "608", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "622", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "623", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -691,7 +691,7 @@ { "CONF_PARAM_DEC_ID" : "669", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", + "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", "CONF_PARAM_NAME" : "CONFIG_SunaDataType_NUMBER", "CONF_PARAM_DESCRIPTION" : "Type of transmitted data from te Suna sensor (0 : nitrate concentration, 1 : APF frame spectrum)." }, diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_107.json b/decArgo_soft/config/_configParamNames/_config_param_name_107.json index f3eef7fe..ca84ef16 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_107.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_107.json @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_LABEL" : "0", - "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", + "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", "CONF_PARAM_NAME" : "CONFIG_TelemetryEncodeMessage_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Encode the message before transmission (Yes=1/No=0)." }, @@ -356,7 +356,7 @@ "CONF_PARAM_DEC_ID" : "500", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to parking depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_46" : @@ -364,7 +364,7 @@ "CONF_PARAM_DEC_ID" : "501", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in parking drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone # (in minutes)." }, "CONF_PARAM_47" : @@ -372,7 +372,7 @@ "CONF_PARAM_DEC_ID" : "502", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to profile depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_48" : @@ -380,7 +380,7 @@ "CONF_PARAM_DEC_ID" : "503", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in profile depth drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone # (in minutes)." }, "CONF_PARAM_49" : @@ -388,7 +388,7 @@ "CONF_PARAM_DEC_ID" : "504", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in ascent profile (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_50" : @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "602", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", + "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "607", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "608", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "622", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "623", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -691,7 +691,7 @@ { "CONF_PARAM_DEC_ID" : "669", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", + "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", "CONF_PARAM_NAME" : "CONFIG_SunaDataType_NUMBER", "CONF_PARAM_DESCRIPTION" : "Type of transmitted data from te Suna sensor (0 : nitrate concentration, 1 : APF frame spectrum)." }, diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_109.json b/decArgo_soft/config/_configParamNames/_config_param_name_109.json index f3eef7fe..ca84ef16 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_109.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_109.json @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_LABEL" : "0", - "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", + "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", "CONF_PARAM_NAME" : "CONFIG_TelemetryEncodeMessage_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Encode the message before transmission (Yes=1/No=0)." }, @@ -356,7 +356,7 @@ "CONF_PARAM_DEC_ID" : "500", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to parking depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_46" : @@ -364,7 +364,7 @@ "CONF_PARAM_DEC_ID" : "501", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in parking drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone # (in minutes)." }, "CONF_PARAM_47" : @@ -372,7 +372,7 @@ "CONF_PARAM_DEC_ID" : "502", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to profile depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_48" : @@ -380,7 +380,7 @@ "CONF_PARAM_DEC_ID" : "503", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in profile depth drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone # (in minutes)." }, "CONF_PARAM_49" : @@ -388,7 +388,7 @@ "CONF_PARAM_DEC_ID" : "504", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in ascent profile (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_50" : @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "602", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", + "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "607", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "608", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "622", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "623", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -691,7 +691,7 @@ { "CONF_PARAM_DEC_ID" : "669", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", + "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", "CONF_PARAM_NAME" : "CONFIG_SunaDataType_NUMBER", "CONF_PARAM_DESCRIPTION" : "Type of transmitted data from te Suna sensor (0 : nitrate concentration, 1 : APF frame spectrum)." }, diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_110.json b/decArgo_soft/config/_configParamNames/_config_param_name_110.json index f3eef7fe..ca84ef16 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_110.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_110.json @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_LABEL" : "0", - "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", + "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", "CONF_PARAM_NAME" : "CONFIG_TelemetryEncodeMessage_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Encode the message before transmission (Yes=1/No=0)." }, @@ -356,7 +356,7 @@ "CONF_PARAM_DEC_ID" : "500", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to parking depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_46" : @@ -364,7 +364,7 @@ "CONF_PARAM_DEC_ID" : "501", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in parking drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone # (in minutes)." }, "CONF_PARAM_47" : @@ -372,7 +372,7 @@ "CONF_PARAM_DEC_ID" : "502", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to profile depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_48" : @@ -380,7 +380,7 @@ "CONF_PARAM_DEC_ID" : "503", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in profile depth drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone # (in minutes)." }, "CONF_PARAM_49" : @@ -388,7 +388,7 @@ "CONF_PARAM_DEC_ID" : "504", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in ascent profile (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_50" : @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "602", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", + "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "607", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "608", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "622", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "623", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -691,7 +691,7 @@ { "CONF_PARAM_DEC_ID" : "669", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", + "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", "CONF_PARAM_NAME" : "CONFIG_SunaDataType_NUMBER", "CONF_PARAM_DESCRIPTION" : "Type of transmitted data from te Suna sensor (0 : nitrate concentration, 1 : APF frame spectrum)." }, diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_111.csv b/decArgo_soft/config/_configParamNames/_config_param_name_111.csv index 270ccd83..15033d18 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_111.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_111.csv @@ -58,11 +58,11 @@ CONF_PARAM_DEC_ID;CONF_PARAM_MSG_ID;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PA 405;255;End Month for “Cycle Period” 1;CONFIG_InternalCycleLastGregMonth_MM;Last month to use float cycle duration # (in gregorian month). (D is a number denoting the internal cycle label) 406;255;End Year for “Cycle Period” 1;CONFIG_InternalCycleLastGregYear_YYYY;Last year to use float cycle duration # (in gregorian year, two digits). (D is a number denoting the internal cycle label) 407;-1;Cycle duration;CONFIG_CycleTime_hours;For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value. -500;251;Sampling period for X in descent to parking depth (in zone #Z) (in seconds);CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). -501;251;Sampling period for X in parking drift (in zone #Z) (in minutes);CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). -502;251;Sampling period for X in descent to profile depth (in zone #Z) (in seconds);CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). -503;251;Sampling period for X in profile depth drift (in zone #Z) (in minutes);CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). -504;251;Sampling period for X in ascent profile (in zone #Z) (in seconds);CONFIG_DepthZoneAscentSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). +500;251;Sampling period for X in descent to parking depth (in zone #Z) (in seconds);CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). +501;251;Sampling period for X in parking drift (in zone #Z) (in minutes);CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). +502;251;Sampling period for X in descent to profile depth (in zone #Z) (in seconds);CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). +503;251;Sampling period for X in profile depth drift (in zone #Z) (in minutes);CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). +504;251;Sampling period for X in ascent profile (in zone #Z) (in seconds);CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). 505;251;Power acquisition mode for X in zone #Z (0 : none, 2 : pulsed, 3 : continuous);CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). 506;251;Treatment type for X in zone #Z (0 : raw, 1 : average, 7 : average/median/standard deviation);CONFIG_DepthZoneDataProcessingMode_NUMBER;Data processing output of the in the depth zone # (0 : raw, 1 : average, 7 : average/median/standard deviation). 508;251;Slices thickness for X in zone #Z (in dbars);CONFIG_DepthZoneSlicesThickness_dbar;Slices thickness for in the depth zone # (in dbars). diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_111_prev.csv b/decArgo_soft/config/_configParamNames/_config_param_name_111_prev.csv deleted file mode 100644 index e719363b..00000000 --- a/decArgo_soft/config/_configParamNames/_config_param_name_111_prev.csv +++ /dev/null @@ -1,145 +0,0 @@ -CONF_PARAM_DEC_ID;CONF_PARAM_MSG_ID;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PARAM_DESCRIPTION -100;248;Session time-out (in minutes);CONFIG_ConnectionTimeOut_minutes;Connection time-out, i.e. maximum transmission period for one telemetry session -101;248;First hanging Time-out (in minutes);CONFIG_ConnectionFailureTimeOut_minutes;Is the maximum time allowed for the float to connect to the RUDICS server, i.e. it tries to connect during 30 minutes (values set for these floats) if it fails it is probably because it is under ice (that has not been detected by ISA or hanging algorithms). -102;248;Full Auto-test (Rudics server connection test at mission begin);CONFIG_TelemetryAutoTestAtDeployment_LOGICAL;Perform a full auto-test (RUDICS server connection test) at float deployment (Yes=1/No=0).A full auto-test includes a connection test on the RUDICS server and a GPS fix acquisition. -103;248;SBD positioning activation;CONFIG_RudicsAndIridiumSession_LOGICAL;This float has a RUDICS transmission system. However it is able to connect to Iridium if the user want to get one Iridium position for each cycle. -104;248;Send SBD positioning only on GPS default;CONFIG_RudicsAndIridiumSessionWhenNoGPS_LOGICAL;For RUDICS transmission floats, perform also one Iridium session (to get an Iridium position) when the GPS fix is not valid. -200;254;Max eV activation on Surface (in csec);CONFIG_SurfaceValveMaxTimeAdditionalActions_csec;Maximum duration of the additional valve actions performed at the surface during the buoyancy reduction phase (in centi-seconds). -201;254;Valve activations target (in number of actions);CONFIG_SurfaceValveAdditionalActions_COUNT;Target number of additional valve actions performed at the surface during the buoyancy reduction phase. -202;254;Pressure timing period during buoyancy reduction (in sec);CONFIG_PressureCheckTimeBuoyancyReductionPhase_seconds;Time delay after each valve action before checking the pressure during the buoyancy reduction phase (in seconds). -203;254;Pressure timing period during ascent (in min);CONFIG_PressureCheckTimeAscent_minutes;Period of the pressure checks during the float ascent to surface (in minutes). -204;254;Max volume eV during descent and repositionning (in cm3);CONFIG_OilVolumeMaxPerValveAction_cm^3;This information is used as a threshold for the valve action durations. The valve flow is known for each float and CONFIG_OilVolumeMaxPerValveAction_cm^3 is converted to a maxDurationOfValveAction. During descent phases the float regularly computes a valve duration to sink to the target depth. In some specific cases the result can be a huge valve action duration and the result must be thresholded by maxDurationOfValveAction. So yes, this information is a configuration parameter (and for Remocean float it can be modified via remote controls, but of course by specialist in PROVOR vector configuration). -205;254;Max duration pump during repositioning (in csec);CONFIG_PumpActionMaxTimeReposition_csec;Maximum duration of the pump action for a drift readjustment (in centi-seconds). -206;254;Duration pump during ascent (in csec);CONFIG_PumpActionMaxTimeAscent_csec;Maximum duration of a pump action during ascent (in centi-seconds). -207;254;Duration pump during surfacing (in csec);CONFIG_PumpActionTimeBuoyancyAcquisition_csec;Duration of the last pump action of the buoyancy acquisition phase (in centi-seconds). -208;254;Pressure delta for positioning (in dBars);CONFIG_PressureTargetToleranceForStabilisation_dbar;Defines the target pressure interval for float stabilisation at parking or profile depth (in dbars). -209;254;Max pressure before emergency ascent (in dBars);CONFIG_PressureMaxBeforeEmergencyAscent_dbar;Emergency ascent phase start pressure (in dbars). -210;254;1st threshold for buoyancy reduction (in dBars);CONFIG_BuoyancyReductionFirstThreshold_dbar;First threshold of the buoyancy reduction phase (in dbars). From the surface to this first threshold, the float performs one initial valve action (of a computed duration) and N1 additional valve actions (of fixed durations) until the crossing of this first threshold. -211;254;2nd threshold for buoyancy reduction (in dBars);CONFIG_BuoyancyReductionSecondThreshold_dbar;Second threshold of the buoyancy reduction phase (in dbars). From the first threshold to this second threshold, the float performs N2 additional valve actions (of computed durations) until the crossing of this second threshold. The descent to park phase starts at the crossing of this second threshold. -212;254;Repositionning threshold (in number of measurements);CONFIG_NumberOfOutOfTolerancePresBeforeReposition_COUNT;Number of consecutive pressure measurements outside the target pressure interval before performing a drift readjustment. -213;254;Grounding mode (0 = pressure switch, 1 stay grounded) VERIFIER QUE INVERSION DANS DECODEUR ACTUEL;CONFIG_GroundingMode_LOGICAL;Action performed by the float when a grounding is detected. 0: the float changes its drift pressure, 1: the float stays on the seabed until the next phase of the cycle. -214;254;Max volume before detecting grounding (in cm3);CONFIG_OilVolumeMinForGroundingDetection_cm^3;This information is a threshold used to detect a grounding of the float. If there is no vertical motion after having tranfered CONFIG_OilVolumeMinForGroundingDetection_cm^3 through the valve, the gounded flag is activated and the float acts as configurated by the CONFIG_GroundingMode_LOGICAL parameter.So, yes it is a configuration parameter (and I can easily understand that it can be modified via remote control since some PROVOR floats have experienced erroneous grounding detection (under study but perhaps due to in-situ conditions). -215;254;Grounding pressure (in dBars);CONFIG_GroundingModeMinPresThreshold_dbar;If in grounding mode 0, the float changes its drift pressure only if its current pressure is greater than this value. -216;254;Grounding switch pressure (in dBars);CONFIG_GroundingModePresAdjustment_dbar;If in grounding mode 0, the float changes its drift pressure to its programmed one minus this value only if its current pressure is greater than this value. -217;254;Pressure delta during drift (in dBars);CONFIG_PressureTargetToleranceDuringDrift_dbar;Defines the target pressure interval for float drift at parking or profile depth (in dbars). -218;254;Average descent speed (in mm/sec);CONFIG_DescentSpeed_mm/s;Descent speed during downcast in mm/s (can be used to estimate the time to descent from parking pressure to profile pressure) -219;254;Min ascent speed (in mm/sec);CONFIG_AscentSpeedMin_mm/s;Float minimum ascent speed before activating the pump (in mm/second). -220;254;Average ascent speed (in mm/sec);CONFIG_AscentSpeed_mm/s;ascent speed during upcast in mm/s or cm/s (can be used to estimate the profile duration) -221;254;Wait period on surface after Emergency ascent (in min);CONFIG_SurfaceWaitPeriodAfterEmergencyAscent_minutes;Duration of the specific surface phase that occurs after an emergency ascent of the float. -223;254;Number of retries per SBD commands on error;CONFIG_TelemetryMaxRetrySecondary_COUNT;Some float versions have a secondary telemetry system, in this case the float is able to perform an Iridium session (to get one Iridium position) in addition to the RUDICS version used in the main telemetry session specified by CONFIG_TelemetryMaxRetry_COUNT -224;254;Buoyancy inversion : Offset pressure;CONFIG_IceDetectionDescentVerticalThresholdToEndBuoyancyInversionPhase_dbar;When the cycle is aborted this threshold is used to detect speed inversion and to stop buoyancy inversion phase. -225;254;Buoyancy inversion : Volume of first EV activation;CONFIG_IceDetectionOilVolumeForFirstValveAction_cm^3;Volume of the first valve action of a buoyancy inversion phase. -226;254;Buoyancy inversion : Volume of next EV activation;CONFIG_IceDetectionOilVolumePerValveAction_cm^3;Valve action duration during the buoyancy inversion phase. -227;254;Buoyancy inversion : Maximum volume of EV activation;CONFIG_IceDetectionOilVolumeMinForGroundingDetection_cm^3;Similar to CONFIG_OilVolumeMinForGroundingDetection_cm^3 but for a float in a buoyancy inversion phase. -228;254;Coef 1;CONFIG_InternalPressureCalibrationCoef1_NUMBER;First coefficient used to compute float internal pressure in mBars from sensor counts. -229;254;Coef 2;CONFIG_InternalPressureCalibrationCoef2_NUMBER;Second coefficient used to compute float internal pressure in mBars from sensor counts. -700;254;Number of days without emergence;CONFIG_IceDetectionSpringInhibitionDelaySinceLastIceEvasion_days;Maximum delay (in days/cycles) since the last ice evasiondate to attempt a surfacing. This is often called the 'Spring', where the float stays underwater for a time even though the temperature has warmed. -701;254;Number of days to force emergence;CONFIG_IceDetectionMaxDaysNoTransmission_NUMBER;Maximum delay (in days/cycles) of no transmission due to the ice detection algorithm. This parameter is used to disable the ice detection algorithmand force the float to surface even if ice is detected. -702;254;Number of detection (ISA) to confirm ICE at surface;CONFIG_IceDetectionConsecutiveDetectionBeforeFloatSurfaceInhibition_NUMBER;Number of consecutive ISA detections before float surface inhibition.If fewer consecutive ice detections are made, then the float will immediately seek the surface if mixed layer temp is warm. -703;254;Slowdown pressure threshold (float’s speed);CONFIG_AscentSpeedStartPressureThresholdForSlowPhase_dbar;Pressure threshold to start the slow ascent speed phase. -704;254;Pressure acquisition period during ascent;CONFIG_IceDetectionPressureInterval_dbar;Period of the ice detection algorithm. -705;254;Minimum ascent speed during “slow ascent”;CONFIG_IceDetectionAscentVerticalThresholdForBuoyancyAction_mm/s;Similar to CONFIG_AscentVerticalThresholdForBuoyancyAction_dbar but for a float in ice detection mode. -706;254;Pump action duration;CONFIG_IceDetectionPumpActionMaxTimeAscent_csec;Similar to CONFIG_PumpActionMaxTimeAscent_csec but for a float in ice detection mode. -707;254;GPS Timeout;CONFIG_GPSTimeout_minutes;Timeout for GPS acquisition. -708;254;Max volume to detect ascent blocking;CONFIG_IceDetectionNoVerticalMotionTimeOut_cm^3;When the float is in ice detection mode if, despite of pump actions, no vertical motion is detected during this delay, the cycle is aborted. -300;255;Number of different profiles per cycle (1 to 10);CONFIG_NumberOfSubCycles_NUMBER;Number of sub-cycles performs by the float during one float cycle. -301;255;Delay before mission (min);CONFIG_DelayBeforeMissionStart_minutes;Float waiting period before the first cycle of its mission (in minutes). -302;255;Reference day (mission day);CONFIG_FloatReferenceDay_FloatDay;Profiler configuration - Reference day, for PROVOR and ARVOR floats this is: The day number on which the first profile is to be made. The day when the mission starts is zero. -303;255;Day for sub-cycle #N surfacing (mission day);CONFIG_SurfaceDay_FloatDay;Day of the float surfacing -304;255;Estimated hour on surface for sub-cycle #N;CONFIG_SurfaceTime_HH;Hour of the float surfacing -305;255;Parking depth #N (dbar);CONFIG_ParkPressure_dbar;park pressure - this may change if the float is reprogrammed and must be reported in the mission configuration settings -306;255;Profile depth #N (dbar);CONFIG_ProfilePressure_dbar;profile pressure - this may change if the float is reprogrammed and must be reported in the mission configuration settings -307;255;Transmission after the sub-cycle #N (1/0 = Yes/No);CONFIG_TransmissionEndCycle_LOGICAL;The float performs a telemetry transmission at the end of the cycle (Yes=1/No=0). -400;255;Number of different cycle duration (always 1);CONFIG_NumberOfInternalCycles_COUNT;Number of internal cycles. Note that the sub-cycle (i.e. final Argo cycle) durations are not really defined they are deduced from CONFIG_SurfaceDay_FloatDay and CONFIG_SurfaceTime_HH). -401;255;Iridium 2nd session waiting time (0 means no second session) (min);CONFIG_TransmissionPeriodEndOfLife_minutes;Period of the Iridium transmission when in End Of Life mode (in minutes). -402;255;Iridium 2nd session waiting time (min);CONFIG_TelemetryRepeatSessionDelay_minutes;Delay before a second Iridium session performed by the float just before diving for a new cycle (in minutes). -403;255;Cycle Period 1 (in hours);CONFIG_InternalCycleTime_hours;Internal cycle duration # (in hours). (D is a number denoting the internal cycle label) -404;255;End Day for “Cycle Period” 1;CONFIG_InternalCycleLastGregDay_DD;Last day to use float cycle duration # (in gregorian day). (D is a number denoting the internal cycle label) -405;255;End Month for “Cycle Period” 1;CONFIG_InternalCycleLastGregMonth_MM;Last month to use float cycle duration # (in gregorian month). (D is a number denoting the internal cycle label) -406;255;End Year for “Cycle Period” 1;CONFIG_InternalCycleLastGregYear_YYYY;Last year to use float cycle duration # (in gregorian year, two digits). (D is a number denoting the internal cycle label) -407;-1;Cycle duration;CONFIG_CycleTime_hours;For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value. -500;251;Sampling period for X in descent to parking depth (in zone #Z) (in seconds);CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). -501;251;Sampling period for X in parking drift (in zone #Z) (in minutes);CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). -502;251;Sampling period for X in descent to profile depth (in zone #Z) (in seconds);CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). -503;251;Sampling period for X in profile depth drift (in zone #Z) (in minutes);CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). -504;251;Sampling period for X in ascent profile (in zone #Z) (in seconds);CONFIG_DepthZoneAscentSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). -505;251;Power acquisition mode for X in zone #Z (0 : none, 2 : pulsed, 3 : continuous);CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). -506;251;Treatment type for X in zone #Z (0 : raw, 1 : average, 7 : average/median/standard deviation);CONFIG_DepthZoneDataProcessingMode_NUMBER;Data processing output of the in the depth zone # (0 : raw, 1 : average, 7 : average/median/standard deviation). -508;251;Slices thickness for X in zone #Z (in dbars);CONFIG_DepthZoneSlicesThickness_dbar;Slices thickness for in the depth zone # (in dbars). -509;251;Threshold zone #1 / zone #2 for X;CONFIG_DepthZoneDepthZonePressureThreshold_dbar;Threshold between depth zone #N and depth zone #N+1 for (in dbars). -600;251;CTD power warm-up time (msec);CONFIG_WarmUpTime_msec;Time, needed after the is powered ON, to provide its first sample (in milli-seconds). -601;251;Power OFF time between power ON retry of CTD (msec);CONFIG_PowerSwitchDelayMin_msec;Minimum waiting time needed by the between a switch OFF and a switch ON (in milli-seconds). -602;251;1st «valid sample» rank of CTD;CONFIG_FirstValidSample_NUMBER;Rank of the first valid sample provided by the (0 is the rank of the first sample). -604;251;Cut-off pressure of CTD (dbar);CONFIG_CTDPumpStopPressure_dbar;The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity. -605;251;Min pressure of CTD (dbar);CONFIG_CtdMinTransmittedPressure_dbar;Minimum value of transmitted Ctd pressure measurements (in dbars). -606;251;Max pressure of CTD (dbar);CONFIG_CtdMaxTransmittedPressure_dbar;Maximum value of transmitted Ctd pressure measurements (in dbars). -607;251;Min temperature of CTD (m°C);CONFIG_CtdMinTransmittedTemperature_mdegC;Minimum value of transmitted Ctd temperature measurements (in milli-DegC). -608;251;Max temperature of CTD (m°C);CONFIG_CtdMaxTransmittedTemperature_mdegC;Maximum value of transmitted Ctd temperature measurements (in milli-DegC). -609;251;Min salinity of CTD (mPSU);CONFIG_CtdMinTransmittedSalinity_mpsu;Minimum value of transmitted Ctd salinity measurements (in milli-PSU). -610;251;Max salinity of CTD (mPSU);CONFIG_CtdMaxTransmittedSalinity_mpsu;Maximum value of transmitted Ctd salinity measurements (in milli-PSU). -613;251;Extrude acquisition during hydraulic pump activation;CONFIG_IgnoreSamplesWhenPumpActive_LOGICAL;Ignore sample measurements acquired while the hydraulic pump is running. Values: Yes = 1, No = 0 -614;251;ISA Mode;CONFIG_IceDetectionISAMode_NUMBER;Mode of the ISA ice detection algorithm (see float manual for details). For this firmware Mar 2018 the values are (0: not used, 1: algorithm based on temperature median value, 2: algorithm based on temperature median value and associated salinities) -615;251;ISA Start pressure (dbar);CONFIG_IceDetectionMixedLayerPMax_dbar;Maximum sampling pressure used by ice cover detection algorithm. i.e. start pressure threshold for the ice detection algorithm. -616;251;ISA Stop pressure (dbar);CONFIG_IceDetectionMixedLayerPMin_dbar;Minimum sampling pressure used by ice cover detection algorithm. -617;251;Median temperature (m°C);CONFIG_IceDetection_degC;Ice temperature in [degree Celsius/1e3] where profiles are aborted because of ice formation conditions -618;251;Median salinity (mPSU);CONFIG_AUX_IceDetectionSalinity_mpsu;Ice temperature in [degree Celsius/1e3] where profiles are aborted because of ice formation conditions -619;-1;Cut-off pressure of the ascent profile;CONFIG_CTDPumpStopPressurePlusThreshold_dbar;The sum of CONFIG_CTDPumpStopPressure_dbar plus a pressure threshold or overlap (Poverlap). For PROVOR floats, Poverlap is defined as follows: Poverlap = bin_size/2 for PROVOR floats with software versions < 5816A00 and ARVOR floats with software versions < 5605A00. Poverlap = 0.5 dbar for PROVOR floats with software versions >= 5816A00 and ARVOR floats with software versions >=5605A00. -624;251;Min C1 phase of OPTODE (deg);CONFIG_OptodeMinTransmittedC1Phase_angularDeg;Minimum value of transmitted Optode C1 phase measurements (in degrees). -625;251;Max C1 phase of OPTODE (deg);CONFIG_OptodeMaxTransmittedC1Phase_angularDeg;Maximum value of transmitted Optode C1 phase measurements (in degrees). -626;251;Min C2 phase of OPTODE (deg);CONFIG_OptodeMinTransmittedC2Phase_angularDeg;Minimum value of transmitted Optode C2 phase measurements (in degrees). -627;251;Max C2 phase of OPTODE (deg);CONFIG_OptodeMaxTransmittedC2Phase_angularDeg;Maximum value of transmitted Optode C2 phase measurements (in degrees). -628;251;Min T° of OPTODE (m°C);CONFIG_OptodeMinTransmittedTemperature_mdegC;Minimum value of transmitted Optode temperature measurements (in milli-DegC). -629;251;Max T° of OPTODE (m°C);CONFIG_OptodeMaxTransmittedTemperature_mdegC;Maximum value of transmitted Optode temperature measurements (in milli-DegC). -635;251;Min irradiance 1 of OCR;CONFIG_OcrMinTransmittedDownIrr_COUNT;Minimum value of transmitted Ocr # measurements (in counts). -636;251;Max irradiance 1 of OCR;CONFIG_OcrMaxTransmittedDownIrr_COUNT;Maximum value of transmitted Ocr # measurements (in counts). -641;251;Min irradiance 4 of OCR;CONFIG_OcrMinTransmittedPar_COUNT;Minimum value of transmitted Ocr Photosynthetic Active Radiation measurements (in counts). -642;251;Max irradiance 4 of OCR;CONFIG_OcrMaxTransmittedPar_COUNT;Maximum value of transmitted Ocr Photosynthetic Active Radiation measurements (in counts). -648;251;Min scattering of ECO3 (counts);CONFIG_EcoMinTransmittedBeta_COUNT;Minimum value of transmitted beta measurements (in counts). -649;251;Max scattering of ECO3 (counts);CONFIG_EcoMaxTransmittedBeta_COUNT;Minimum value of transmitted beta measurements (in counts). -650;251;Min CDOM of ECO3 (counts);CONFIG_EcoMinTransmittedCdomFluorescence_COUNT;Minimum value of transmitted Fluorescence of measurements (in counts). -651;251;Max CDOM of ECO3 (counts);CONFIG_EcoMaxTransmittedCdomFluorescence_COUNT;Minimum value of transmitted Fluorescence of measurements (in counts). -652;251;Min chlorophyll of ECO3 (counts);CONFIG_EcoMinTransmittedChlaFluorescence_COUNT;Minimum value of transmitted Fluorescence of measurements (in counts). -653;251;Max chlorophyll of ECO3 (counts);CONFIG_EcoMaxTransmittedChlaFluorescence_COUNT;Minimum value of transmitted Fluorescence of measurements (in counts). -659;251;Min chlorophyll of FLNTU;CONFIG_FlntuMinTransmittedChlaFluorescence_COUNT;Minimum value of transmitted Fluorescence of measurements (in counts). -660;251;Max chlorophyll of FLNTU;CONFIG_FlntuMaxTransmittedChlaFluorescence_COUNT;Minimum value of transmitted Fluorescence of measurements (in counts). -661;251;Min turbidity of FLNTU;CONFIG_FlntuMaxTransmittedTurbidity_COUNT;Maximum value of transmitted Flntu turbidity measurements (in counts). -662;251;Max turbidity of FLNTU;CONFIG_FlntuMinTransmittedTurbidity_COUNT;Minimum value of transmitted Flntu turbidity measurements (in counts). -673;251;Min beam attenuation of CROVER;CONFIG_CroverMinTransmittedBeamAttenuation_m^-1 ;Minimum value of transmitted Crover beam attenuation measurements (in 1/m). -674;251;Max beam attenuation of CROVER;CONFIG_CroverMaxTransmittedBeamAttenuation_m^-1 ;Maximum value of transmitted Crover beam attenuation measurements (in 1/m). -680;251;"« APF Frame » transmission of SUNA (""nitrate concentration"" = 0, ""spectrum APF frame"" = 1)";CONFIG_SunaDataType_NUMBER;Type of transmitted data from te Suna sensor (0 : nitrate concentration, 1 : APF frame spectrum). -681;251;Min concentration of SUNA;CONFIG_SunaMinTransmittedNitrateConcentration_umol/L;Minimum value of transmitted Suna nitrate concentration measurements (in micro-Mol/L). -682;251;Max concentration of SUNA;CONFIG_SunaMaxTransmittedNitrateConcentration_umol/L;Maximum value of transmitted Suna nitrate concentration measurements (in micro-Mol/L). -100000;-1;Not in float user manual;CONFIG_VectorBoardShowModeOn_LOGICAL;Is the vector board show mode ON? (Yes/No). -100001;-1;Not in float user manual;CONFIG_SensorBoardShowModeOn_LOGICAL;Is the sensor board show mode ON? (Yes/No). -100002;-1;Not in float user manual;CONFIG_BitMaskMonthsIceDetectionActive_NUMBER;This parameter indicates for which months the ice detection algorithm is active. The bit mask is input as a 3 digit hexadecimal value in the mission file sent to the float. This parameter in the metadata file however is the decimal number of that hexadecimal value. For example for the Southern Hemisphere the default position is to have the ice detection algorithm active for all months except February. (The hexadecimal value in the mission file is 'FFD' and the number for the configuration parameter in the metafile would be 4093). The northern hemisphere default would be all months active except for August. In this case the hexadecimal value is 'F7F' and the number in the configuration parameter in the metafile would be 3967). -100003;253;Vector firmware checksum;CONFIG_AUX_NUMBER_VectorBoardFirmwareChecksum_NUMBER;Checksum of the vector board firmware. -100004;253;Measure firmware checksum;CONFIG_AUX_NUMBER_SensorBoardFirmwareChecksum_NUMBER;Checksum of the sensor board firmware. -116003;-1;Not in float user manual;CONFIG_SunaApfFrameOutputPixelBegin_NUMBER;The Apf frame definition allows for a variable number of spectrometer pixels (also called channels) to be included in the frame. The two pixel values are configured indirectly via the wavelength range of the spectrum to be output (Suna Hardware Manual, section 4.2.3, input/output configuration parameters, data wavelength low/high.) The firmware converts the wavelength values to spectrometer pixels. -116004;-1;Not in float user manual;CONFIG_SunaApfFrameOutputPixelEnd_NUMBER;The Apf frame definition allows for a variable number of spectrometer pixels (also called channels) to be included in the frame. The two pixel values are configured indirectly via the wavelength range of the spectrum to be output (Suna Hardware Manual, section 4.2.3, input/output configuration parameters, data wavelength low/high.) The firmware converts the wavelength values to spectrometer pixels. -115001;-1;Not in float user manual;CONFIG_CroverInPumpedStream_LOGICAL;Bio Argo sensors can either be mounted separately to the Ctd or mounted within the Ctd pumped stream. Values: Yes = 1, No = 0 -115006;-1;Not in float user manual;CONFIG_CroverBeamAttenuationWavelength_nm;Wavelength of Crover for Beam attenuation measurements (in nanometer) -115000;-1;Not in float user manual;CONFIG_CroverVerticalPressureOffset_dbar;vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure -113002;-1;Not in float user manual;CONFIG_EcoBetaAngle_angularDeg;Angle of Beta measurements (in degrees) -133011;-1;Not in float user manual;CONFIG_EcoBetaBandwidth1_nm;Bandwidth of EcoBeta #1measurements (in nanometer). -133010;-1;Not in float user manual;CONFIG_EcoBetaWavelength1_nm;Wavelength of Eco Beta #1 measurements (in nanometer). -123103;-1;Not in float user manual;CONFIG_EcoCdomFluorescenceEmissionBandwidth_nm;Bandwidth of Eco for emission of Cdom fluorescence measurements (in nanometer) -123101;-1;Not in float user manual;CONFIG_EcoCdomFluorescenceEmissionWavelength_nm;Wavelength of Eco for emission of Cdom fluorescence measurements (in nanometer) -123102;-1;Not in float user manual;CONFIG_EcoCdomFluorescenceExcitationBandwidth_nm;Bandwidth of Eco for excitation of Cdom fluorescence measurements (in nanometer) -123100;-1;Not in float user manual;CONFIG_EcoCdomFluorescenceExcitationWavelength_nm;Wavelength of Eco for excitation of Cdom fluorescence measurements (in nanometer) -123003;-1;Not in float user manual;CONFIG_EcoChlaFluorescenceEmissionBandwidth_nm;Bandwidth of Eco for emission of Chla fluorescence measurements (in nanometer) -123001;-1;Not in float user manual;CONFIG_EcoChlaFluorescenceEmissionWavelength_nm;Wavelength of Eco for emission of Chla fluorescence measurements (in nanometer) -123002;-1;Not in float user manual;CONFIG_EcoChlaFluorescenceExcitationBandwidth_nm;Bandwidth of Eco for excitation of Chla fluorescence measurements (in nanometer) -123000;-1;Not in float user manual;CONFIG_EcoChlaFluorescenceExcitationWavelength_nm;Wavelength of Eco for excitation of Chla fluorescence measurements (in nanometer) -113000;-1;Not in float user manual;CONFIG_EcoVerticalPressureOffset_dbar;vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure -132013;-1;Not in float user manual;CONFIG_OcrDownIrrBandwidth1_nm;Bandwidth of Ocr DownIrr #1 measurements (in nanometer). -132023;-1;Not in float user manual;CONFIG_OcrDownIrrBandwidth2_nm;Bandwidth of Ocr DownIrr #2 measurements (in nanometer). -132033;-1;Not in float user manual;CONFIG_OcrDownIrrBandwidth3_nm;Bandwidth of Ocr DownIrr #3 measurements (in nanometer). -132012;-1;Not in float user manual;CONFIG_OcrDownIrrWavelength1_nm;Wavelength of Ocr DownIrr #1measurements (in nanometer). -132022;-1;Not in float user manual;CONFIG_OcrDownIrrWavelength2_nm;Wavelength of Ocr DownIrr #2 measurements (in nanometer). -132032;-1;Not in float user manual;CONFIG_OcrDownIrrWavelength3_nm;Wavelength of Ocr DownIrr #3 measurements (in nanometer). -112000;-1;Not in float user manual;CONFIG_OcrVerticalPressureOffset_dbar;vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure -111000;-1;Not in float user manual;CONFIG_OptodeVerticalPressureOffset_dbar;vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure -111007;-1;Not in float user manual;CONFIG_OptodeMeasurementsInAir_LOGICAL;Sensors can be mounted on a stick to perform measurements in Air. Values: Yes = 1, No = 0 -111008;-1;Not in float user manual;CONFIG_OptodeTimePressureOffset_seconds;Time interval between optode and pressure measurements due to the fact that the optode answer is not simultaneous with the CTD/pressure answer -116000;-1;Not in float user manual;CONFIG_SunaVerticalPressureOffset_dbar;vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure -116005;-1;Not in float user manual;CONFIG_SunaWithScoop_LOGICAL;Suna with scoop which redirects flow through Suna optics diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_112.json b/decArgo_soft/config/_configParamNames/_config_param_name_112.json index f3eef7fe..ca84ef16 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_112.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_112.json @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_LABEL" : "0", - "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", + "CONF_PARAM_DEFINITION" : "« Base64 » Message encoding (Yes/No = 1/0)", "CONF_PARAM_NAME" : "CONFIG_TelemetryEncodeMessage_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Encode the message before transmission (Yes=1/No=0)." }, @@ -356,7 +356,7 @@ "CONF_PARAM_DEC_ID" : "500", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to parking depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_46" : @@ -364,7 +364,7 @@ "CONF_PARAM_DEC_ID" : "501", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in parking drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone # (in minutes)." }, "CONF_PARAM_47" : @@ -372,7 +372,7 @@ "CONF_PARAM_DEC_ID" : "502", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in descent to profile depth (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_48" : @@ -380,7 +380,7 @@ "CONF_PARAM_DEC_ID" : "503", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in profile depth drift (in zone #Z) (in minutes)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone # (in minutes)." }, "CONF_PARAM_49" : @@ -388,7 +388,7 @@ "CONF_PARAM_DEC_ID" : "504", "CONF_PARAM_LABEL" : "251", "CONF_PARAM_DEFINITION" : "Sampling period for X in ascent profile (in zone #Z) (in seconds)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_50" : @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "602", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", + "CONF_PARAM_DEFINITION" : "1st «valid sample» rank of CTD", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "607", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Min temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "608", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", + "CONF_PARAM_DEFINITION" : "Max temperature of CTD (m°C)", "CONF_PARAM_NAME" : "CONFIG_CtdMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Ctd temperature measurements (in milli-DegC)." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "622", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Min T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMinTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Minimum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "623", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", + "CONF_PARAM_DEFINITION" : "Max T° of OPTODE (m°C)", "CONF_PARAM_NAME" : "CONFIG_OptodeMaxTransmittedTemperature_mdegC", "CONF_PARAM_DESCRIPTION" : "Maximum value of transmitted Optode temperature measurements (in milli-DegC)." }, @@ -691,7 +691,7 @@ { "CONF_PARAM_DEC_ID" : "669", "CONF_PARAM_LABEL" : "251", - "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", + "CONF_PARAM_DEFINITION" : "« APF Frame » transmission of SUNA (nitrate concentration = 0, spectrum APF frame = 1)", "CONF_PARAM_NAME" : "CONFIG_SunaDataType_NUMBER", "CONF_PARAM_DESCRIPTION" : "Type of transmitted data from te Suna sensor (0 : nitrate concentration, 1 : APF frame spectrum)." }, diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1121.json b/decArgo_soft/config/_configParamNames/_config_param_name_1121.json index 004c3791..12c1ad17 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1121.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1121.json @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_DPF", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", + "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", "CONF_PARAM_NAME" : "CONFIG_DeepProfileFirstFloat_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Some APEX floats are set to do a profile on deployment. This means that when the float is deployed it skips the drift phase at the PARKING depth and sinks directly to the PROFILE depth and starts ascending for the first profile. Independent of the Park and Profile cycle length, the first profile is always a Deep Profile that begins at the Profile Depth. This means the float returns a CTD profile relatively soon, typically less than a day, after the float is deployed. This feature supports comparison of the initial float profile with a conventional CTD cast from the ship. The result is that the first cycle is of shorter duration with a profile depth equal to PROFILE configuration pressure (regardless of the CONFIG_ParkAndProfileCycleCounter_COUNT configuration information). (Yes = 1, No = 0)." }, @@ -123,17 +123,17 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_HRC", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", "CONF_PARAM_NAME" : "CONFIG_PistonPositionHyperRetraction_COUNT", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." }, "CONF_PARAM_17" : { "CONF_PARAM_DEC_ID" : "CONFIG_HRP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", "CONF_PARAM_NAME" : "CONFIG_HyperRetractionStopPressure_dbar", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." }, "CONF_PARAM_18" : { @@ -171,7 +171,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_ICEM", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", + "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", "CONF_PARAM_NAME" : "CONFIG_BitMaskMonthsIceDetectionActive_NUMBER", "CONF_PARAM_DESCRIPTION" : "When is ice detection active - months in reverse order" }, @@ -219,7 +219,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_MAP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", + "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", "CONF_PARAM_NAME" : "CONFIG_PressureActivation_dbar", "CONF_PARAM_DESCRIPTION" : "depth at which float is set to pressure activate" }, @@ -317,7 +317,7 @@ "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "The amount of time in minutes the float will remain in the Mission Prelude phase before transitioning to the Park Descent phase. The float will transition to the Park Descent phase only at the end of this period and only if the self test passes or PreludeSelfTest is set to off.", "CONF_PARAM_NAME" : "CONFIG_MissionPreludeTime_minutes", - "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." + "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." }, "CONF_PARAM_41" : { @@ -388,48 +388,48 @@ "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE01", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_50" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE02", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_51" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE03", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_52" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE04", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_53" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE05", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the during in the depth zone # (in minutes)." }, "CONF_PARAM_54" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE06", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_55" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1122.csv b/decArgo_soft/config/_configParamNames/_config_param_name_1122.csv index 45e95b2b..d608a4bc 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1122.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1122.csv @@ -51,12 +51,12 @@ CONFIG_TBP;n/a;The maximum pressure in decibars to which the air bladder will in CONFIG_FRET;n/a;The minimum piston position in counts. The buoyancy pump will shut off if the piston position reaches this minimum value.;CONFIG_PistonFullRetraction_COUNT;n/a CONFIG_FEXT;n/a;The maximum piston position in counts. The buoyancy pump will shut off if the piston position reaches this maximum value.;CONFIG_PistonFullExtension_COUNT;n/a CONFIG_COP;n/a;Cutoff pressure of the CTD pump.;CONFIG_CTDPumpStopPressure_dbar;The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity. -CONFIG_SAMPLE01;n/a;n/a;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE02;n/a;n/a;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE03;n/a;n/a;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE04;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE05;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_seconds;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE06;n/a;n/a;CONFIG_DepthZoneNumberOfSamples_NUMBER;Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE01;n/a;n/a;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE02;n/a;n/a;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE03;n/a;n/a;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE04;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE05;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_seconds;Sampling period of the during in the depth zone # (in minutes). +CONFIG_SAMPLE06;n/a;n/a;CONFIG_DepthZoneNumberOfSamples_NUMBER;Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle. CONFIG_PROFILE01;n/a;n/a;CONFIG_CpAscentPhaseNumberOfDepthZone_NUMBER;Number of ascent depth zones defined for the sensor used in continuous profiling mode. CONFIG_PROFILE02;n/a;n/a;CONFIG_CpAscentPhaseDepthZoneStartPres_dbar;Start pressure to define the ascent depth zone # of the sensor used in continuous profiling mode. CONFIG_PROFILE03;n/a;n/a;CONFIG_CpAscentPhaseDepthZoneStopPres_dbar;Stop pressure to define the ascent depth zone # of the sensor used in continuous profiling mode. diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1122.json b/decArgo_soft/config/_configParamNames/_config_param_name_1122.json index 6b4b5b73..c7833680 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1122.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1122.json @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_DPF", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", + "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", "CONF_PARAM_NAME" : "CONFIG_DeepProfileFirstFloat_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Some APEX floats are set to do a profile on deployment. This means that when the float is deployed it skips the drift phase at the PARKING depth and sinks directly to the PROFILE depth and starts ascending for the first profile. Independent of the Park and Profile cycle length, the first profile is always a Deep Profile that begins at the Profile Depth. This means the float returns a CTD profile relatively soon, typically less than a day, after the float is deployed. This feature supports comparison of the initial float profile with a conventional CTD cast from the ship. The result is that the first cycle is of shorter duration with a profile depth equal to PROFILE configuration pressure (regardless of the CONFIG_ParkAndProfileCycleCounter_COUNT configuration information). (Yes = 1, No = 0)." }, @@ -123,17 +123,17 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_HRC", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", "CONF_PARAM_NAME" : "CONFIG_PistonPositionHyperRetraction_COUNT", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." }, "CONF_PARAM_17" : { "CONF_PARAM_DEC_ID" : "CONFIG_HRP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", "CONF_PARAM_NAME" : "CONFIG_HyperRetractionStopPressure_dbar", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." }, "CONF_PARAM_18" : { @@ -155,7 +155,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_IDC", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "The maximum number of Ice Descent and Ice Ascent cycles the float will perform when it is unable to perform telemetry. When it has completed the specified number of cycles, the float will continue with the next profiling cycle. If IceDescentCycles is disabled, the float will try to detect an ice cap if it cannot find the ski. If IceDescentCycles is enabled, the float will not try to detect the ice cap and will operate in accordance with “Ice Descent and Ice Ascent Cycles” (described in the updated User Manual) where it tries to drift out from under an ice cap.", + "CONF_PARAM_DEFINITION" : "The maximum number of Ice Descent and Ice Ascent cycles the float will perform when it is unable to perform telemetry. When it has completed the specified number of cycles, the float will continue with the next profiling cycle. If IceDescentCycles is disabled, the float will try to detect an ice cap if it cannot find the ski. If IceDescentCycles is enabled, the float will not try to detect the ice cap and will operate in accordance with “Ice Descent and Ice Ascent Cycles” (described in the updated User Manual) where it tries to drift out from under an ice cap.", "CONF_PARAM_NAME" : "CONFIG_AUX_IceDetectionMaxCycles_NUMBER", "CONF_PARAM_DESCRIPTION" : "The maximum number of Ice Descent and Ice Ascent cycles the float will perform when it is unable to perform telemetry." }, @@ -179,7 +179,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_ICEM", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", + "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", "CONF_PARAM_NAME" : "CONFIG_BitMaskMonthsIceDetectionActive_NUMBER", "CONF_PARAM_DESCRIPTION" : "When is ice detection active - months in reverse order" }, @@ -227,7 +227,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_MAP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", + "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", "CONF_PARAM_NAME" : "CONFIG_PressureActivation_dbar", "CONF_PARAM_DESCRIPTION" : "depth at which float is set to pressure activate" }, @@ -325,7 +325,7 @@ "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "The amount of time in minutes the float will remain in the Mission Prelude phase before transitioning to the Park Descent phase. The float will transition to the Park Descent phase only at the end of this period and only if the self test passes or PreludeSelfTest is set to off.", "CONF_PARAM_NAME" : "CONFIG_MissionPreludeTime_minutes", - "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." + "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." }, "CONF_PARAM_42" : { @@ -420,48 +420,48 @@ "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE01", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_54" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE02", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_55" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE03", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_56" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE04", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_57" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE05", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the during in the depth zone # (in minutes)." }, "CONF_PARAM_58" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE06", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_59" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1123.json b/decArgo_soft/config/_configParamNames/_config_param_name_1123.json index 004c3791..12c1ad17 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1123.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1123.json @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_DPF", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", + "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", "CONF_PARAM_NAME" : "CONFIG_DeepProfileFirstFloat_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Some APEX floats are set to do a profile on deployment. This means that when the float is deployed it skips the drift phase at the PARKING depth and sinks directly to the PROFILE depth and starts ascending for the first profile. Independent of the Park and Profile cycle length, the first profile is always a Deep Profile that begins at the Profile Depth. This means the float returns a CTD profile relatively soon, typically less than a day, after the float is deployed. This feature supports comparison of the initial float profile with a conventional CTD cast from the ship. The result is that the first cycle is of shorter duration with a profile depth equal to PROFILE configuration pressure (regardless of the CONFIG_ParkAndProfileCycleCounter_COUNT configuration information). (Yes = 1, No = 0)." }, @@ -123,17 +123,17 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_HRC", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", "CONF_PARAM_NAME" : "CONFIG_PistonPositionHyperRetraction_COUNT", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." }, "CONF_PARAM_17" : { "CONF_PARAM_DEC_ID" : "CONFIG_HRP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", "CONF_PARAM_NAME" : "CONFIG_HyperRetractionStopPressure_dbar", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." }, "CONF_PARAM_18" : { @@ -171,7 +171,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_ICEM", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", + "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", "CONF_PARAM_NAME" : "CONFIG_BitMaskMonthsIceDetectionActive_NUMBER", "CONF_PARAM_DESCRIPTION" : "When is ice detection active - months in reverse order" }, @@ -219,7 +219,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_MAP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", + "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", "CONF_PARAM_NAME" : "CONFIG_PressureActivation_dbar", "CONF_PARAM_DESCRIPTION" : "depth at which float is set to pressure activate" }, @@ -317,7 +317,7 @@ "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "The amount of time in minutes the float will remain in the Mission Prelude phase before transitioning to the Park Descent phase. The float will transition to the Park Descent phase only at the end of this period and only if the self test passes or PreludeSelfTest is set to off.", "CONF_PARAM_NAME" : "CONFIG_MissionPreludeTime_minutes", - "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." + "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." }, "CONF_PARAM_41" : { @@ -388,48 +388,48 @@ "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE01", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_50" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE02", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_51" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE03", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_52" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE04", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_53" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE05", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the during in the depth zone # (in minutes)." }, "CONF_PARAM_54" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE06", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_55" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_121.csv b/decArgo_soft/config/_configParamNames/_config_param_name_121.csv index e4d33cd7..4c78b4af 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_121.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_121.csv @@ -83,11 +83,11 @@ CONF_PARAM_DEC_ID;CONF_PARAM_TYPE;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PARA 308;META_AUX;Numéro de la sortie de puissance;META_AUX_GPS_POWER_OUTPUT_PORT_NUMBER;Power output port number used by the GPS device. 173;CONFIG;Activation/désactivation de la synchronisation PPS (module externe);CONFIG_GPSSetClockSensorCard_LOGICAL;When the float Real Time Clock is set, also set the clock of the measurement card. 174;CONFIG;Activation/désactivation du positionnement amélioré (altitude 0m);CONFIG_GPSImprovedLocation_LOGICAL;Use the GPS improved location mode. This mode can be used when the float altitude is 0 meter, it provides better locations. -175;CONFIG;Zone 1 - Période échantillonnage / descente vers profondeur dérive (sec);CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). -176;CONFIG;Zone 1 - Période échantillonnage / dérive profondeur parking (sec);CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone #. -177;CONFIG;Zone 1 - Période échantillonnage / descente vers profondeur mesure (sec);CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). -178;CONFIG;Zone 1 - Période échantillonnage / dérive profondeur mesure (sec);CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone #. -179;CONFIG;Zone 1 - Période échantillonnage / remontée (sec);CONFIG_DepthZoneAscentSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). +175;CONFIG;Zone 1 - Période échantillonnage / descente vers profondeur dérive (sec);CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). +176;CONFIG;Zone 1 - Période échantillonnage / dérive profondeur parking (sec);CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone #. +177;CONFIG;Zone 1 - Période échantillonnage / descente vers profondeur mesure (sec);CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). +178;CONFIG;Zone 1 - Période échantillonnage / dérive profondeur mesure (sec);CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone #. +179;CONFIG;Zone 1 - Période échantillonnage / remontée (sec);CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). 180;CONFIG;Zone 1 – Type d’acquisition;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). 181;CONFIG;Zone 1 – Type de traitement;CONFIG_DepthZoneDataProcessingMode_NUMBER;Data processing output of the in the depth zone # (see float manual for details). 182;CONFIG;Zone 1 – Type de synchronisation;CONFIG_DepthZoneDataSynchronizationMode_NUMBER;Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details). @@ -132,24 +132,24 @@ CONF_PARAM_DEC_ID;CONF_PARAM_TYPE;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PARA 220;CONFIG_AUX;AID algorithm applicable month;CONFIG_AUX_BitMaskMonthsAidIceDetectionActive_NUMBER;When is ice detection AID algorithm active - months in reverse order. 221;CONFIG;Pressure to abort ascent;CONFIG_IceEvasionStopPressure_dbar;Ice evasion depth. This is a parameter for AC1 ice algorithm which abort the profile at a prescribed depth (CONFIG_IceEvasionDepth_dbar) without any check on environmental conditions (as described in my email, AC1, ISA and AID algorithm are used together in the ice version of the CTS5). 222;CONFIG;Applicable month;CONFIG_BitMaskMonthsIceEvasionActive_NUMBER;When is ice evasion active - months in reverse order. This is a parameter for AC1 which provides the months it should be used. -223;CONFIG;Number of depth zones.;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. -224;CONFIG;Start pressure to define the depth zone.;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -225;CONFIG;Stop pressure to define the depth zone.;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -226;CONFIG;Sampling period for the depth zone.;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -227;CONFIG;Power acquisition mode for the depth zone.;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle. -228;CONFIG;Number of additional raw data sampled in the depth zone.;CONFIG_DepthZoneRawDataAcquisition_NUMBER;Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. -229;CONFIG;Number of subsamplings for data sampled in the depth zone.;CONFIG_DepthZoneNumberOfSubSampling_NUMBER;Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. -230;CONFIG;Data processing mode of the concerned subsampling.;CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER;Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. -231;CONFIG;Data processing rate of the concerned subsampling.;CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER;Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. -232;CONFIG;Number of sampling schemes.;CONFIG_NumberOfSamplingScheme_NUMBER;Number of sampling schemes defined for the sensor while sampling during the phase of the cycle. -233;CONFIG;Start time of the sampling scheme.;CONFIG_SamplingSchemeStartTime_seconds;Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle. -234;CONFIG;Stop time of the sampling scheme.;CONFIG_SamplingSchemeStopTime_seconds;Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle. -235;CONFIG;Sampling period of the sampling scheme.;CONFIG_SamplingSchemeSamplingPeriod_seconds;Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle. -236;CONFIG;Power acquisition mode of the sampling scheme.;CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER;Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle. -237;CONFIG;Number of additional raw data sampled for the sampling scheme.;CONFIG_SamplingSchemeRawDataAcquisition_NUMBER;Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. -238;CONFIG;Number of subsamplings for data sampled with the sampling scheme.;CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER;Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. -239;CONFIG;Data processing mode of the concerned subsampling.;CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER;Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. -240;CONFIG;Data processing rate of the concerned subsampling.;CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER;Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. +223;CONFIG;Number of depth zones.;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. +224;CONFIG;Start pressure to define the depth zone.;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +225;CONFIG;Stop pressure to define the depth zone.;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +226;CONFIG;Sampling period for the depth zone.;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. +227;CONFIG;Power acquisition mode for the depth zone.;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle. +228;CONFIG;Number of additional raw data sampled in the depth zone.;CONFIG_DepthZoneRawDataAcquisition_NUMBER;Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. +229;CONFIG;Number of subsamplings for data sampled in the depth zone.;CONFIG_DepthZoneNumberOfSubSampling_NUMBER;Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. +230;CONFIG;Data processing mode of the concerned subsampling.;CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER;Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. +231;CONFIG;Data processing rate of the concerned subsampling.;CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER;Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. +232;CONFIG;Number of sampling schemes.;CONFIG_NumberOfSamplingScheme_NUMBER;Number of sampling schemes defined for the sensor while sampling during the phase of the cycle. +233;CONFIG;Start time of the sampling scheme.;CONFIG_SamplingSchemeStartTime_seconds;Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle. +234;CONFIG;Stop time of the sampling scheme.;CONFIG_SamplingSchemeStopTime_seconds;Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle. +235;CONFIG;Sampling period of the sampling scheme.;CONFIG_SamplingSchemeSamplingPeriod_seconds;Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle. +236;CONFIG;Power acquisition mode of the sampling scheme.;CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER;Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle. +237;CONFIG;Number of additional raw data sampled for the sampling scheme.;CONFIG_SamplingSchemeRawDataAcquisition_NUMBER;Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. +238;CONFIG;Number of subsamplings for data sampled with the sampling scheme.;CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER;Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. +239;CONFIG;Data processing mode of the concerned subsampling.;CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER;Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. +240;CONFIG;Data processing rate of the concerned subsampling.;CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER;Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. 116003;CONFIG;Payload sensor miscellaneous static configuration parameter;CONFIG_SunaApfFrameOutputPixelBegin_NUMBER;The Apf frame definition allows for a variable number of spectrometer pixels (also called channels) to be included in the frame. The two pixel values are configured indirectly via the wavelength range of the spectrum to be output (Suna Hardware Manual, section 4.2.3, input/output configuration parameters, data wavelength low/high.) The firmware converts the wavelength values to spectrometer pixels. 116004;CONFIG;Payload sensor miscellaneous static configuration parameter;CONFIG_SunaApfFrameOutputPixelEnd_NUMBER;The Apf frame definition allows for a variable number of spectrometer pixels (also called channels) to be included in the frame. The two pixel values are configured indirectly via the wavelength range of the spectrum to be output (Suna Hardware Manual, section 4.2.3, input/output configuration parameters, data wavelength low/high.) The firmware converts the wavelength values to spectrometer pixels. 113002;CONFIG;Payload sensor miscellaneous static configuration parameter;CONFIG_EcoBetaAngle_angularDeg;Angle of Beta measurements (in degrees) diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_121.json b/decArgo_soft/config/_configParamNames/_config_param_name_121.json index 19f22628..a0f27617 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_121.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_121.json @@ -11,7 +11,7 @@ { "CONF_PARAM_DEC_ID" : "101", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Profondeur de détail du journal des événements", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©tail du journal des Ă©vĂ©nements", "CONF_PARAM_NAME" : "CONFIG_AUX_EventLoggerDescriptionLevel_NUMBER", "CONF_PARAM_DESCRIPTION" : "Level of events stored in the associated log file ([0-3])." }, @@ -19,7 +19,7 @@ { "CONF_PARAM_DEC_ID" : "102", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Séparateurs décimal et colonne pour les fichiers de données (csv)", + "CONF_PARAM_MSG_LABEL" : "SĂ©parateurs dĂ©cimal et colonne pour les fichiers de donnĂ©es (csv)", "CONF_PARAM_NAME" : "CONFIG_AUX_OutputCsvConfiguration_STRING", "CONF_PARAM_DESCRIPTION" : "The CTD can be transmitted in a CSV file. The first character of this parameter defines the decimal character to use, the second character defines the column separator to use." }, @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "300", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Adresse IP du flotteur lors d’une connexion locale par le lien Bluetooth", + "CONF_PARAM_MSG_LABEL" : "Adresse IP du flotteur lors d’une connexion locale par le lien Bluetooth", "CONF_PARAM_NAME" : "META_AUX_FLOAT_IP_ADDRESS", "CONF_PARAM_DESCRIPTION" : "IP address of the float for a bluetooth connection." }, @@ -35,7 +35,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Liste des tâches du systčme", + "CONF_PARAM_MSG_LABEL" : "Liste des tâches du système", "CONF_PARAM_NAME" : "CONFIG_AUX_SystemTaskList_STRING", "CONF_PARAM_DESCRIPTION" : "List of tasks considered by the float (see float manual for details)." }, @@ -43,7 +43,7 @@ { "CONF_PARAM_DEC_ID" : "104", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation des fichiers traces « utilisateur »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation des fichiers traces « utilisateur »", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableUserLog_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable user log file generation and transmission." }, @@ -51,7 +51,7 @@ { "CONF_PARAM_DEC_ID" : "105", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation des fichiers traces « systčme »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation des fichiers traces « système »", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableSystemLog_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable system log file generation and transmission." }, @@ -59,7 +59,7 @@ { "CONF_PARAM_DEC_ID" : "106", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de l’autotest complet", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de l’autotest complet", "CONF_PARAM_NAME" : "CONFIG_TelemetryAutoTestAtDeployment_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Perform a full auto-test (RUDICS server connection test) at float deployment (Yes=1/No=0).A full auto-test includes a connection test on the RUDICS server and a GPS fix acquisition." }, @@ -67,7 +67,7 @@ { "CONF_PARAM_DEC_ID" : "107", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Critčre de risque associé ŕ la rétroaction", + "CONF_PARAM_MSG_LABEL" : "Critère de risque associĂ© Ă  la rĂ©troaction", "CONF_PARAM_NAME" : "CONFIG_AUX_FeedbackRiskLevel_NUMBER", "CONF_PARAM_DESCRIPTION" : "Set the feedback risk level used to decide if a feedback, raised by the sensor board, should be accepted by the vector board (number between 0: lowest risk and 4:highest risk) (see float manual for details)." }, @@ -75,7 +75,7 @@ { "CONF_PARAM_DEC_ID" : "108", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Récupération de flottabilité maximum", + "CONF_PARAM_MSG_LABEL" : "RĂ©cupĂ©ration de flottabilitĂ© maximum", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableHeavyFloatAlarm_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable heavy float alarm. Heavy float alarm should be disabled if a 'heavy float deployment' is wanted." }, @@ -83,7 +83,7 @@ { "CONF_PARAM_DEC_ID" : "109", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Offset de pression externe aprčs surface effective uniquement", + "CONF_PARAM_MSG_LABEL" : "Offset de pression externe après surface effective uniquement", "CONF_PARAM_NAME" : "CONFIG_PressureOffsetSampledAfterTransmission_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The surface pressure offset is sampled only if an Iridium transmission or a GPS session occured (to be sure that the pressure offset is sampled at the surface). Original proposed names was: CONFIG_SecuredPressureOffsetSampledAtSurface_LOGICAL" }, @@ -91,7 +91,7 @@ { "CONF_PARAM_DEC_ID" : "110", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Format d’horodatage pour les fichiers de données (*.csv)", + "CONF_PARAM_MSG_LABEL" : "Format d’horodatage pour les fichiers de donnĂ©es (*.csv)", "CONF_PARAM_NAME" : "CONFIG_AUX_OutputCsvDatetimeFormat_NUMBER", "CONF_PARAM_DESCRIPTION" : "The CTD can be transmitted in a CSV file. This parameter is used to set the format of the measurement times (0: seconds elapsed since 01/01/1900, 1: Excel format, 2: Unix format, 3: Mac format)." }, @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "111", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Carte mémoire additionnelle obligatoire pour la mission", + "CONF_PARAM_MSG_LABEL" : "Carte mĂ©moire additionnelle obligatoire pour la mission", "CONF_PARAM_NAME" : "CONFIG_AUX_RequestedMemoryCard_LOGICAL", "CONF_PARAM_DESCRIPTION" : "An additional memory card is requested for some missions (ex: under-ice mission). This parameter is designed to fail the autotest if the requested additional memory card is not present." }, @@ -115,7 +115,7 @@ { "CONF_PARAM_DEC_ID" : "113", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de vitesse en remontée pour action pompe (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Seuil de vitesse en remontĂ©e pour action pompe (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedMin_cm/s", "CONF_PARAM_DESCRIPTION" : "Float minimum ascent speed before activating the pump." }, @@ -131,7 +131,7 @@ { "CONF_PARAM_DEC_ID" : "115", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Vitesse de remontée typique (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Vitesse de remontĂ©e typique (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeed_cm/s", "CONF_PARAM_DESCRIPTION" : "ascent speed during upcast (can be used to estimate the profile duration). " }, @@ -139,7 +139,7 @@ { "CONF_PARAM_DEC_ID" : "116", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en descente (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en descente (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceForStabilisation_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float stabilisation at parking or profile depth (in dbars)." }, @@ -147,7 +147,7 @@ { "CONF_PARAM_DEC_ID" : "117", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en remontée (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en remontĂ©e (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceForStabilisationDuringAscent_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float stabilisation during ascent at a prescribed depth. The prescibed depth could be the PRES threshold to start low ascent (but I think this should not be in the definition which should stay more generic)." }, @@ -155,7 +155,7 @@ { "CONF_PARAM_DEC_ID" : "118", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en dérive (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en dĂ©rive (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceDuringDrift_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float drift at parking or profile depth (in dbars)." }, @@ -163,7 +163,7 @@ { "CONF_PARAM_DEC_ID" : "119", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de repositionnement en dérive (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de repositionnement en dĂ©rive (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceBeforeReposition_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval before performing a buoyancy readjustment to reposition during the drift at parking depth. When a PRES measurement (sampled to monitor the float drift at parking depth) is outside the [parking_pressure +- CONFIG_PressureTargetToleranceBeforeReposition_dbar] interval, the float adjust its buoyancy." }, @@ -171,7 +171,7 @@ { "CONF_PARAM_DEC_ID" : "120", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en descente (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en descente (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeDescent_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float descent (after CONFIG_BuoyancyReductionSecondThreshold_dbar)." }, @@ -179,7 +179,7 @@ { "CONF_PARAM_DEC_ID" : "121", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en remontée (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en remontĂ©e (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeAscent_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float ascent to surface." }, @@ -187,7 +187,7 @@ { "CONF_PARAM_DEC_ID" : "122", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en dérive (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en dĂ©rive (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeParking_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float drift at park or profile depth." }, @@ -195,7 +195,7 @@ { "CONF_PARAM_DEC_ID" : "123", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action EV en descente/repositionnement (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action EV en descente/repositionnement (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMaxPerValveAction_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is used as a threshold for the valve action durations. The valve flow is known for each float and CONFIG_OilVolumeMaxPerValveAction_cm^3 is converted to a maxDurationOfValveAction. During descent phases the float regularly computes a valve duration to sink to the target depth. In some specific cases the result can be a huge valve action duration and the result must be thresholded by maxDurationOfValveAction." }, @@ -203,7 +203,7 @@ { "CONF_PARAM_DEC_ID" : "124", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action pompe en repositionnement (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action pompe en repositionnement (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMaxPerPumpActionReposition_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is used as a threshold for the pump action duration for reposition in the parking drift interval. The pump flow is known for each float and CONFIG_OilVolumeMaxPerPumpActionReposition_cm^3 is converted to a maxDurationOfPumpActionReposition. When a reposition should be performed, the float computes the needed pump action duration. In some specific cases the result can be a huge pump action duration and the result must be thresholded by maxDurationOfPumpActionReposition." }, @@ -211,7 +211,7 @@ { "CONF_PARAM_DEC_ID" : "125", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil 1 de réduction d’émergence (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil 1 de rĂ©duction d’émergence (dbar)", "CONF_PARAM_NAME" : "CONFIG_BuoyancyReductionFirstThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "First threshold of the buoyancy reduction phase (see float manual for explanations)." }, @@ -219,7 +219,7 @@ { "CONF_PARAM_DEC_ID" : "126", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil 2 de réduction d’émergence (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil 2 de rĂ©duction d’émergence (dbar)", "CONF_PARAM_NAME" : "CONFIG_BuoyancyReductionSecondThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Second threshold of the buoyancy reduction phase (see float manual for explanations)." }, @@ -227,7 +227,7 @@ { "CONF_PARAM_DEC_ID" : "127", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en remontée (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en remontĂ©e (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumePerPumpActionAscent_cm^3", "CONF_PARAM_DESCRIPTION" : "Nominal oil volume of each pump action during ascent." }, @@ -235,7 +235,7 @@ { "CONF_PARAM_DEC_ID" : "128", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en freinage (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en freinage (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumePerPumpActionDescent_cm^3", "CONF_PARAM_DESCRIPTION" : "Nominal oil volume of each pump action during descent (when the float brakes because of a too fast descent speed)." }, @@ -243,7 +243,7 @@ { "CONF_PARAM_DEC_ID" : "129", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Temps d’activation EV durant la phase 2 de réduction d’émergence (csec)", + "CONF_PARAM_MSG_LABEL" : "Temps d’activation EV durant la phase 2 de rĂ©duction d’émergence (csec)", "CONF_PARAM_NAME" : "CONFIG_ValveTimeActionBuoyancyReduction_csec", "CONF_PARAM_DESCRIPTION" : "Duration of the valve actions during the second phase of the buoyancy reduction (between CONFIG_BuoyancyReductionFirstThreshold_dbar and CONFIG_BuoyancyReductionSecondThreshold_dbar)." }, @@ -251,7 +251,7 @@ { "CONF_PARAM_DEC_ID" : "130", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Facteur d’activation EV durant la phase 2 de réduction d’émergence", + "CONF_PARAM_MSG_LABEL" : "Facteur d’activation EV durant la phase 2 de rĂ©duction d’émergence", "CONF_PARAM_NAME" : "CONFIG_ValveActionPeriodFactorBuoyancyReduction_NUMBER", "CONF_PARAM_DESCRIPTION" : "Define the period of valve actions during the second phase of the buoyancy reduction (between CONFIG_BuoyancyReductionFirstThreshold_dbar and CONFIG_BuoyancyReductionSecondThreshold_dbar). The valve is open during CONFIG_ValveTimeActionBuoyancyReduction_csec each CONFIG_ValveTimeActionBuoyancyReduction_csec*CONFIG_ValveActionPeriodFactorBuoyancyReduction_NUMBER." }, @@ -259,7 +259,7 @@ { "CONF_PARAM_DEC_ID" : "131", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’émergence (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’émergence (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeLastPumpActionBuoyancyAcquisition_cm^3", "CONF_PARAM_DESCRIPTION" : "Volume of the last pump action of the buoyancy acquisition phase. Original proposed name was: CONFIG_PumpActionOilVolumeBuoyancyAcquisition_cm^3" }, @@ -267,7 +267,7 @@ { "CONF_PARAM_DEC_ID" : "132", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de fin de remontée (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de fin de remontĂ©e (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentEndThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Threshold used by the float to stop ascent speed control and pump actions." }, @@ -275,7 +275,7 @@ { "CONF_PARAM_DEC_ID" : "133", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Puissance du ralentissement ŕ la remontée (0=aucun, 1=faible, 5=fort)", + "CONF_PARAM_MSG_LABEL" : "Puissance du ralentissement Ă  la remontĂ©e (0=aucun, 1=faible, 5=fort)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedFactor_NUMBER", "CONF_PARAM_DESCRIPTION" : "This factor defines the speed of the ascent phase (between 0: nominal speed and 5: lowest speed)." }, @@ -283,7 +283,7 @@ { "CONF_PARAM_DEC_ID" : "134", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Puissance du freinage en abandon de remontée (multiplie P15)", + "CONF_PARAM_MSG_LABEL" : "Puissance du freinage en abandon de remontĂ©e (multiplie P15)", "CONF_PARAM_NAME" : "CONFIG_ProfileEvasionBrakingFactor_NUMBER", "CONF_PARAM_DESCRIPTION" : "This factor defines the oil volume transferred from the external bladder when a profile evasion occurs and the float has to brake. The transferred oil volume is CONFIG_ProfileEvasionAscentSpeedFactor_NUMBER times the oil volume of the last pump action." }, @@ -291,7 +291,7 @@ { "CONF_PARAM_DEC_ID" : "135", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de dérive « parking » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©rive « parking » (dbar)", "CONF_PARAM_NAME" : "CONFIG_ParkPressure_dbar", "CONF_PARAM_DESCRIPTION" : "park pressure - this may change if the float is reprogrammed and must be reported in the mission configuration settings" }, @@ -299,7 +299,7 @@ { "CONF_PARAM_DEC_ID" : "136", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de dérive « mesure » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©rive « mesure » (dbar)", "CONF_PARAM_NAME" : "CONFIG_ProfilePressure_dbar", "CONF_PARAM_DESCRIPTION" : "profile pressure - this may change if the float is reprogrammed and must be reported in the mission configuration settings" }, @@ -307,7 +307,7 @@ { "CONF_PARAM_DEC_ID" : "137", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée du motif (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e du motif (sec)", "CONF_PARAM_NAME" : "CONFIG_CycleTime_seconds", "CONF_PARAM_DESCRIPTION" : "For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value." }, @@ -315,7 +315,7 @@ { "CONF_PARAM_DEC_ID" : "138", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Heure de présence en surface", + "CONF_PARAM_MSG_LABEL" : "Heure de prĂ©sence en surface", "CONF_PARAM_NAME" : "CONFIG_SurfaceTime_seconds", "CONF_PARAM_DESCRIPTION" : "Time of day of float surfacing - could be hour of the float surfacing or could be stored as seconds when set as hh:mm:ss (e.g. for PROVOR CTS5)" }, @@ -323,7 +323,7 @@ { "CONF_PARAM_DEC_ID" : "139", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la prise de position GPS", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la prise de position GPS", "CONF_PARAM_NAME" : "CONFIG_GPSAcquisitionEndCycle_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a GPS session to acquire a GPS fix at the end of the cycle (Yes=1/No=0)." }, @@ -331,7 +331,7 @@ { "CONF_PARAM_DEC_ID" : "140", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation d’une session de transmission", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation d’une session de transmission", "CONF_PARAM_NAME" : "CONFIG_TransmissionEndCycle_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a telemetry transmission at the end of the cycle (Yes=1/No=0)." }, @@ -339,7 +339,7 @@ { "CONF_PARAM_DEC_ID" : "141", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de tension batterie faible (V)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de tension batterie faible (V)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowBatteryNoLoadAlarmThreshold_volts", "CONF_PARAM_DESCRIPTION" : "Min threshold of battery level before raising a low battery no load alarm." }, @@ -347,7 +347,7 @@ { "CONF_PARAM_DEC_ID" : "142", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression interne forte (mbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression interne forte (mbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighInternalPressureAlarmThreshold_mbar", "CONF_PARAM_DESCRIPTION" : "Max threshold of internal pressure level before raising a high internal pressure alarm." }, @@ -355,7 +355,7 @@ { "CONF_PARAM_DEC_ID" : "143", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de sauts de pression externe incohérents (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de sauts de pression externe incohĂ©rents (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighAccelerationAlarmThreshold_cm/s", "CONF_PARAM_DESCRIPTION" : "Max threshold of vertical speed level before raising a External pressure sensor failure alarm." }, @@ -363,7 +363,7 @@ { "CONF_PARAM_DEC_ID" : "144", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression externe faible (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression externe faible (dbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowExternalPressureAlarmThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Min threshold of external pressure before raising a Low external pressure alarm." }, @@ -371,7 +371,7 @@ { "CONF_PARAM_DEC_ID" : "145", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression externe forte / pression limite (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression externe forte / pression limite (dbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighExternalPressureAlarmThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Max threshold of external pressure before raising a High external pressure alarm." }, @@ -379,7 +379,7 @@ { "CONF_PARAM_DEC_ID" : "146", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Détection de capteur de pression externe cassé (erreurs successives)", + "CONF_PARAM_MSG_LABEL" : "DĂ©tection de capteur de pression externe cassĂ© (erreurs successives)", "CONF_PARAM_NAME" : "CONFIG_AUX_MaxExternalPressureErrorAlarmThreshold_NUMBER", "CONF_PARAM_DESCRIPTION" : "Max number of successive errors from the external pressure sensor before raising a External pressure sensor failure alarm." }, @@ -387,7 +387,7 @@ { "CONF_PARAM_DEC_ID" : "147", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection d’échouage ŕ la descente (cm3)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection d’échouage Ă  la descente (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMinForGroundingDetection_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is a threshold used to detect a grounding of the float. If there is no vertical motion after having tranferred CONFIG_OilVolumeMinForGroundingDetection_cm^3 through the valve, the gounded flag is activated and the float acts as configurated by the CONFIG_GroundingMode_LOGICAL parameter.So, yes it is a configuration parameter (and I can easily understand that it can be modified via remote control since some PROVOR floats have experienced erroneous grounding detection (under study but perhaps due to in-situ conditions)." }, @@ -395,7 +395,7 @@ { "CONF_PARAM_DEC_ID" : "148", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection d’accrochage ŕ la remontée (cm3)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection d’accrochage Ă  la remontĂ©e (cm3)", "CONF_PARAM_NAME" : "CONFIG_AUX_OilVolumeMinForHangingDetection_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is a threshold used to detect a hanging of the float. If there is no ascent vertical motion after having tranferred CONFIG_OilVolumeMinForHangingDetection_cm^3 through the pump the hanged alarm is activated." }, @@ -403,7 +403,7 @@ { "CONF_PARAM_DEC_ID" : "149", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de vitesse de descente élevée (freinage)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de vitesse de descente Ă©levĂ©e (freinage)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighDescentSpeedAlarmThreshold_cm/s", "CONF_PARAM_DESCRIPTION" : "Max threshold of descent speed before raising a braking alarm." }, @@ -411,7 +411,7 @@ { "CONF_PARAM_DEC_ID" : "150", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de tension batterie (min. sur pompe) faible (V)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de tension batterie (min. sur pompe) faible (V)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowBatteryLoadAlarmThreshold_volts", "CONF_PARAM_DESCRIPTION" : "Min threshold of battery level before raising a low battery load alarm." }, @@ -419,7 +419,7 @@ { "CONF_PARAM_DEC_ID" : "151", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » avant boucle (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » avant boucle (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayBeforeLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) before loops ([0-86400 (24 h)]) (see float manual for details)." }, @@ -427,7 +427,7 @@ { "CONF_PARAM_DEC_ID" : "152", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » dans boucle « motif » (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » dans boucle « motif » (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayInPatternLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) during pattern loops ([0-7200 (2 h)]) (see float manual for details)." }, @@ -435,7 +435,7 @@ { "CONF_PARAM_DEC_ID" : "153", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » dans boucle « cycle » (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » dans boucle « cycle » (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayInCycleLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) during cycle loops ([0-7200 (2 h)]) (see float manual for details)." }, @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "154", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation pour test (étape « TC ») (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation pour test (Ă©tape « TC ») (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_TestTimeDelay_seconds", "CONF_PARAM_DESCRIPTION" : "Test temporization (step 'TC' of the mission) ([0-600 (10 min)]) (see float manual for details)." }, @@ -451,7 +451,7 @@ { "CONF_PARAM_DEC_ID" : "155", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la prise de position GPS en fin de vie", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la prise de position GPS en fin de vie", "CONF_PARAM_NAME" : "CONFIG_GPSAcquisitionEndOfLife_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a GPS session to acquire a GPS fix in each End Of Life transmission (Yes=1/No=0)." }, @@ -459,7 +459,7 @@ { "CONF_PARAM_DEC_ID" : "156", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de transmission en fin de vie (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de transmission en fin de vie (sec)", "CONF_PARAM_NAME" : "CONFIG_TransmissionPeriodEndOfLife_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the Iridium transmission when in End Of Life mode (in minutes)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "158", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la détection d’échouage ŕ la descente", + "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la dĂ©tection d’échouage Ă  la descente", "CONF_PARAM_NAME" : "CONFIG_GroundingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Action performed by the float when a grounding is detected. 0: the float changes its drift pressure, 1: the float stays on the seabed until the next phase of the cycle. For PROVOR CTS5 the number assigned to each mode has changed - see float manual for details for this model." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "159", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Offset de consigne en cas de gestion d’échouage par correction (dbar)", + "CONF_PARAM_MSG_LABEL" : "Offset de consigne en cas de gestion d’échouage par correction (dbar)", "CONF_PARAM_NAME" : "CONFIG_GroundingModePresAdjustment_dbar", "CONF_PARAM_DESCRIPTION" : "If in grounding mode 0, the float changes its drift pressure to its programmed one minus this value only if its current pressure is greater than this value." }, @@ -491,7 +491,7 @@ { "CONF_PARAM_DEC_ID" : "160", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la détection d’accrochage ŕ la remontée", + "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la dĂ©tection d’accrochage Ă  la remontĂ©e", "CONF_PARAM_NAME" : "CONFIG_HangingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Action performed by the float when a hanging is detected (see float manual for details). [JP additional comments on behaviour for PROVOR floats: The hanging mode is the same idea as the grounding mode but for an ascent phase. When the float detects a too low vertical motion after having activated its pump to try to ascend it enters in a hanging mode (it is probably stuck at the sea floor). This parameter configures (with the same idea as CONFIG_GroundingMode_NUMBER for grounding) what should be the actions to perform to try to escape from hanging (it can activate its pump and valve alternatively to try to escape or abandon the ascent and switch to the next scheduled task]." }, @@ -499,7 +499,7 @@ { "CONF_PARAM_DEC_ID" : "161", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression minimale pour échappement en cas de détection d’échouage", + "CONF_PARAM_MSG_LABEL" : "Pression minimale pour Ă©chappement en cas de dĂ©tection d’échouage", "CONF_PARAM_NAME" : "CONFIG_GroundingModeMinPresThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "If in grounding mode 0, the float changes its drift pressure only if its current pressure is greater than this value." }, @@ -507,7 +507,7 @@ { "CONF_PARAM_DEC_ID" : "162", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de début de remontée « lente » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©but de remontĂ©e « lente » (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedStartPressureThresholdForSlowPhase_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the slow ascent speed phase." }, @@ -515,7 +515,7 @@ { "CONF_PARAM_DEC_ID" : "163", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de début de remontée « lente » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©but de remontĂ©e « lente » (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedStartPressureThresholdForSlowPhase_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the slow ascent speed phase." }, @@ -523,7 +523,7 @@ { "CONF_PARAM_DEC_ID" : "164", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de réalisation du test de présence de glace (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de rĂ©alisation du test de prĂ©sence de glace (dbar)", "CONF_PARAM_NAME" : "CONFIG_IceDetectionAcousticStartPressureThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the acoustic ice detection test. " }, @@ -531,7 +531,7 @@ { "CONF_PARAM_DEC_ID" : "165", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée du test de présence de glace", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e du test de prĂ©sence de glace", "CONF_PARAM_NAME" : "CONFIG_IceDetectionTestDuration_minutes", "CONF_PARAM_DESCRIPTION" : "Duration of the ice detection test." }, @@ -539,7 +539,7 @@ { "CONF_PARAM_DEC_ID" : "301", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro DNIS associé ŕ la carte SIM", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro DNIS associĂ© Ă  la carte SIM", "CONF_PARAM_NAME" : "META_AUX_FLOAT_DNIS_NUMBER", "CONF_PARAM_DESCRIPTION" : "DNIS number of the SIM card of the float." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "302", "CONF_PARAM_TYPE" : "META", - "CONF_PARAM_MSG_LABEL" : "Identifiant du compte associé au flotteur (sur le serveur)", + "CONF_PARAM_MSG_LABEL" : "Identifiant du compte associĂ© au flotteur (sur le serveur)", "CONF_PARAM_NAME" : "META_PTT", "CONF_PARAM_DESCRIPTION" : "Transmission identifier of the float." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "303", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_IRIDIUM_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the Iridium device." }, @@ -563,7 +563,7 @@ { "CONF_PARAM_DEC_ID" : "166", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée maximale de la session Iridium (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e maximale de la session Iridium (sec)", "CONF_PARAM_NAME" : "CONFIG_ConnectionTimeOut_seconds", "CONF_PARAM_DESCRIPTION" : "Connection time-out, i.e. maximum transmission period for one telemetry session" }, @@ -571,7 +571,7 @@ { "CONF_PARAM_DEC_ID" : "167", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Taille de bloc pour le découpage des fichiers", + "CONF_PARAM_MSG_LABEL" : "Taille de bloc pour le dĂ©coupage des fichiers", "CONF_PARAM_NAME" : "CONFIG_AUX_TransmittedFileMaxSize_kbyte", "CONF_PARAM_DESCRIPTION" : "Max size for transmitted files (in kbyte). Larger files are split before transmission." }, @@ -579,7 +579,7 @@ { "CONF_PARAM_DEC_ID" : "168", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Format des fichiers de mesure (*.csv, *.hex étendu, *.hex standard)", + "CONF_PARAM_MSG_LABEL" : "Format des fichiers de mesure (*.csv, *.hex Ă©tendu, *.hex standard)", "CONF_PARAM_NAME" : "CONFIG_AUX_CtdDataFormat_NUMBER", "CONF_PARAM_DESCRIPTION" : "Format of the transmitted CTD data (0: CSV format, 1: extended hex format, 2: standard hex format) (see float manual for details)." }, @@ -587,7 +587,7 @@ { "CONF_PARAM_DEC_ID" : "169", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Mode de transmission des fichiers (standard, étendu, haute vitesse)", + "CONF_PARAM_MSG_LABEL" : "Mode de transmission des fichiers (standard, Ă©tendu, haute vitesse)", "CONF_PARAM_NAME" : "CONFIG_AUX_FileTransmissionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "File transmission mode (0: standard, 1: extended, 2: streaming)." }, @@ -595,7 +595,7 @@ { "CONF_PARAM_DEC_ID" : "304", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Identification de la mécanique", + "CONF_PARAM_MSG_LABEL" : "Identification de la mĂ©canique", "CONF_PARAM_NAME" : "META_AUX_HYDRAULIC_ENGINE_TYPE", "CONF_PARAM_DESCRIPTION" : "Reference of the hydraulic device." }, @@ -603,7 +603,7 @@ { "CONF_PARAM_DEC_ID" : "170", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Volume total d’huile dans le circuit hydraulique (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume total d’huile dans le circuit hydraulique (cm3)", "CONF_PARAM_NAME" : "CONFIG_AUX_TotalOilVolume_cm^3", "CONF_PARAM_DESCRIPTION" : "Total volume of oil in the hydraulic device." }, @@ -611,7 +611,7 @@ { "CONF_PARAM_DEC_ID" : "305", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_SENSOR_BOARD_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the sensor board." }, @@ -619,7 +619,7 @@ { "CONF_PARAM_DEC_ID" : "306", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro de la sortie de puissance", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro de la sortie de puissance", "CONF_PARAM_NAME" : "META_AUX_SENSOR_BOARD_POWER_OUTPUT_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power output port number used by the sensor board." }, @@ -627,7 +627,7 @@ { "CONF_PARAM_DEC_ID" : "171", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation du message « $ADJUST »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation du message « $ADJUST »", "CONF_PARAM_NAME" : "CONFIG_AUX_InformSensorBoardDuringHydraulicAction_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Ask/inform the sensor board during hydraulic adjustments." }, @@ -635,7 +635,7 @@ { "CONF_PARAM_DEC_ID" : "172", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de l’autotest complet", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de l’autotest complet", "CONF_PARAM_NAME" : "CONFIG_AUX_FullAutotest_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Perform a full autotest." }, @@ -643,7 +643,7 @@ { "CONF_PARAM_DEC_ID" : "307", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_GPS_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the GPS device." }, @@ -651,7 +651,7 @@ { "CONF_PARAM_DEC_ID" : "308", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro de la sortie de puissance", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro de la sortie de puissance", "CONF_PARAM_NAME" : "META_AUX_GPS_POWER_OUTPUT_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power output port number used by the GPS device." }, @@ -659,7 +659,7 @@ { "CONF_PARAM_DEC_ID" : "173", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la synchronisation PPS (module externe)", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la synchronisation PPS (module externe)", "CONF_PARAM_NAME" : "CONFIG_GPSSetClockSensorCard_LOGICAL", "CONF_PARAM_DESCRIPTION" : "When the float Real Time Clock is set, also set the clock of the measurement card." }, @@ -667,7 +667,7 @@ { "CONF_PARAM_DEC_ID" : "174", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation du positionnement amélioré (altitude 0m)", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation du positionnement amĂ©liorĂ© (altitude 0m)", "CONF_PARAM_NAME" : "CONFIG_GPSImprovedLocation_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Use the GPS improved location mode. This mode can be used when the float altitude is 0 meter, it provides better locations." }, @@ -675,47 +675,47 @@ { "CONF_PARAM_DEC_ID" : "175", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / descente vers profondeur dérive (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / descente vers profondeur dĂ©rive (sec)", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_86" : { "CONF_PARAM_DEC_ID" : "176", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / dérive profondeur parking (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / dĂ©rive profondeur parking (sec)", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone #." }, "CONF_PARAM_87" : { "CONF_PARAM_DEC_ID" : "177", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / descente vers profondeur mesure (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / descente vers profondeur mesure (sec)", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_88" : { "CONF_PARAM_DEC_ID" : "178", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / dérive profondeur mesure (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / dĂ©rive profondeur mesure (sec)", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone #." }, "CONF_PARAM_89" : { "CONF_PARAM_DEC_ID" : "179", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / remontée (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / remontĂ©e (sec)", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_90" : { "CONF_PARAM_DEC_ID" : "180", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type d’acquisition", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type d’acquisition", "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous)." }, @@ -723,7 +723,7 @@ { "CONF_PARAM_DEC_ID" : "181", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de traitement", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de traitement", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataProcessingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data processing output of the in the depth zone # (see float manual for details)." }, @@ -731,7 +731,7 @@ { "CONF_PARAM_DEC_ID" : "182", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de synchronisation", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de synchronisation", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataSynchronizationMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details)." }, @@ -739,7 +739,7 @@ { "CONF_PARAM_DEC_ID" : "183", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Epaisseur de tranche (dbar)", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Epaisseur de tranche (dbar)", "CONF_PARAM_NAME" : "CONFIG_DepthZoneSlicesThickness_dbar", "CONF_PARAM_DESCRIPTION" : "Slices thickness for in the depth zone # (in dbar)." }, @@ -755,7 +755,7 @@ { "CONF_PARAM_DEC_ID" : "185", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée de chauffe capteur (msec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de chauffe capteur (msec)", "CONF_PARAM_NAME" : "CONFIG_WarmUpTime_msec", "CONF_PARAM_DESCRIPTION" : "Time, needed after the is powered ON, to provide its first sample (in milli-seconds)." }, @@ -763,7 +763,7 @@ { "CONF_PARAM_DEC_ID" : "186", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée d’extinction capteur (msec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e d’extinction capteur (msec)", "CONF_PARAM_NAME" : "CONFIG_PowerSwitchDelayMin_msec", "CONF_PARAM_DESCRIPTION" : "Minimum waiting time needed by the between a switch OFF and a switch ON (in milli-seconds)." }, @@ -771,7 +771,7 @@ { "CONF_PARAM_DEC_ID" : "187", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Index de filtrage du premier échantillon valide", + "CONF_PARAM_MSG_LABEL" : "Index de filtrage du premier Ă©chantillon valide", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -779,7 +779,7 @@ { "CONF_PARAM_DEC_ID" : "188", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", "CONF_PARAM_NAME" : "CONFIG_CTDPumpStopPressure_dbar", "CONF_PARAM_DESCRIPTION" : "The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity." }, @@ -1068,144 +1068,144 @@ "CONF_PARAM_DEC_ID" : "223", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of depth zones.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_135" : { "CONF_PARAM_DEC_ID" : "224", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_136" : { "CONF_PARAM_DEC_ID" : "225", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_137" : { "CONF_PARAM_DEC_ID" : "226", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_138" : { "CONF_PARAM_DEC_ID" : "227", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_139" : { "CONF_PARAM_DEC_ID" : "228", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_140" : { "CONF_PARAM_DEC_ID" : "229", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_141" : { "CONF_PARAM_DEC_ID" : "230", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_142" : { "CONF_PARAM_DEC_ID" : "231", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_143" : { "CONF_PARAM_DEC_ID" : "232", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of sampling schemes.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_144" : { "CONF_PARAM_DEC_ID" : "233", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_145" : { "CONF_PARAM_DEC_ID" : "234", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_146" : { "CONF_PARAM_DEC_ID" : "235", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_147" : { "CONF_PARAM_DEC_ID" : "236", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_148" : { "CONF_PARAM_DEC_ID" : "237", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled for the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_149" : { "CONF_PARAM_DEC_ID" : "238", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled with the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_150" : { "CONF_PARAM_DEC_ID" : "239", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_151" : { "CONF_PARAM_DEC_ID" : "240", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_152" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_122.json b/decArgo_soft/config/_configParamNames/_config_param_name_122.json index 19f22628..a0f27617 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_122.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_122.json @@ -11,7 +11,7 @@ { "CONF_PARAM_DEC_ID" : "101", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Profondeur de détail du journal des événements", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©tail du journal des Ă©vĂ©nements", "CONF_PARAM_NAME" : "CONFIG_AUX_EventLoggerDescriptionLevel_NUMBER", "CONF_PARAM_DESCRIPTION" : "Level of events stored in the associated log file ([0-3])." }, @@ -19,7 +19,7 @@ { "CONF_PARAM_DEC_ID" : "102", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Séparateurs décimal et colonne pour les fichiers de données (csv)", + "CONF_PARAM_MSG_LABEL" : "SĂ©parateurs dĂ©cimal et colonne pour les fichiers de donnĂ©es (csv)", "CONF_PARAM_NAME" : "CONFIG_AUX_OutputCsvConfiguration_STRING", "CONF_PARAM_DESCRIPTION" : "The CTD can be transmitted in a CSV file. The first character of this parameter defines the decimal character to use, the second character defines the column separator to use." }, @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "300", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Adresse IP du flotteur lors d’une connexion locale par le lien Bluetooth", + "CONF_PARAM_MSG_LABEL" : "Adresse IP du flotteur lors d’une connexion locale par le lien Bluetooth", "CONF_PARAM_NAME" : "META_AUX_FLOAT_IP_ADDRESS", "CONF_PARAM_DESCRIPTION" : "IP address of the float for a bluetooth connection." }, @@ -35,7 +35,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Liste des tâches du systčme", + "CONF_PARAM_MSG_LABEL" : "Liste des tâches du système", "CONF_PARAM_NAME" : "CONFIG_AUX_SystemTaskList_STRING", "CONF_PARAM_DESCRIPTION" : "List of tasks considered by the float (see float manual for details)." }, @@ -43,7 +43,7 @@ { "CONF_PARAM_DEC_ID" : "104", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation des fichiers traces « utilisateur »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation des fichiers traces « utilisateur »", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableUserLog_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable user log file generation and transmission." }, @@ -51,7 +51,7 @@ { "CONF_PARAM_DEC_ID" : "105", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation des fichiers traces « systčme »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation des fichiers traces « système »", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableSystemLog_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable system log file generation and transmission." }, @@ -59,7 +59,7 @@ { "CONF_PARAM_DEC_ID" : "106", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de l’autotest complet", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de l’autotest complet", "CONF_PARAM_NAME" : "CONFIG_TelemetryAutoTestAtDeployment_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Perform a full auto-test (RUDICS server connection test) at float deployment (Yes=1/No=0).A full auto-test includes a connection test on the RUDICS server and a GPS fix acquisition." }, @@ -67,7 +67,7 @@ { "CONF_PARAM_DEC_ID" : "107", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Critčre de risque associé ŕ la rétroaction", + "CONF_PARAM_MSG_LABEL" : "Critère de risque associĂ© Ă  la rĂ©troaction", "CONF_PARAM_NAME" : "CONFIG_AUX_FeedbackRiskLevel_NUMBER", "CONF_PARAM_DESCRIPTION" : "Set the feedback risk level used to decide if a feedback, raised by the sensor board, should be accepted by the vector board (number between 0: lowest risk and 4:highest risk) (see float manual for details)." }, @@ -75,7 +75,7 @@ { "CONF_PARAM_DEC_ID" : "108", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Récupération de flottabilité maximum", + "CONF_PARAM_MSG_LABEL" : "RĂ©cupĂ©ration de flottabilitĂ© maximum", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableHeavyFloatAlarm_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable heavy float alarm. Heavy float alarm should be disabled if a 'heavy float deployment' is wanted." }, @@ -83,7 +83,7 @@ { "CONF_PARAM_DEC_ID" : "109", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Offset de pression externe aprčs surface effective uniquement", + "CONF_PARAM_MSG_LABEL" : "Offset de pression externe après surface effective uniquement", "CONF_PARAM_NAME" : "CONFIG_PressureOffsetSampledAfterTransmission_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The surface pressure offset is sampled only if an Iridium transmission or a GPS session occured (to be sure that the pressure offset is sampled at the surface). Original proposed names was: CONFIG_SecuredPressureOffsetSampledAtSurface_LOGICAL" }, @@ -91,7 +91,7 @@ { "CONF_PARAM_DEC_ID" : "110", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Format d’horodatage pour les fichiers de données (*.csv)", + "CONF_PARAM_MSG_LABEL" : "Format d’horodatage pour les fichiers de donnĂ©es (*.csv)", "CONF_PARAM_NAME" : "CONFIG_AUX_OutputCsvDatetimeFormat_NUMBER", "CONF_PARAM_DESCRIPTION" : "The CTD can be transmitted in a CSV file. This parameter is used to set the format of the measurement times (0: seconds elapsed since 01/01/1900, 1: Excel format, 2: Unix format, 3: Mac format)." }, @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "111", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Carte mémoire additionnelle obligatoire pour la mission", + "CONF_PARAM_MSG_LABEL" : "Carte mĂ©moire additionnelle obligatoire pour la mission", "CONF_PARAM_NAME" : "CONFIG_AUX_RequestedMemoryCard_LOGICAL", "CONF_PARAM_DESCRIPTION" : "An additional memory card is requested for some missions (ex: under-ice mission). This parameter is designed to fail the autotest if the requested additional memory card is not present." }, @@ -115,7 +115,7 @@ { "CONF_PARAM_DEC_ID" : "113", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de vitesse en remontée pour action pompe (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Seuil de vitesse en remontĂ©e pour action pompe (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedMin_cm/s", "CONF_PARAM_DESCRIPTION" : "Float minimum ascent speed before activating the pump." }, @@ -131,7 +131,7 @@ { "CONF_PARAM_DEC_ID" : "115", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Vitesse de remontée typique (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Vitesse de remontĂ©e typique (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeed_cm/s", "CONF_PARAM_DESCRIPTION" : "ascent speed during upcast (can be used to estimate the profile duration). " }, @@ -139,7 +139,7 @@ { "CONF_PARAM_DEC_ID" : "116", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en descente (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en descente (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceForStabilisation_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float stabilisation at parking or profile depth (in dbars)." }, @@ -147,7 +147,7 @@ { "CONF_PARAM_DEC_ID" : "117", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en remontée (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en remontĂ©e (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceForStabilisationDuringAscent_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float stabilisation during ascent at a prescribed depth. The prescibed depth could be the PRES threshold to start low ascent (but I think this should not be in the definition which should stay more generic)." }, @@ -155,7 +155,7 @@ { "CONF_PARAM_DEC_ID" : "118", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en dérive (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en dĂ©rive (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceDuringDrift_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float drift at parking or profile depth (in dbars)." }, @@ -163,7 +163,7 @@ { "CONF_PARAM_DEC_ID" : "119", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de repositionnement en dérive (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de repositionnement en dĂ©rive (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceBeforeReposition_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval before performing a buoyancy readjustment to reposition during the drift at parking depth. When a PRES measurement (sampled to monitor the float drift at parking depth) is outside the [parking_pressure +- CONFIG_PressureTargetToleranceBeforeReposition_dbar] interval, the float adjust its buoyancy." }, @@ -171,7 +171,7 @@ { "CONF_PARAM_DEC_ID" : "120", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en descente (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en descente (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeDescent_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float descent (after CONFIG_BuoyancyReductionSecondThreshold_dbar)." }, @@ -179,7 +179,7 @@ { "CONF_PARAM_DEC_ID" : "121", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en remontée (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en remontĂ©e (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeAscent_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float ascent to surface." }, @@ -187,7 +187,7 @@ { "CONF_PARAM_DEC_ID" : "122", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en dérive (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en dĂ©rive (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeParking_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float drift at park or profile depth." }, @@ -195,7 +195,7 @@ { "CONF_PARAM_DEC_ID" : "123", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action EV en descente/repositionnement (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action EV en descente/repositionnement (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMaxPerValveAction_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is used as a threshold for the valve action durations. The valve flow is known for each float and CONFIG_OilVolumeMaxPerValveAction_cm^3 is converted to a maxDurationOfValveAction. During descent phases the float regularly computes a valve duration to sink to the target depth. In some specific cases the result can be a huge valve action duration and the result must be thresholded by maxDurationOfValveAction." }, @@ -203,7 +203,7 @@ { "CONF_PARAM_DEC_ID" : "124", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action pompe en repositionnement (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action pompe en repositionnement (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMaxPerPumpActionReposition_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is used as a threshold for the pump action duration for reposition in the parking drift interval. The pump flow is known for each float and CONFIG_OilVolumeMaxPerPumpActionReposition_cm^3 is converted to a maxDurationOfPumpActionReposition. When a reposition should be performed, the float computes the needed pump action duration. In some specific cases the result can be a huge pump action duration and the result must be thresholded by maxDurationOfPumpActionReposition." }, @@ -211,7 +211,7 @@ { "CONF_PARAM_DEC_ID" : "125", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil 1 de réduction d’émergence (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil 1 de rĂ©duction d’émergence (dbar)", "CONF_PARAM_NAME" : "CONFIG_BuoyancyReductionFirstThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "First threshold of the buoyancy reduction phase (see float manual for explanations)." }, @@ -219,7 +219,7 @@ { "CONF_PARAM_DEC_ID" : "126", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil 2 de réduction d’émergence (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil 2 de rĂ©duction d’émergence (dbar)", "CONF_PARAM_NAME" : "CONFIG_BuoyancyReductionSecondThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Second threshold of the buoyancy reduction phase (see float manual for explanations)." }, @@ -227,7 +227,7 @@ { "CONF_PARAM_DEC_ID" : "127", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en remontée (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en remontĂ©e (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumePerPumpActionAscent_cm^3", "CONF_PARAM_DESCRIPTION" : "Nominal oil volume of each pump action during ascent." }, @@ -235,7 +235,7 @@ { "CONF_PARAM_DEC_ID" : "128", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en freinage (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en freinage (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumePerPumpActionDescent_cm^3", "CONF_PARAM_DESCRIPTION" : "Nominal oil volume of each pump action during descent (when the float brakes because of a too fast descent speed)." }, @@ -243,7 +243,7 @@ { "CONF_PARAM_DEC_ID" : "129", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Temps d’activation EV durant la phase 2 de réduction d’émergence (csec)", + "CONF_PARAM_MSG_LABEL" : "Temps d’activation EV durant la phase 2 de rĂ©duction d’émergence (csec)", "CONF_PARAM_NAME" : "CONFIG_ValveTimeActionBuoyancyReduction_csec", "CONF_PARAM_DESCRIPTION" : "Duration of the valve actions during the second phase of the buoyancy reduction (between CONFIG_BuoyancyReductionFirstThreshold_dbar and CONFIG_BuoyancyReductionSecondThreshold_dbar)." }, @@ -251,7 +251,7 @@ { "CONF_PARAM_DEC_ID" : "130", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Facteur d’activation EV durant la phase 2 de réduction d’émergence", + "CONF_PARAM_MSG_LABEL" : "Facteur d’activation EV durant la phase 2 de rĂ©duction d’émergence", "CONF_PARAM_NAME" : "CONFIG_ValveActionPeriodFactorBuoyancyReduction_NUMBER", "CONF_PARAM_DESCRIPTION" : "Define the period of valve actions during the second phase of the buoyancy reduction (between CONFIG_BuoyancyReductionFirstThreshold_dbar and CONFIG_BuoyancyReductionSecondThreshold_dbar). The valve is open during CONFIG_ValveTimeActionBuoyancyReduction_csec each CONFIG_ValveTimeActionBuoyancyReduction_csec*CONFIG_ValveActionPeriodFactorBuoyancyReduction_NUMBER." }, @@ -259,7 +259,7 @@ { "CONF_PARAM_DEC_ID" : "131", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’émergence (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’émergence (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeLastPumpActionBuoyancyAcquisition_cm^3", "CONF_PARAM_DESCRIPTION" : "Volume of the last pump action of the buoyancy acquisition phase. Original proposed name was: CONFIG_PumpActionOilVolumeBuoyancyAcquisition_cm^3" }, @@ -267,7 +267,7 @@ { "CONF_PARAM_DEC_ID" : "132", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de fin de remontée (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de fin de remontĂ©e (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentEndThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Threshold used by the float to stop ascent speed control and pump actions." }, @@ -275,7 +275,7 @@ { "CONF_PARAM_DEC_ID" : "133", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Puissance du ralentissement ŕ la remontée (0=aucun, 1=faible, 5=fort)", + "CONF_PARAM_MSG_LABEL" : "Puissance du ralentissement Ă  la remontĂ©e (0=aucun, 1=faible, 5=fort)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedFactor_NUMBER", "CONF_PARAM_DESCRIPTION" : "This factor defines the speed of the ascent phase (between 0: nominal speed and 5: lowest speed)." }, @@ -283,7 +283,7 @@ { "CONF_PARAM_DEC_ID" : "134", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Puissance du freinage en abandon de remontée (multiplie P15)", + "CONF_PARAM_MSG_LABEL" : "Puissance du freinage en abandon de remontĂ©e (multiplie P15)", "CONF_PARAM_NAME" : "CONFIG_ProfileEvasionBrakingFactor_NUMBER", "CONF_PARAM_DESCRIPTION" : "This factor defines the oil volume transferred from the external bladder when a profile evasion occurs and the float has to brake. The transferred oil volume is CONFIG_ProfileEvasionAscentSpeedFactor_NUMBER times the oil volume of the last pump action." }, @@ -291,7 +291,7 @@ { "CONF_PARAM_DEC_ID" : "135", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de dérive « parking » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©rive « parking » (dbar)", "CONF_PARAM_NAME" : "CONFIG_ParkPressure_dbar", "CONF_PARAM_DESCRIPTION" : "park pressure - this may change if the float is reprogrammed and must be reported in the mission configuration settings" }, @@ -299,7 +299,7 @@ { "CONF_PARAM_DEC_ID" : "136", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de dérive « mesure » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©rive « mesure » (dbar)", "CONF_PARAM_NAME" : "CONFIG_ProfilePressure_dbar", "CONF_PARAM_DESCRIPTION" : "profile pressure - this may change if the float is reprogrammed and must be reported in the mission configuration settings" }, @@ -307,7 +307,7 @@ { "CONF_PARAM_DEC_ID" : "137", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée du motif (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e du motif (sec)", "CONF_PARAM_NAME" : "CONFIG_CycleTime_seconds", "CONF_PARAM_DESCRIPTION" : "For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value." }, @@ -315,7 +315,7 @@ { "CONF_PARAM_DEC_ID" : "138", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Heure de présence en surface", + "CONF_PARAM_MSG_LABEL" : "Heure de prĂ©sence en surface", "CONF_PARAM_NAME" : "CONFIG_SurfaceTime_seconds", "CONF_PARAM_DESCRIPTION" : "Time of day of float surfacing - could be hour of the float surfacing or could be stored as seconds when set as hh:mm:ss (e.g. for PROVOR CTS5)" }, @@ -323,7 +323,7 @@ { "CONF_PARAM_DEC_ID" : "139", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la prise de position GPS", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la prise de position GPS", "CONF_PARAM_NAME" : "CONFIG_GPSAcquisitionEndCycle_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a GPS session to acquire a GPS fix at the end of the cycle (Yes=1/No=0)." }, @@ -331,7 +331,7 @@ { "CONF_PARAM_DEC_ID" : "140", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation d’une session de transmission", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation d’une session de transmission", "CONF_PARAM_NAME" : "CONFIG_TransmissionEndCycle_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a telemetry transmission at the end of the cycle (Yes=1/No=0)." }, @@ -339,7 +339,7 @@ { "CONF_PARAM_DEC_ID" : "141", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de tension batterie faible (V)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de tension batterie faible (V)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowBatteryNoLoadAlarmThreshold_volts", "CONF_PARAM_DESCRIPTION" : "Min threshold of battery level before raising a low battery no load alarm." }, @@ -347,7 +347,7 @@ { "CONF_PARAM_DEC_ID" : "142", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression interne forte (mbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression interne forte (mbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighInternalPressureAlarmThreshold_mbar", "CONF_PARAM_DESCRIPTION" : "Max threshold of internal pressure level before raising a high internal pressure alarm." }, @@ -355,7 +355,7 @@ { "CONF_PARAM_DEC_ID" : "143", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de sauts de pression externe incohérents (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de sauts de pression externe incohĂ©rents (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighAccelerationAlarmThreshold_cm/s", "CONF_PARAM_DESCRIPTION" : "Max threshold of vertical speed level before raising a External pressure sensor failure alarm." }, @@ -363,7 +363,7 @@ { "CONF_PARAM_DEC_ID" : "144", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression externe faible (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression externe faible (dbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowExternalPressureAlarmThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Min threshold of external pressure before raising a Low external pressure alarm." }, @@ -371,7 +371,7 @@ { "CONF_PARAM_DEC_ID" : "145", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression externe forte / pression limite (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression externe forte / pression limite (dbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighExternalPressureAlarmThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Max threshold of external pressure before raising a High external pressure alarm." }, @@ -379,7 +379,7 @@ { "CONF_PARAM_DEC_ID" : "146", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Détection de capteur de pression externe cassé (erreurs successives)", + "CONF_PARAM_MSG_LABEL" : "DĂ©tection de capteur de pression externe cassĂ© (erreurs successives)", "CONF_PARAM_NAME" : "CONFIG_AUX_MaxExternalPressureErrorAlarmThreshold_NUMBER", "CONF_PARAM_DESCRIPTION" : "Max number of successive errors from the external pressure sensor before raising a External pressure sensor failure alarm." }, @@ -387,7 +387,7 @@ { "CONF_PARAM_DEC_ID" : "147", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection d’échouage ŕ la descente (cm3)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection d’échouage Ă  la descente (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMinForGroundingDetection_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is a threshold used to detect a grounding of the float. If there is no vertical motion after having tranferred CONFIG_OilVolumeMinForGroundingDetection_cm^3 through the valve, the gounded flag is activated and the float acts as configurated by the CONFIG_GroundingMode_LOGICAL parameter.So, yes it is a configuration parameter (and I can easily understand that it can be modified via remote control since some PROVOR floats have experienced erroneous grounding detection (under study but perhaps due to in-situ conditions)." }, @@ -395,7 +395,7 @@ { "CONF_PARAM_DEC_ID" : "148", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection d’accrochage ŕ la remontée (cm3)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection d’accrochage Ă  la remontĂ©e (cm3)", "CONF_PARAM_NAME" : "CONFIG_AUX_OilVolumeMinForHangingDetection_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is a threshold used to detect a hanging of the float. If there is no ascent vertical motion after having tranferred CONFIG_OilVolumeMinForHangingDetection_cm^3 through the pump the hanged alarm is activated." }, @@ -403,7 +403,7 @@ { "CONF_PARAM_DEC_ID" : "149", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de vitesse de descente élevée (freinage)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de vitesse de descente Ă©levĂ©e (freinage)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighDescentSpeedAlarmThreshold_cm/s", "CONF_PARAM_DESCRIPTION" : "Max threshold of descent speed before raising a braking alarm." }, @@ -411,7 +411,7 @@ { "CONF_PARAM_DEC_ID" : "150", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de tension batterie (min. sur pompe) faible (V)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de tension batterie (min. sur pompe) faible (V)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowBatteryLoadAlarmThreshold_volts", "CONF_PARAM_DESCRIPTION" : "Min threshold of battery level before raising a low battery load alarm." }, @@ -419,7 +419,7 @@ { "CONF_PARAM_DEC_ID" : "151", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » avant boucle (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » avant boucle (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayBeforeLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) before loops ([0-86400 (24 h)]) (see float manual for details)." }, @@ -427,7 +427,7 @@ { "CONF_PARAM_DEC_ID" : "152", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » dans boucle « motif » (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » dans boucle « motif » (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayInPatternLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) during pattern loops ([0-7200 (2 h)]) (see float manual for details)." }, @@ -435,7 +435,7 @@ { "CONF_PARAM_DEC_ID" : "153", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » dans boucle « cycle » (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » dans boucle « cycle » (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayInCycleLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) during cycle loops ([0-7200 (2 h)]) (see float manual for details)." }, @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "154", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation pour test (étape « TC ») (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation pour test (Ă©tape « TC ») (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_TestTimeDelay_seconds", "CONF_PARAM_DESCRIPTION" : "Test temporization (step 'TC' of the mission) ([0-600 (10 min)]) (see float manual for details)." }, @@ -451,7 +451,7 @@ { "CONF_PARAM_DEC_ID" : "155", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la prise de position GPS en fin de vie", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la prise de position GPS en fin de vie", "CONF_PARAM_NAME" : "CONFIG_GPSAcquisitionEndOfLife_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a GPS session to acquire a GPS fix in each End Of Life transmission (Yes=1/No=0)." }, @@ -459,7 +459,7 @@ { "CONF_PARAM_DEC_ID" : "156", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de transmission en fin de vie (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de transmission en fin de vie (sec)", "CONF_PARAM_NAME" : "CONFIG_TransmissionPeriodEndOfLife_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the Iridium transmission when in End Of Life mode (in minutes)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "158", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la détection d’échouage ŕ la descente", + "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la dĂ©tection d’échouage Ă  la descente", "CONF_PARAM_NAME" : "CONFIG_GroundingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Action performed by the float when a grounding is detected. 0: the float changes its drift pressure, 1: the float stays on the seabed until the next phase of the cycle. For PROVOR CTS5 the number assigned to each mode has changed - see float manual for details for this model." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "159", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Offset de consigne en cas de gestion d’échouage par correction (dbar)", + "CONF_PARAM_MSG_LABEL" : "Offset de consigne en cas de gestion d’échouage par correction (dbar)", "CONF_PARAM_NAME" : "CONFIG_GroundingModePresAdjustment_dbar", "CONF_PARAM_DESCRIPTION" : "If in grounding mode 0, the float changes its drift pressure to its programmed one minus this value only if its current pressure is greater than this value." }, @@ -491,7 +491,7 @@ { "CONF_PARAM_DEC_ID" : "160", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la détection d’accrochage ŕ la remontée", + "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la dĂ©tection d’accrochage Ă  la remontĂ©e", "CONF_PARAM_NAME" : "CONFIG_HangingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Action performed by the float when a hanging is detected (see float manual for details). [JP additional comments on behaviour for PROVOR floats: The hanging mode is the same idea as the grounding mode but for an ascent phase. When the float detects a too low vertical motion after having activated its pump to try to ascend it enters in a hanging mode (it is probably stuck at the sea floor). This parameter configures (with the same idea as CONFIG_GroundingMode_NUMBER for grounding) what should be the actions to perform to try to escape from hanging (it can activate its pump and valve alternatively to try to escape or abandon the ascent and switch to the next scheduled task]." }, @@ -499,7 +499,7 @@ { "CONF_PARAM_DEC_ID" : "161", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression minimale pour échappement en cas de détection d’échouage", + "CONF_PARAM_MSG_LABEL" : "Pression minimale pour Ă©chappement en cas de dĂ©tection d’échouage", "CONF_PARAM_NAME" : "CONFIG_GroundingModeMinPresThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "If in grounding mode 0, the float changes its drift pressure only if its current pressure is greater than this value." }, @@ -507,7 +507,7 @@ { "CONF_PARAM_DEC_ID" : "162", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de début de remontée « lente » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©but de remontĂ©e « lente » (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedStartPressureThresholdForSlowPhase_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the slow ascent speed phase." }, @@ -515,7 +515,7 @@ { "CONF_PARAM_DEC_ID" : "163", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de début de remontée « lente » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©but de remontĂ©e « lente » (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedStartPressureThresholdForSlowPhase_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the slow ascent speed phase." }, @@ -523,7 +523,7 @@ { "CONF_PARAM_DEC_ID" : "164", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de réalisation du test de présence de glace (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de rĂ©alisation du test de prĂ©sence de glace (dbar)", "CONF_PARAM_NAME" : "CONFIG_IceDetectionAcousticStartPressureThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the acoustic ice detection test. " }, @@ -531,7 +531,7 @@ { "CONF_PARAM_DEC_ID" : "165", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée du test de présence de glace", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e du test de prĂ©sence de glace", "CONF_PARAM_NAME" : "CONFIG_IceDetectionTestDuration_minutes", "CONF_PARAM_DESCRIPTION" : "Duration of the ice detection test." }, @@ -539,7 +539,7 @@ { "CONF_PARAM_DEC_ID" : "301", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro DNIS associé ŕ la carte SIM", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro DNIS associĂ© Ă  la carte SIM", "CONF_PARAM_NAME" : "META_AUX_FLOAT_DNIS_NUMBER", "CONF_PARAM_DESCRIPTION" : "DNIS number of the SIM card of the float." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "302", "CONF_PARAM_TYPE" : "META", - "CONF_PARAM_MSG_LABEL" : "Identifiant du compte associé au flotteur (sur le serveur)", + "CONF_PARAM_MSG_LABEL" : "Identifiant du compte associĂ© au flotteur (sur le serveur)", "CONF_PARAM_NAME" : "META_PTT", "CONF_PARAM_DESCRIPTION" : "Transmission identifier of the float." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "303", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_IRIDIUM_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the Iridium device." }, @@ -563,7 +563,7 @@ { "CONF_PARAM_DEC_ID" : "166", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée maximale de la session Iridium (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e maximale de la session Iridium (sec)", "CONF_PARAM_NAME" : "CONFIG_ConnectionTimeOut_seconds", "CONF_PARAM_DESCRIPTION" : "Connection time-out, i.e. maximum transmission period for one telemetry session" }, @@ -571,7 +571,7 @@ { "CONF_PARAM_DEC_ID" : "167", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Taille de bloc pour le découpage des fichiers", + "CONF_PARAM_MSG_LABEL" : "Taille de bloc pour le dĂ©coupage des fichiers", "CONF_PARAM_NAME" : "CONFIG_AUX_TransmittedFileMaxSize_kbyte", "CONF_PARAM_DESCRIPTION" : "Max size for transmitted files (in kbyte). Larger files are split before transmission." }, @@ -579,7 +579,7 @@ { "CONF_PARAM_DEC_ID" : "168", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Format des fichiers de mesure (*.csv, *.hex étendu, *.hex standard)", + "CONF_PARAM_MSG_LABEL" : "Format des fichiers de mesure (*.csv, *.hex Ă©tendu, *.hex standard)", "CONF_PARAM_NAME" : "CONFIG_AUX_CtdDataFormat_NUMBER", "CONF_PARAM_DESCRIPTION" : "Format of the transmitted CTD data (0: CSV format, 1: extended hex format, 2: standard hex format) (see float manual for details)." }, @@ -587,7 +587,7 @@ { "CONF_PARAM_DEC_ID" : "169", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Mode de transmission des fichiers (standard, étendu, haute vitesse)", + "CONF_PARAM_MSG_LABEL" : "Mode de transmission des fichiers (standard, Ă©tendu, haute vitesse)", "CONF_PARAM_NAME" : "CONFIG_AUX_FileTransmissionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "File transmission mode (0: standard, 1: extended, 2: streaming)." }, @@ -595,7 +595,7 @@ { "CONF_PARAM_DEC_ID" : "304", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Identification de la mécanique", + "CONF_PARAM_MSG_LABEL" : "Identification de la mĂ©canique", "CONF_PARAM_NAME" : "META_AUX_HYDRAULIC_ENGINE_TYPE", "CONF_PARAM_DESCRIPTION" : "Reference of the hydraulic device." }, @@ -603,7 +603,7 @@ { "CONF_PARAM_DEC_ID" : "170", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Volume total d’huile dans le circuit hydraulique (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume total d’huile dans le circuit hydraulique (cm3)", "CONF_PARAM_NAME" : "CONFIG_AUX_TotalOilVolume_cm^3", "CONF_PARAM_DESCRIPTION" : "Total volume of oil in the hydraulic device." }, @@ -611,7 +611,7 @@ { "CONF_PARAM_DEC_ID" : "305", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_SENSOR_BOARD_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the sensor board." }, @@ -619,7 +619,7 @@ { "CONF_PARAM_DEC_ID" : "306", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro de la sortie de puissance", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro de la sortie de puissance", "CONF_PARAM_NAME" : "META_AUX_SENSOR_BOARD_POWER_OUTPUT_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power output port number used by the sensor board." }, @@ -627,7 +627,7 @@ { "CONF_PARAM_DEC_ID" : "171", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation du message « $ADJUST »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation du message « $ADJUST »", "CONF_PARAM_NAME" : "CONFIG_AUX_InformSensorBoardDuringHydraulicAction_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Ask/inform the sensor board during hydraulic adjustments." }, @@ -635,7 +635,7 @@ { "CONF_PARAM_DEC_ID" : "172", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de l’autotest complet", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de l’autotest complet", "CONF_PARAM_NAME" : "CONFIG_AUX_FullAutotest_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Perform a full autotest." }, @@ -643,7 +643,7 @@ { "CONF_PARAM_DEC_ID" : "307", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_GPS_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the GPS device." }, @@ -651,7 +651,7 @@ { "CONF_PARAM_DEC_ID" : "308", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro de la sortie de puissance", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro de la sortie de puissance", "CONF_PARAM_NAME" : "META_AUX_GPS_POWER_OUTPUT_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power output port number used by the GPS device." }, @@ -659,7 +659,7 @@ { "CONF_PARAM_DEC_ID" : "173", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la synchronisation PPS (module externe)", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la synchronisation PPS (module externe)", "CONF_PARAM_NAME" : "CONFIG_GPSSetClockSensorCard_LOGICAL", "CONF_PARAM_DESCRIPTION" : "When the float Real Time Clock is set, also set the clock of the measurement card." }, @@ -667,7 +667,7 @@ { "CONF_PARAM_DEC_ID" : "174", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation du positionnement amélioré (altitude 0m)", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation du positionnement amĂ©liorĂ© (altitude 0m)", "CONF_PARAM_NAME" : "CONFIG_GPSImprovedLocation_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Use the GPS improved location mode. This mode can be used when the float altitude is 0 meter, it provides better locations." }, @@ -675,47 +675,47 @@ { "CONF_PARAM_DEC_ID" : "175", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / descente vers profondeur dérive (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / descente vers profondeur dĂ©rive (sec)", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_86" : { "CONF_PARAM_DEC_ID" : "176", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / dérive profondeur parking (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / dĂ©rive profondeur parking (sec)", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone #." }, "CONF_PARAM_87" : { "CONF_PARAM_DEC_ID" : "177", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / descente vers profondeur mesure (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / descente vers profondeur mesure (sec)", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_88" : { "CONF_PARAM_DEC_ID" : "178", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / dérive profondeur mesure (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / dĂ©rive profondeur mesure (sec)", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone #." }, "CONF_PARAM_89" : { "CONF_PARAM_DEC_ID" : "179", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / remontée (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / remontĂ©e (sec)", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_90" : { "CONF_PARAM_DEC_ID" : "180", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type d’acquisition", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type d’acquisition", "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous)." }, @@ -723,7 +723,7 @@ { "CONF_PARAM_DEC_ID" : "181", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de traitement", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de traitement", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataProcessingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data processing output of the in the depth zone # (see float manual for details)." }, @@ -731,7 +731,7 @@ { "CONF_PARAM_DEC_ID" : "182", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de synchronisation", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de synchronisation", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataSynchronizationMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details)." }, @@ -739,7 +739,7 @@ { "CONF_PARAM_DEC_ID" : "183", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Epaisseur de tranche (dbar)", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Epaisseur de tranche (dbar)", "CONF_PARAM_NAME" : "CONFIG_DepthZoneSlicesThickness_dbar", "CONF_PARAM_DESCRIPTION" : "Slices thickness for in the depth zone # (in dbar)." }, @@ -755,7 +755,7 @@ { "CONF_PARAM_DEC_ID" : "185", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée de chauffe capteur (msec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de chauffe capteur (msec)", "CONF_PARAM_NAME" : "CONFIG_WarmUpTime_msec", "CONF_PARAM_DESCRIPTION" : "Time, needed after the is powered ON, to provide its first sample (in milli-seconds)." }, @@ -763,7 +763,7 @@ { "CONF_PARAM_DEC_ID" : "186", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée d’extinction capteur (msec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e d’extinction capteur (msec)", "CONF_PARAM_NAME" : "CONFIG_PowerSwitchDelayMin_msec", "CONF_PARAM_DESCRIPTION" : "Minimum waiting time needed by the between a switch OFF and a switch ON (in milli-seconds)." }, @@ -771,7 +771,7 @@ { "CONF_PARAM_DEC_ID" : "187", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Index de filtrage du premier échantillon valide", + "CONF_PARAM_MSG_LABEL" : "Index de filtrage du premier Ă©chantillon valide", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -779,7 +779,7 @@ { "CONF_PARAM_DEC_ID" : "188", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", "CONF_PARAM_NAME" : "CONFIG_CTDPumpStopPressure_dbar", "CONF_PARAM_DESCRIPTION" : "The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity." }, @@ -1068,144 +1068,144 @@ "CONF_PARAM_DEC_ID" : "223", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of depth zones.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_135" : { "CONF_PARAM_DEC_ID" : "224", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_136" : { "CONF_PARAM_DEC_ID" : "225", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_137" : { "CONF_PARAM_DEC_ID" : "226", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_138" : { "CONF_PARAM_DEC_ID" : "227", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_139" : { "CONF_PARAM_DEC_ID" : "228", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_140" : { "CONF_PARAM_DEC_ID" : "229", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_141" : { "CONF_PARAM_DEC_ID" : "230", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_142" : { "CONF_PARAM_DEC_ID" : "231", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_143" : { "CONF_PARAM_DEC_ID" : "232", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of sampling schemes.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_144" : { "CONF_PARAM_DEC_ID" : "233", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_145" : { "CONF_PARAM_DEC_ID" : "234", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_146" : { "CONF_PARAM_DEC_ID" : "235", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_147" : { "CONF_PARAM_DEC_ID" : "236", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_148" : { "CONF_PARAM_DEC_ID" : "237", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled for the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_149" : { "CONF_PARAM_DEC_ID" : "238", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled with the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_150" : { "CONF_PARAM_DEC_ID" : "239", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_151" : { "CONF_PARAM_DEC_ID" : "240", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_152" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_123.json b/decArgo_soft/config/_configParamNames/_config_param_name_123.json index 19f22628..a0f27617 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_123.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_123.json @@ -11,7 +11,7 @@ { "CONF_PARAM_DEC_ID" : "101", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Profondeur de détail du journal des événements", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©tail du journal des Ă©vĂ©nements", "CONF_PARAM_NAME" : "CONFIG_AUX_EventLoggerDescriptionLevel_NUMBER", "CONF_PARAM_DESCRIPTION" : "Level of events stored in the associated log file ([0-3])." }, @@ -19,7 +19,7 @@ { "CONF_PARAM_DEC_ID" : "102", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Séparateurs décimal et colonne pour les fichiers de données (csv)", + "CONF_PARAM_MSG_LABEL" : "SĂ©parateurs dĂ©cimal et colonne pour les fichiers de donnĂ©es (csv)", "CONF_PARAM_NAME" : "CONFIG_AUX_OutputCsvConfiguration_STRING", "CONF_PARAM_DESCRIPTION" : "The CTD can be transmitted in a CSV file. The first character of this parameter defines the decimal character to use, the second character defines the column separator to use." }, @@ -27,7 +27,7 @@ { "CONF_PARAM_DEC_ID" : "300", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Adresse IP du flotteur lors d’une connexion locale par le lien Bluetooth", + "CONF_PARAM_MSG_LABEL" : "Adresse IP du flotteur lors d’une connexion locale par le lien Bluetooth", "CONF_PARAM_NAME" : "META_AUX_FLOAT_IP_ADDRESS", "CONF_PARAM_DESCRIPTION" : "IP address of the float for a bluetooth connection." }, @@ -35,7 +35,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Liste des tâches du systčme", + "CONF_PARAM_MSG_LABEL" : "Liste des tâches du système", "CONF_PARAM_NAME" : "CONFIG_AUX_SystemTaskList_STRING", "CONF_PARAM_DESCRIPTION" : "List of tasks considered by the float (see float manual for details)." }, @@ -43,7 +43,7 @@ { "CONF_PARAM_DEC_ID" : "104", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation des fichiers traces « utilisateur »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation des fichiers traces « utilisateur »", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableUserLog_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable user log file generation and transmission." }, @@ -51,7 +51,7 @@ { "CONF_PARAM_DEC_ID" : "105", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation des fichiers traces « systčme »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation des fichiers traces « système »", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableSystemLog_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable system log file generation and transmission." }, @@ -59,7 +59,7 @@ { "CONF_PARAM_DEC_ID" : "106", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de l’autotest complet", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de l’autotest complet", "CONF_PARAM_NAME" : "CONFIG_TelemetryAutoTestAtDeployment_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Perform a full auto-test (RUDICS server connection test) at float deployment (Yes=1/No=0).A full auto-test includes a connection test on the RUDICS server and a GPS fix acquisition." }, @@ -67,7 +67,7 @@ { "CONF_PARAM_DEC_ID" : "107", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Critčre de risque associé ŕ la rétroaction", + "CONF_PARAM_MSG_LABEL" : "Critère de risque associĂ© Ă  la rĂ©troaction", "CONF_PARAM_NAME" : "CONFIG_AUX_FeedbackRiskLevel_NUMBER", "CONF_PARAM_DESCRIPTION" : "Set the feedback risk level used to decide if a feedback, raised by the sensor board, should be accepted by the vector board (number between 0: lowest risk and 4:highest risk) (see float manual for details)." }, @@ -75,7 +75,7 @@ { "CONF_PARAM_DEC_ID" : "108", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Récupération de flottabilité maximum", + "CONF_PARAM_MSG_LABEL" : "RĂ©cupĂ©ration de flottabilitĂ© maximum", "CONF_PARAM_NAME" : "CONFIG_AUX_EnableHeavyFloatAlarm_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Enable/disable heavy float alarm. Heavy float alarm should be disabled if a 'heavy float deployment' is wanted." }, @@ -83,7 +83,7 @@ { "CONF_PARAM_DEC_ID" : "109", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Offset de pression externe aprčs surface effective uniquement", + "CONF_PARAM_MSG_LABEL" : "Offset de pression externe après surface effective uniquement", "CONF_PARAM_NAME" : "CONFIG_PressureOffsetSampledAfterTransmission_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The surface pressure offset is sampled only if an Iridium transmission or a GPS session occured (to be sure that the pressure offset is sampled at the surface). Original proposed names was: CONFIG_SecuredPressureOffsetSampledAtSurface_LOGICAL" }, @@ -91,7 +91,7 @@ { "CONF_PARAM_DEC_ID" : "110", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Format d’horodatage pour les fichiers de données (*.csv)", + "CONF_PARAM_MSG_LABEL" : "Format d’horodatage pour les fichiers de donnĂ©es (*.csv)", "CONF_PARAM_NAME" : "CONFIG_AUX_OutputCsvDatetimeFormat_NUMBER", "CONF_PARAM_DESCRIPTION" : "The CTD can be transmitted in a CSV file. This parameter is used to set the format of the measurement times (0: seconds elapsed since 01/01/1900, 1: Excel format, 2: Unix format, 3: Mac format)." }, @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "111", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Carte mémoire additionnelle obligatoire pour la mission", + "CONF_PARAM_MSG_LABEL" : "Carte mĂ©moire additionnelle obligatoire pour la mission", "CONF_PARAM_NAME" : "CONFIG_AUX_RequestedMemoryCard_LOGICAL", "CONF_PARAM_DESCRIPTION" : "An additional memory card is requested for some missions (ex: under-ice mission). This parameter is designed to fail the autotest if the requested additional memory card is not present." }, @@ -115,7 +115,7 @@ { "CONF_PARAM_DEC_ID" : "113", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de vitesse en remontée pour action pompe (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Seuil de vitesse en remontĂ©e pour action pompe (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedMin_cm/s", "CONF_PARAM_DESCRIPTION" : "Float minimum ascent speed before activating the pump." }, @@ -131,7 +131,7 @@ { "CONF_PARAM_DEC_ID" : "115", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Vitesse de remontée typique (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Vitesse de remontĂ©e typique (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeed_cm/s", "CONF_PARAM_DESCRIPTION" : "ascent speed during upcast (can be used to estimate the profile duration). " }, @@ -139,7 +139,7 @@ { "CONF_PARAM_DEC_ID" : "116", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en descente (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en descente (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceForStabilisation_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float stabilisation at parking or profile depth (in dbars)." }, @@ -147,7 +147,7 @@ { "CONF_PARAM_DEC_ID" : "117", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en remontée (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en remontĂ©e (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceForStabilisationDuringAscent_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float stabilisation during ascent at a prescribed depth. The prescibed depth could be the PRES threshold to start low ascent (but I think this should not be in the definition which should stay more generic)." }, @@ -155,7 +155,7 @@ { "CONF_PARAM_DEC_ID" : "118", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de positionnement en dérive (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de positionnement en dĂ©rive (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceDuringDrift_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval for float drift at parking or profile depth (in dbars)." }, @@ -163,7 +163,7 @@ { "CONF_PARAM_DEC_ID" : "119", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Tolérance de repositionnement en dérive (dbar)", + "CONF_PARAM_MSG_LABEL" : "TolĂ©rance de repositionnement en dĂ©rive (dbar)", "CONF_PARAM_NAME" : "CONFIG_PressureTargetToleranceBeforeReposition_dbar", "CONF_PARAM_DESCRIPTION" : "Defines the target pressure interval before performing a buoyancy readjustment to reposition during the drift at parking depth. When a PRES measurement (sampled to monitor the float drift at parking depth) is outside the [parking_pressure +- CONFIG_PressureTargetToleranceBeforeReposition_dbar] interval, the float adjust its buoyancy." }, @@ -171,7 +171,7 @@ { "CONF_PARAM_DEC_ID" : "120", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en descente (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en descente (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeDescent_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float descent (after CONFIG_BuoyancyReductionSecondThreshold_dbar)." }, @@ -179,7 +179,7 @@ { "CONF_PARAM_DEC_ID" : "121", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en remontée (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en remontĂ©e (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeAscent_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float ascent to surface." }, @@ -187,7 +187,7 @@ { "CONF_PARAM_DEC_ID" : "122", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de surveillance de pression en dérive (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de surveillance de pression en dĂ©rive (sec)", "CONF_PARAM_NAME" : "CONFIG_PressureCheckTimeParking_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the pressure checks during the float drift at park or profile depth." }, @@ -195,7 +195,7 @@ { "CONF_PARAM_DEC_ID" : "123", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action EV en descente/repositionnement (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action EV en descente/repositionnement (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMaxPerValveAction_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is used as a threshold for the valve action durations. The valve flow is known for each float and CONFIG_OilVolumeMaxPerValveAction_cm^3 is converted to a maxDurationOfValveAction. During descent phases the float regularly computes a valve duration to sink to the target depth. In some specific cases the result can be a huge valve action duration and the result must be thresholded by maxDurationOfValveAction." }, @@ -203,7 +203,7 @@ { "CONF_PARAM_DEC_ID" : "124", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action pompe en repositionnement (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume maximum d’une action pompe en repositionnement (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMaxPerPumpActionReposition_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is used as a threshold for the pump action duration for reposition in the parking drift interval. The pump flow is known for each float and CONFIG_OilVolumeMaxPerPumpActionReposition_cm^3 is converted to a maxDurationOfPumpActionReposition. When a reposition should be performed, the float computes the needed pump action duration. In some specific cases the result can be a huge pump action duration and the result must be thresholded by maxDurationOfPumpActionReposition." }, @@ -211,7 +211,7 @@ { "CONF_PARAM_DEC_ID" : "125", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil 1 de réduction d’émergence (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil 1 de rĂ©duction d’émergence (dbar)", "CONF_PARAM_NAME" : "CONFIG_BuoyancyReductionFirstThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "First threshold of the buoyancy reduction phase (see float manual for explanations)." }, @@ -219,7 +219,7 @@ { "CONF_PARAM_DEC_ID" : "126", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil 2 de réduction d’émergence (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil 2 de rĂ©duction d’émergence (dbar)", "CONF_PARAM_NAME" : "CONFIG_BuoyancyReductionSecondThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Second threshold of the buoyancy reduction phase (see float manual for explanations)." }, @@ -227,7 +227,7 @@ { "CONF_PARAM_DEC_ID" : "127", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en remontée (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en remontĂ©e (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumePerPumpActionAscent_cm^3", "CONF_PARAM_DESCRIPTION" : "Nominal oil volume of each pump action during ascent." }, @@ -235,7 +235,7 @@ { "CONF_PARAM_DEC_ID" : "128", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en freinage (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’une action pompe en freinage (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumePerPumpActionDescent_cm^3", "CONF_PARAM_DESCRIPTION" : "Nominal oil volume of each pump action during descent (when the float brakes because of a too fast descent speed)." }, @@ -243,7 +243,7 @@ { "CONF_PARAM_DEC_ID" : "129", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Temps d’activation EV durant la phase 2 de réduction d’émergence (csec)", + "CONF_PARAM_MSG_LABEL" : "Temps d’activation EV durant la phase 2 de rĂ©duction d’émergence (csec)", "CONF_PARAM_NAME" : "CONFIG_ValveTimeActionBuoyancyReduction_csec", "CONF_PARAM_DESCRIPTION" : "Duration of the valve actions during the second phase of the buoyancy reduction (between CONFIG_BuoyancyReductionFirstThreshold_dbar and CONFIG_BuoyancyReductionSecondThreshold_dbar)." }, @@ -251,7 +251,7 @@ { "CONF_PARAM_DEC_ID" : "130", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Facteur d’activation EV durant la phase 2 de réduction d’émergence", + "CONF_PARAM_MSG_LABEL" : "Facteur d’activation EV durant la phase 2 de rĂ©duction d’émergence", "CONF_PARAM_NAME" : "CONFIG_ValveActionPeriodFactorBuoyancyReduction_NUMBER", "CONF_PARAM_DESCRIPTION" : "Define the period of valve actions during the second phase of the buoyancy reduction (between CONFIG_BuoyancyReductionFirstThreshold_dbar and CONFIG_BuoyancyReductionSecondThreshold_dbar). The valve is open during CONFIG_ValveTimeActionBuoyancyReduction_csec each CONFIG_ValveTimeActionBuoyancyReduction_csec*CONFIG_ValveActionPeriodFactorBuoyancyReduction_NUMBER." }, @@ -259,7 +259,7 @@ { "CONF_PARAM_DEC_ID" : "131", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’émergence (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume forfaitaire d’émergence (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeLastPumpActionBuoyancyAcquisition_cm^3", "CONF_PARAM_DESCRIPTION" : "Volume of the last pump action of the buoyancy acquisition phase. Original proposed name was: CONFIG_PumpActionOilVolumeBuoyancyAcquisition_cm^3" }, @@ -267,7 +267,7 @@ { "CONF_PARAM_DEC_ID" : "132", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de fin de remontée (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de fin de remontĂ©e (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentEndThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Threshold used by the float to stop ascent speed control and pump actions." }, @@ -275,7 +275,7 @@ { "CONF_PARAM_DEC_ID" : "133", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Puissance du ralentissement ŕ la remontée (0=aucun, 1=faible, 5=fort)", + "CONF_PARAM_MSG_LABEL" : "Puissance du ralentissement Ă  la remontĂ©e (0=aucun, 1=faible, 5=fort)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedFactor_NUMBER", "CONF_PARAM_DESCRIPTION" : "This factor defines the speed of the ascent phase (between 0: nominal speed and 5: lowest speed)." }, @@ -283,7 +283,7 @@ { "CONF_PARAM_DEC_ID" : "134", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Puissance du freinage en abandon de remontée (multiplie P15)", + "CONF_PARAM_MSG_LABEL" : "Puissance du freinage en abandon de remontĂ©e (multiplie P15)", "CONF_PARAM_NAME" : "CONFIG_ProfileEvasionBrakingFactor_NUMBER", "CONF_PARAM_DESCRIPTION" : "This factor defines the oil volume transferred from the external bladder when a profile evasion occurs and the float has to brake. The transferred oil volume is CONFIG_ProfileEvasionAscentSpeedFactor_NUMBER times the oil volume of the last pump action." }, @@ -291,7 +291,7 @@ { "CONF_PARAM_DEC_ID" : "135", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de dérive « parking » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©rive « parking » (dbar)", "CONF_PARAM_NAME" : "CONFIG_ParkPressure_dbar", "CONF_PARAM_DESCRIPTION" : "park pressure - this may change if the float is reprogrammed and must be reported in the mission configuration settings" }, @@ -299,7 +299,7 @@ { "CONF_PARAM_DEC_ID" : "136", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de dérive « mesure » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©rive « mesure » (dbar)", "CONF_PARAM_NAME" : "CONFIG_ProfilePressure_dbar", "CONF_PARAM_DESCRIPTION" : "profile pressure - this may change if the float is reprogrammed and must be reported in the mission configuration settings" }, @@ -307,7 +307,7 @@ { "CONF_PARAM_DEC_ID" : "137", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée du motif (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e du motif (sec)", "CONF_PARAM_NAME" : "CONFIG_CycleTime_seconds", "CONF_PARAM_DESCRIPTION" : "For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value." }, @@ -315,7 +315,7 @@ { "CONF_PARAM_DEC_ID" : "138", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Heure de présence en surface", + "CONF_PARAM_MSG_LABEL" : "Heure de prĂ©sence en surface", "CONF_PARAM_NAME" : "CONFIG_SurfaceTime_seconds", "CONF_PARAM_DESCRIPTION" : "Time of day of float surfacing - could be hour of the float surfacing or could be stored as seconds when set as hh:mm:ss (e.g. for PROVOR CTS5)" }, @@ -323,7 +323,7 @@ { "CONF_PARAM_DEC_ID" : "139", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la prise de position GPS", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la prise de position GPS", "CONF_PARAM_NAME" : "CONFIG_GPSAcquisitionEndCycle_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a GPS session to acquire a GPS fix at the end of the cycle (Yes=1/No=0)." }, @@ -331,7 +331,7 @@ { "CONF_PARAM_DEC_ID" : "140", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation d’une session de transmission", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation d’une session de transmission", "CONF_PARAM_NAME" : "CONFIG_TransmissionEndCycle_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a telemetry transmission at the end of the cycle (Yes=1/No=0)." }, @@ -339,7 +339,7 @@ { "CONF_PARAM_DEC_ID" : "141", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de tension batterie faible (V)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de tension batterie faible (V)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowBatteryNoLoadAlarmThreshold_volts", "CONF_PARAM_DESCRIPTION" : "Min threshold of battery level before raising a low battery no load alarm." }, @@ -347,7 +347,7 @@ { "CONF_PARAM_DEC_ID" : "142", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression interne forte (mbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression interne forte (mbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighInternalPressureAlarmThreshold_mbar", "CONF_PARAM_DESCRIPTION" : "Max threshold of internal pressure level before raising a high internal pressure alarm." }, @@ -355,7 +355,7 @@ { "CONF_PARAM_DEC_ID" : "143", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de sauts de pression externe incohérents (cm/s)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de sauts de pression externe incohĂ©rents (cm/s)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighAccelerationAlarmThreshold_cm/s", "CONF_PARAM_DESCRIPTION" : "Max threshold of vertical speed level before raising a External pressure sensor failure alarm." }, @@ -363,7 +363,7 @@ { "CONF_PARAM_DEC_ID" : "144", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression externe faible (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression externe faible (dbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowExternalPressureAlarmThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Min threshold of external pressure before raising a Low external pressure alarm." }, @@ -371,7 +371,7 @@ { "CONF_PARAM_DEC_ID" : "145", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de pression externe forte / pression limite (dbar)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de pression externe forte / pression limite (dbar)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighExternalPressureAlarmThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Max threshold of external pressure before raising a High external pressure alarm." }, @@ -379,7 +379,7 @@ { "CONF_PARAM_DEC_ID" : "146", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Détection de capteur de pression externe cassé (erreurs successives)", + "CONF_PARAM_MSG_LABEL" : "DĂ©tection de capteur de pression externe cassĂ© (erreurs successives)", "CONF_PARAM_NAME" : "CONFIG_AUX_MaxExternalPressureErrorAlarmThreshold_NUMBER", "CONF_PARAM_DESCRIPTION" : "Max number of successive errors from the external pressure sensor before raising a External pressure sensor failure alarm." }, @@ -387,7 +387,7 @@ { "CONF_PARAM_DEC_ID" : "147", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection d’échouage ŕ la descente (cm3)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection d’échouage Ă  la descente (cm3)", "CONF_PARAM_NAME" : "CONFIG_OilVolumeMinForGroundingDetection_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is a threshold used to detect a grounding of the float. If there is no vertical motion after having tranferred CONFIG_OilVolumeMinForGroundingDetection_cm^3 through the valve, the gounded flag is activated and the float acts as configurated by the CONFIG_GroundingMode_LOGICAL parameter.So, yes it is a configuration parameter (and I can easily understand that it can be modified via remote control since some PROVOR floats have experienced erroneous grounding detection (under study but perhaps due to in-situ conditions)." }, @@ -395,7 +395,7 @@ { "CONF_PARAM_DEC_ID" : "148", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection d’accrochage ŕ la remontée (cm3)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection d’accrochage Ă  la remontĂ©e (cm3)", "CONF_PARAM_NAME" : "CONFIG_AUX_OilVolumeMinForHangingDetection_cm^3", "CONF_PARAM_DESCRIPTION" : "This information is a threshold used to detect a hanging of the float. If there is no ascent vertical motion after having tranferred CONFIG_OilVolumeMinForHangingDetection_cm^3 through the pump the hanged alarm is activated." }, @@ -403,7 +403,7 @@ { "CONF_PARAM_DEC_ID" : "149", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de vitesse de descente élevée (freinage)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de vitesse de descente Ă©levĂ©e (freinage)", "CONF_PARAM_NAME" : "CONFIG_AUX_HighDescentSpeedAlarmThreshold_cm/s", "CONF_PARAM_DESCRIPTION" : "Max threshold of descent speed before raising a braking alarm." }, @@ -411,7 +411,7 @@ { "CONF_PARAM_DEC_ID" : "150", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Seuil de détection de tension batterie (min. sur pompe) faible (V)", + "CONF_PARAM_MSG_LABEL" : "Seuil de dĂ©tection de tension batterie (min. sur pompe) faible (V)", "CONF_PARAM_NAME" : "CONFIG_AUX_LowBatteryLoadAlarmThreshold_volts", "CONF_PARAM_DESCRIPTION" : "Min threshold of battery level before raising a low battery load alarm." }, @@ -419,7 +419,7 @@ { "CONF_PARAM_DEC_ID" : "151", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » avant boucle (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » avant boucle (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayBeforeLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) before loops ([0-86400 (24 h)]) (see float manual for details)." }, @@ -427,7 +427,7 @@ { "CONF_PARAM_DEC_ID" : "152", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » dans boucle « motif » (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » dans boucle « motif » (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayInPatternLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) during pattern loops ([0-7200 (2 h)]) (see float manual for details)." }, @@ -435,7 +435,7 @@ { "CONF_PARAM_DEC_ID" : "153", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation en surface étape « SA » dans boucle « cycle » (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation en surface Ă©tape « SA » dans boucle « cycle » (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_SurfaceTimeDelayInCycleLoop_seconds", "CONF_PARAM_DESCRIPTION" : "Surface temporization (step 'SA' of the mission) during cycle loops ([0-7200 (2 h)]) (see float manual for details)." }, @@ -443,7 +443,7 @@ { "CONF_PARAM_DEC_ID" : "154", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Durée de temporisation pour test (étape « TC ») (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de temporisation pour test (Ă©tape « TC ») (sec)", "CONF_PARAM_NAME" : "CONFIG_AUX_TestTimeDelay_seconds", "CONF_PARAM_DESCRIPTION" : "Test temporization (step 'TC' of the mission) ([0-600 (10 min)]) (see float manual for details)." }, @@ -451,7 +451,7 @@ { "CONF_PARAM_DEC_ID" : "155", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la prise de position GPS en fin de vie", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la prise de position GPS en fin de vie", "CONF_PARAM_NAME" : "CONFIG_GPSAcquisitionEndOfLife_LOGICAL", "CONF_PARAM_DESCRIPTION" : "The float performs a GPS session to acquire a GPS fix in each End Of Life transmission (Yes=1/No=0)." }, @@ -459,7 +459,7 @@ { "CONF_PARAM_DEC_ID" : "156", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Période de transmission en fin de vie (sec)", + "CONF_PARAM_MSG_LABEL" : "PĂ©riode de transmission en fin de vie (sec)", "CONF_PARAM_NAME" : "CONFIG_TransmissionPeriodEndOfLife_seconds", "CONF_PARAM_DESCRIPTION" : "Period of the Iridium transmission when in End Of Life mode (in minutes)." }, @@ -475,7 +475,7 @@ { "CONF_PARAM_DEC_ID" : "158", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la détection d’échouage ŕ la descente", + "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la dĂ©tection d’échouage Ă  la descente", "CONF_PARAM_NAME" : "CONFIG_GroundingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Action performed by the float when a grounding is detected. 0: the float changes its drift pressure, 1: the float stays on the seabed until the next phase of the cycle. For PROVOR CTS5 the number assigned to each mode has changed - see float manual for details for this model." }, @@ -483,7 +483,7 @@ { "CONF_PARAM_DEC_ID" : "159", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Offset de consigne en cas de gestion d’échouage par correction (dbar)", + "CONF_PARAM_MSG_LABEL" : "Offset de consigne en cas de gestion d’échouage par correction (dbar)", "CONF_PARAM_NAME" : "CONFIG_GroundingModePresAdjustment_dbar", "CONF_PARAM_DESCRIPTION" : "If in grounding mode 0, the float changes its drift pressure to its programmed one minus this value only if its current pressure is greater than this value." }, @@ -491,7 +491,7 @@ { "CONF_PARAM_DEC_ID" : "160", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la détection d’accrochage ŕ la remontée", + "CONF_PARAM_MSG_LABEL" : "Mode de gestion de la dĂ©tection d’accrochage Ă  la remontĂ©e", "CONF_PARAM_NAME" : "CONFIG_HangingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Action performed by the float when a hanging is detected (see float manual for details). [JP additional comments on behaviour for PROVOR floats: The hanging mode is the same idea as the grounding mode but for an ascent phase. When the float detects a too low vertical motion after having activated its pump to try to ascend it enters in a hanging mode (it is probably stuck at the sea floor). This parameter configures (with the same idea as CONFIG_GroundingMode_NUMBER for grounding) what should be the actions to perform to try to escape from hanging (it can activate its pump and valve alternatively to try to escape or abandon the ascent and switch to the next scheduled task]." }, @@ -499,7 +499,7 @@ { "CONF_PARAM_DEC_ID" : "161", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression minimale pour échappement en cas de détection d’échouage", + "CONF_PARAM_MSG_LABEL" : "Pression minimale pour Ă©chappement en cas de dĂ©tection d’échouage", "CONF_PARAM_NAME" : "CONFIG_GroundingModeMinPresThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "If in grounding mode 0, the float changes its drift pressure only if its current pressure is greater than this value." }, @@ -507,7 +507,7 @@ { "CONF_PARAM_DEC_ID" : "162", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de début de remontée « lente » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©but de remontĂ©e « lente » (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedStartPressureThresholdForSlowPhase_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the slow ascent speed phase." }, @@ -515,7 +515,7 @@ { "CONF_PARAM_DEC_ID" : "163", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de début de remontée « lente » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de dĂ©but de remontĂ©e « lente » (dbar)", "CONF_PARAM_NAME" : "CONFIG_AscentSpeedStartPressureThresholdForSlowPhase_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the slow ascent speed phase." }, @@ -523,7 +523,7 @@ { "CONF_PARAM_DEC_ID" : "164", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Profondeur de réalisation du test de présence de glace (dbar)", + "CONF_PARAM_MSG_LABEL" : "Profondeur de rĂ©alisation du test de prĂ©sence de glace (dbar)", "CONF_PARAM_NAME" : "CONFIG_IceDetectionAcousticStartPressureThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Pressure threshold to start the acoustic ice detection test. " }, @@ -531,7 +531,7 @@ { "CONF_PARAM_DEC_ID" : "165", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée du test de présence de glace", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e du test de prĂ©sence de glace", "CONF_PARAM_NAME" : "CONFIG_IceDetectionTestDuration_minutes", "CONF_PARAM_DESCRIPTION" : "Duration of the ice detection test." }, @@ -539,7 +539,7 @@ { "CONF_PARAM_DEC_ID" : "301", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro DNIS associé ŕ la carte SIM", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro DNIS associĂ© Ă  la carte SIM", "CONF_PARAM_NAME" : "META_AUX_FLOAT_DNIS_NUMBER", "CONF_PARAM_DESCRIPTION" : "DNIS number of the SIM card of the float." }, @@ -547,7 +547,7 @@ { "CONF_PARAM_DEC_ID" : "302", "CONF_PARAM_TYPE" : "META", - "CONF_PARAM_MSG_LABEL" : "Identifiant du compte associé au flotteur (sur le serveur)", + "CONF_PARAM_MSG_LABEL" : "Identifiant du compte associĂ© au flotteur (sur le serveur)", "CONF_PARAM_NAME" : "META_PTT", "CONF_PARAM_DESCRIPTION" : "Transmission identifier of the float." }, @@ -555,7 +555,7 @@ { "CONF_PARAM_DEC_ID" : "303", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_IRIDIUM_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the Iridium device." }, @@ -563,7 +563,7 @@ { "CONF_PARAM_DEC_ID" : "166", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée maximale de la session Iridium (sec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e maximale de la session Iridium (sec)", "CONF_PARAM_NAME" : "CONFIG_ConnectionTimeOut_seconds", "CONF_PARAM_DESCRIPTION" : "Connection time-out, i.e. maximum transmission period for one telemetry session" }, @@ -571,7 +571,7 @@ { "CONF_PARAM_DEC_ID" : "167", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Taille de bloc pour le découpage des fichiers", + "CONF_PARAM_MSG_LABEL" : "Taille de bloc pour le dĂ©coupage des fichiers", "CONF_PARAM_NAME" : "CONFIG_AUX_TransmittedFileMaxSize_kbyte", "CONF_PARAM_DESCRIPTION" : "Max size for transmitted files (in kbyte). Larger files are split before transmission." }, @@ -579,7 +579,7 @@ { "CONF_PARAM_DEC_ID" : "168", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Format des fichiers de mesure (*.csv, *.hex étendu, *.hex standard)", + "CONF_PARAM_MSG_LABEL" : "Format des fichiers de mesure (*.csv, *.hex Ă©tendu, *.hex standard)", "CONF_PARAM_NAME" : "CONFIG_AUX_CtdDataFormat_NUMBER", "CONF_PARAM_DESCRIPTION" : "Format of the transmitted CTD data (0: CSV format, 1: extended hex format, 2: standard hex format) (see float manual for details)." }, @@ -587,7 +587,7 @@ { "CONF_PARAM_DEC_ID" : "169", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Mode de transmission des fichiers (standard, étendu, haute vitesse)", + "CONF_PARAM_MSG_LABEL" : "Mode de transmission des fichiers (standard, Ă©tendu, haute vitesse)", "CONF_PARAM_NAME" : "CONFIG_AUX_FileTransmissionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "File transmission mode (0: standard, 1: extended, 2: streaming)." }, @@ -595,7 +595,7 @@ { "CONF_PARAM_DEC_ID" : "304", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Identification de la mécanique", + "CONF_PARAM_MSG_LABEL" : "Identification de la mĂ©canique", "CONF_PARAM_NAME" : "META_AUX_HYDRAULIC_ENGINE_TYPE", "CONF_PARAM_DESCRIPTION" : "Reference of the hydraulic device." }, @@ -603,7 +603,7 @@ { "CONF_PARAM_DEC_ID" : "170", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Volume total d’huile dans le circuit hydraulique (cm3)", + "CONF_PARAM_MSG_LABEL" : "Volume total d’huile dans le circuit hydraulique (cm3)", "CONF_PARAM_NAME" : "CONFIG_AUX_TotalOilVolume_cm^3", "CONF_PARAM_DESCRIPTION" : "Total volume of oil in the hydraulic device." }, @@ -611,7 +611,7 @@ { "CONF_PARAM_DEC_ID" : "305", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_SENSOR_BOARD_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the sensor board." }, @@ -619,7 +619,7 @@ { "CONF_PARAM_DEC_ID" : "306", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro de la sortie de puissance", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro de la sortie de puissance", "CONF_PARAM_NAME" : "META_AUX_SENSOR_BOARD_POWER_OUTPUT_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power output port number used by the sensor board." }, @@ -627,7 +627,7 @@ { "CONF_PARAM_DEC_ID" : "171", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation du message « $ADJUST »", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation du message « $ADJUST »", "CONF_PARAM_NAME" : "CONFIG_AUX_InformSensorBoardDuringHydraulicAction_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Ask/inform the sensor board during hydraulic adjustments." }, @@ -635,7 +635,7 @@ { "CONF_PARAM_DEC_ID" : "172", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de l’autotest complet", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de l’autotest complet", "CONF_PARAM_NAME" : "CONFIG_AUX_FullAutotest_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Perform a full autotest." }, @@ -643,7 +643,7 @@ { "CONF_PARAM_DEC_ID" : "307", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro du port série", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro du port sĂ©rie", "CONF_PARAM_NAME" : "META_AUX_GPS_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the GPS device." }, @@ -651,7 +651,7 @@ { "CONF_PARAM_DEC_ID" : "308", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "Numéro de la sortie de puissance", + "CONF_PARAM_MSG_LABEL" : "NumĂ©ro de la sortie de puissance", "CONF_PARAM_NAME" : "META_AUX_GPS_POWER_OUTPUT_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power output port number used by the GPS device." }, @@ -659,7 +659,7 @@ { "CONF_PARAM_DEC_ID" : "173", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation de la synchronisation PPS (module externe)", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation de la synchronisation PPS (module externe)", "CONF_PARAM_NAME" : "CONFIG_GPSSetClockSensorCard_LOGICAL", "CONF_PARAM_DESCRIPTION" : "When the float Real Time Clock is set, also set the clock of the measurement card." }, @@ -667,7 +667,7 @@ { "CONF_PARAM_DEC_ID" : "174", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Activation/désactivation du positionnement amélioré (altitude 0m)", + "CONF_PARAM_MSG_LABEL" : "Activation/dĂ©sactivation du positionnement amĂ©liorĂ© (altitude 0m)", "CONF_PARAM_NAME" : "CONFIG_GPSImprovedLocation_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Use the GPS improved location mode. This mode can be used when the float altitude is 0 meter, it provides better locations." }, @@ -675,47 +675,47 @@ { "CONF_PARAM_DEC_ID" : "175", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / descente vers profondeur dérive (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / descente vers profondeur dĂ©rive (sec)", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_86" : { "CONF_PARAM_DEC_ID" : "176", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / dérive profondeur parking (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / dĂ©rive profondeur parking (sec)", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone #." }, "CONF_PARAM_87" : { "CONF_PARAM_DEC_ID" : "177", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / descente vers profondeur mesure (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / descente vers profondeur mesure (sec)", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_88" : { "CONF_PARAM_DEC_ID" : "178", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / dérive profondeur mesure (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / dĂ©rive profondeur mesure (sec)", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone #." }, "CONF_PARAM_89" : { "CONF_PARAM_DEC_ID" : "179", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 - Période échantillonnage / remontée (sec)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - PĂ©riode Ă©chantillonnage / remontĂ©e (sec)", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_90" : { "CONF_PARAM_DEC_ID" : "180", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type d’acquisition", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type d’acquisition", "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous)." }, @@ -723,7 +723,7 @@ { "CONF_PARAM_DEC_ID" : "181", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de traitement", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de traitement", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataProcessingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data processing output of the in the depth zone # (see float manual for details)." }, @@ -731,7 +731,7 @@ { "CONF_PARAM_DEC_ID" : "182", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de synchronisation", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Type de synchronisation", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataSynchronizationMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details)." }, @@ -739,7 +739,7 @@ { "CONF_PARAM_DEC_ID" : "183", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Epaisseur de tranche (dbar)", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Epaisseur de tranche (dbar)", "CONF_PARAM_NAME" : "CONFIG_DepthZoneSlicesThickness_dbar", "CONF_PARAM_DESCRIPTION" : "Slices thickness for in the depth zone # (in dbar)." }, @@ -755,7 +755,7 @@ { "CONF_PARAM_DEC_ID" : "185", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée de chauffe capteur (msec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e de chauffe capteur (msec)", "CONF_PARAM_NAME" : "CONFIG_WarmUpTime_msec", "CONF_PARAM_DESCRIPTION" : "Time, needed after the is powered ON, to provide its first sample (in milli-seconds)." }, @@ -763,7 +763,7 @@ { "CONF_PARAM_DEC_ID" : "186", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Durée d’extinction capteur (msec)", + "CONF_PARAM_MSG_LABEL" : "DurĂ©e d’extinction capteur (msec)", "CONF_PARAM_NAME" : "CONFIG_PowerSwitchDelayMin_msec", "CONF_PARAM_DESCRIPTION" : "Minimum waiting time needed by the between a switch OFF and a switch ON (in milli-seconds)." }, @@ -771,7 +771,7 @@ { "CONF_PARAM_DEC_ID" : "187", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Index de filtrage du premier échantillon valide", + "CONF_PARAM_MSG_LABEL" : "Index de filtrage du premier Ă©chantillon valide", "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, @@ -779,7 +779,7 @@ { "CONF_PARAM_DEC_ID" : "188", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", "CONF_PARAM_NAME" : "CONFIG_CTDPumpStopPressure_dbar", "CONF_PARAM_DESCRIPTION" : "The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity." }, @@ -1068,144 +1068,144 @@ "CONF_PARAM_DEC_ID" : "223", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of depth zones.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_135" : { "CONF_PARAM_DEC_ID" : "224", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_136" : { "CONF_PARAM_DEC_ID" : "225", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_137" : { "CONF_PARAM_DEC_ID" : "226", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_138" : { "CONF_PARAM_DEC_ID" : "227", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_139" : { "CONF_PARAM_DEC_ID" : "228", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_140" : { "CONF_PARAM_DEC_ID" : "229", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_141" : { "CONF_PARAM_DEC_ID" : "230", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_142" : { "CONF_PARAM_DEC_ID" : "231", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_143" : { "CONF_PARAM_DEC_ID" : "232", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of sampling schemes.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_144" : { "CONF_PARAM_DEC_ID" : "233", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_145" : { "CONF_PARAM_DEC_ID" : "234", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_146" : { "CONF_PARAM_DEC_ID" : "235", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_147" : { "CONF_PARAM_DEC_ID" : "236", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_148" : { "CONF_PARAM_DEC_ID" : "237", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled for the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_149" : { "CONF_PARAM_DEC_ID" : "238", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled with the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_150" : { "CONF_PARAM_DEC_ID" : "239", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_151" : { "CONF_PARAM_DEC_ID" : "240", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_152" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_124.csv b/decArgo_soft/config/_configParamNames/_config_param_name_124.csv index cd3dc753..5723fad4 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_124.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_124.csv @@ -85,11 +85,11 @@ CONF_PARAM_DEC_ID;CONF_PARAM_TYPE;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PARA 173;CONFIG;Enable/disable PPS synchronisation (external module);CONFIG_GPSSetClockSensorCard_LOGICAL;When the float Real Time Clock is set, also set the clock of the measurement card. 174;CONFIG;Enable/disable enhanced positioning (altitude 0m);CONFIG_GPSImprovedLocation_LOGICAL;Use the GPS improved location mode. This mode can be used when the float altitude is 0 meter, it provides better locations. 242;CONFIG_AUX;Enable/disable system clock synchronization;CONFIG_AUX_GPSSetRTC_LOGICAL;Set the float Real Time Clock with GPS time. -175;CONFIG;Zone 1 - Sampling period / descent to drift depth (s);CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). -176;CONFIG;Zone 1 - Sampling period / parking depth drift (s);CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone #. -177;CONFIG;Zone 1 - Sampling period / descent to measurement depth (s);CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). -178;CONFIG;Zone 1 - Sampling period / measurement depth drift (s);CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone #. -179;CONFIG;Zone 1 - Sampling period / ascent (s);CONFIG_DepthZoneAscentSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). +175;CONFIG;Zone 1 - Sampling period / descent to drift depth (s);CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). +176;CONFIG;Zone 1 - Sampling period / parking depth drift (s);CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone #. +177;CONFIG;Zone 1 - Sampling period / descent to measurement depth (s);CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). +178;CONFIG;Zone 1 - Sampling period / measurement depth drift (s);CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone #. +179;CONFIG;Zone 1 - Sampling period / ascent (s);CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). 180;CONFIG;Zone 1 – Acquisition type;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). 181;CONFIG;Zone 1 – Processing type;CONFIG_DepthZoneDataProcessingMode_NUMBER;Data processing output of the in the depth zone # (see float manual for details). 182;CONFIG;Zone 1 – Synchronisation type;CONFIG_DepthZoneDataSynchronizationMode_NUMBER;Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details). @@ -140,24 +140,24 @@ CONF_PARAM_DEC_ID;CONF_PARAM_TYPE;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PARA 220;CONFIG_AUX;AID algorithm applicable month;CONFIG_AUX_BitMaskMonthsAidIceDetectionActive_NUMBER;When is ice detection AID algorithm active - months in reverse order. 221;CONFIG;Pressure to abort ascent;CONFIG_IceEvasionStopPressure_dbar;Ice evasion depth. This is a parameter for AC1 ice algorithm which abort the profile at a prescribed depth (CONFIG_IceEvasionDepth_dbar) without any check on environmental conditions (as described in my email, AC1, ISA and AID algorithm are used together in the ice version of the CTS5). 222;CONFIG;Applicable month;CONFIG_BitMaskMonthsIceEvasionActive_NUMBER;When is ice evasion active - months in reverse order. This is a parameter for AC1 which provides the months it should be used. -223;CONFIG;Number of depth zones.;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. -224;CONFIG;Start pressure to define the depth zone.;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -225;CONFIG;Stop pressure to define the depth zone.;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -226;CONFIG;Sampling period for the depth zone.;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -227;CONFIG;Power acquisition mode for the depth zone.;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle. -228;CONFIG;Number of additional raw data sampled in the depth zone.;CONFIG_DepthZoneRawDataAcquisition_NUMBER;Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. -229;CONFIG;Number of subsamplings for data sampled in the depth zone.;CONFIG_DepthZoneNumberOfSubSampling_NUMBER;Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. -230;CONFIG;Data processing mode of the concerned subsampling.;CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER;Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. -231;CONFIG;Data processing rate of the concerned subsampling.;CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER;Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. -232;CONFIG;Number of sampling schemes.;CONFIG_NumberOfSamplingScheme_NUMBER;Number of sampling schemes defined for the sensor while sampling during the phase of the cycle. -233;CONFIG;Start time of the sampling scheme.;CONFIG_SamplingSchemeStartTime_seconds;Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle. -234;CONFIG;Stop time of the sampling scheme.;CONFIG_SamplingSchemeStopTime_seconds;Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle. -235;CONFIG;Sampling period of the sampling scheme.;CONFIG_SamplingSchemeSamplingPeriod_seconds;Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle. -236;CONFIG;Power acquisition mode of the sampling scheme.;CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER;Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle. -237;CONFIG;Number of additional raw data sampled for the sampling scheme.;CONFIG_SamplingSchemeRawDataAcquisition_NUMBER;Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. -238;CONFIG;Number of subsamplings for data sampled with the sampling scheme.;CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER;Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. -239;CONFIG;Data processing mode of the concerned subsampling.;CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER;Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. -240;CONFIG;Data processing rate of the concerned subsampling.;CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER;Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. +223;CONFIG;Number of depth zones.;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. +224;CONFIG;Start pressure to define the depth zone.;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +225;CONFIG;Stop pressure to define the depth zone.;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +226;CONFIG;Sampling period for the depth zone.;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. +227;CONFIG;Power acquisition mode for the depth zone.;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle. +228;CONFIG;Number of additional raw data sampled in the depth zone.;CONFIG_DepthZoneRawDataAcquisition_NUMBER;Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. +229;CONFIG;Number of subsamplings for data sampled in the depth zone.;CONFIG_DepthZoneNumberOfSubSampling_NUMBER;Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. +230;CONFIG;Data processing mode of the concerned subsampling.;CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER;Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. +231;CONFIG;Data processing rate of the concerned subsampling.;CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER;Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle. +232;CONFIG;Number of sampling schemes.;CONFIG_NumberOfSamplingScheme_NUMBER;Number of sampling schemes defined for the sensor while sampling during the phase of the cycle. +233;CONFIG;Start time of the sampling scheme.;CONFIG_SamplingSchemeStartTime_seconds;Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle. +234;CONFIG;Stop time of the sampling scheme.;CONFIG_SamplingSchemeStopTime_seconds;Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle. +235;CONFIG;Sampling period of the sampling scheme.;CONFIG_SamplingSchemeSamplingPeriod_seconds;Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle. +236;CONFIG;Power acquisition mode of the sampling scheme.;CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER;Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle. +237;CONFIG;Number of additional raw data sampled for the sampling scheme.;CONFIG_SamplingSchemeRawDataAcquisition_NUMBER;Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. +238;CONFIG;Number of subsamplings for data sampled with the sampling scheme.;CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER;Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. +239;CONFIG;Data processing mode of the concerned subsampling.;CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER;Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. +240;CONFIG;Data processing rate of the concerned subsampling.;CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER;Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle. 116003;CONFIG;Payload sensor miscellaneous static configuration parameter;CONFIG_SunaApfFrameOutputPixelBegin_NUMBER;The Apf frame definition allows for a variable number of spectrometer pixels (also called channels) to be included in the frame. The two pixel values are configured indirectly via the wavelength range of the spectrum to be output (Suna Hardware Manual, section 4.2.3, input/output configuration parameters, data wavelength low/high.) The firmware converts the wavelength values to spectrometer pixels. 116004;CONFIG;Payload sensor miscellaneous static configuration parameter;CONFIG_SunaApfFrameOutputPixelEnd_NUMBER;The Apf frame definition allows for a variable number of spectrometer pixels (also called channels) to be included in the frame. The two pixel values are configured indirectly via the wavelength range of the spectrum to be output (Suna Hardware Manual, section 4.2.3, input/output configuration parameters, data wavelength low/high.) The firmware converts the wavelength values to spectrometer pixels. 113002;CONFIG;Payload sensor miscellaneous static configuration parameter;CONFIG_EcoBetaAngle_angularDeg;Angle of Beta measurements (in degrees) diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_124.json b/decArgo_soft/config/_configParamNames/_config_param_name_124.json index ec10ccde..fc7e78f3 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_124.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_124.json @@ -692,7 +692,7 @@ "CONF_PARAM_DEC_ID" : "175", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / descent to drift depth (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_88" : @@ -700,7 +700,7 @@ "CONF_PARAM_DEC_ID" : "176", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / parking depth drift (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone #." }, "CONF_PARAM_89" : @@ -708,7 +708,7 @@ "CONF_PARAM_DEC_ID" : "177", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / descent to measurement depth (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_90" : @@ -716,7 +716,7 @@ "CONF_PARAM_DEC_ID" : "178", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / measurement depth drift (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone #." }, "CONF_PARAM_91" : @@ -724,14 +724,14 @@ "CONF_PARAM_DEC_ID" : "179", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / ascent (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_92" : { "CONF_PARAM_DEC_ID" : "180", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Acquisition type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Acquisition type", "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous)." }, @@ -739,7 +739,7 @@ { "CONF_PARAM_DEC_ID" : "181", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Processing type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Processing type", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataProcessingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data processing output of the in the depth zone # (see float manual for details)." }, @@ -747,7 +747,7 @@ { "CONF_PARAM_DEC_ID" : "182", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Synchronisation type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Synchronisation type", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataSynchronizationMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details)." }, @@ -755,7 +755,7 @@ { "CONF_PARAM_DEC_ID" : "183", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Section depth", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Section depth", "CONF_PARAM_NAME" : "CONFIG_DepthZoneSlicesThickness_dbar", "CONF_PARAM_DESCRIPTION" : "Slices thickness for in the depth zone # (in dbar)." }, @@ -795,7 +795,7 @@ { "CONF_PARAM_DEC_ID" : "188", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", "CONF_PARAM_NAME" : "CONFIG_CTDPumpStopPressure_dbar", "CONF_PARAM_DESCRIPTION" : "The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity." }, @@ -1132,144 +1132,144 @@ "CONF_PARAM_DEC_ID" : "223", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of depth zones.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_143" : { "CONF_PARAM_DEC_ID" : "224", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_144" : { "CONF_PARAM_DEC_ID" : "225", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_145" : { "CONF_PARAM_DEC_ID" : "226", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_146" : { "CONF_PARAM_DEC_ID" : "227", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_147" : { "CONF_PARAM_DEC_ID" : "228", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_148" : { "CONF_PARAM_DEC_ID" : "229", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_149" : { "CONF_PARAM_DEC_ID" : "230", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_150" : { "CONF_PARAM_DEC_ID" : "231", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_151" : { "CONF_PARAM_DEC_ID" : "232", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of sampling schemes.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_152" : { "CONF_PARAM_DEC_ID" : "233", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_153" : { "CONF_PARAM_DEC_ID" : "234", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_154" : { "CONF_PARAM_DEC_ID" : "235", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_155" : { "CONF_PARAM_DEC_ID" : "236", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_156" : { "CONF_PARAM_DEC_ID" : "237", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled for the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_157" : { "CONF_PARAM_DEC_ID" : "238", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled with the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_158" : { "CONF_PARAM_DEC_ID" : "239", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_159" : { "CONF_PARAM_DEC_ID" : "240", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_160" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_125.json b/decArgo_soft/config/_configParamNames/_config_param_name_125.json index ec10ccde..fc7e78f3 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_125.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_125.json @@ -692,7 +692,7 @@ "CONF_PARAM_DEC_ID" : "175", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / descent to drift depth (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_88" : @@ -700,7 +700,7 @@ "CONF_PARAM_DEC_ID" : "176", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / parking depth drift (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone #." }, "CONF_PARAM_89" : @@ -708,7 +708,7 @@ "CONF_PARAM_DEC_ID" : "177", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / descent to measurement depth (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, "CONF_PARAM_90" : @@ -716,7 +716,7 @@ "CONF_PARAM_DEC_ID" : "178", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / measurement depth drift (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone #." }, "CONF_PARAM_91" : @@ -724,14 +724,14 @@ "CONF_PARAM_DEC_ID" : "179", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / ascent (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, "CONF_PARAM_92" : { "CONF_PARAM_DEC_ID" : "180", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Acquisition type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Acquisition type", "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous)." }, @@ -739,7 +739,7 @@ { "CONF_PARAM_DEC_ID" : "181", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Processing type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Processing type", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataProcessingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data processing output of the in the depth zone # (see float manual for details)." }, @@ -747,7 +747,7 @@ { "CONF_PARAM_DEC_ID" : "182", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Synchronisation type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Synchronisation type", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataSynchronizationMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details)." }, @@ -755,7 +755,7 @@ { "CONF_PARAM_DEC_ID" : "183", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Section depth", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Section depth", "CONF_PARAM_NAME" : "CONFIG_DepthZoneSlicesThickness_dbar", "CONF_PARAM_DESCRIPTION" : "Slices thickness for in the depth zone # (in dbar)." }, @@ -795,7 +795,7 @@ { "CONF_PARAM_DEC_ID" : "188", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", "CONF_PARAM_NAME" : "CONFIG_CTDPumpStopPressure_dbar", "CONF_PARAM_DESCRIPTION" : "The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity." }, @@ -1132,144 +1132,144 @@ "CONF_PARAM_DEC_ID" : "223", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of depth zones.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_143" : { "CONF_PARAM_DEC_ID" : "224", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_144" : { "CONF_PARAM_DEC_ID" : "225", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop pressure to define the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_145" : { "CONF_PARAM_DEC_ID" : "226", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_146" : { "CONF_PARAM_DEC_ID" : "227", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode for the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_147" : { "CONF_PARAM_DEC_ID" : "228", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_148" : { "CONF_PARAM_DEC_ID" : "229", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled in the depth zone.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_149" : { "CONF_PARAM_DEC_ID" : "230", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_150" : { "CONF_PARAM_DEC_ID" : "231", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled in the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_151" : { "CONF_PARAM_DEC_ID" : "232", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of sampling schemes.", - "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfSamplingScheme_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of sampling schemes defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_152" : { "CONF_PARAM_DEC_ID" : "233", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Start time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStartTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Start time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_153" : { "CONF_PARAM_DEC_ID" : "234", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Stop time of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", - "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeStopTime_seconds", + "CONF_PARAM_DESCRIPTION" : "Stop time to define the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_154" : { "CONF_PARAM_DEC_ID" : "235", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Sampling period of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_155" : { "CONF_PARAM_DEC_ID" : "236", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Power acquisition mode of the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode for the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_156" : { "CONF_PARAM_DEC_ID" : "237", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of additional raw data sampled for the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeRawDataAcquisition_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of additional raw data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_157" : { "CONF_PARAM_DEC_ID" : "238", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Number of subsamplings for data sampled with the sampling scheme.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeNumberOfSubSampling_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of subsamplings of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_158" : { "CONF_PARAM_DEC_ID" : "239", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing mode of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing mode for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_159" : { "CONF_PARAM_DEC_ID" : "240", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Data processing rate of the concerned subsampling.", - "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_SamplingSchemeSubSamplingDataProcessingRate_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing rate for the subsampling # of the data sampled within the sampling scheme # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_160" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_126.csv b/decArgo_soft/config/_configParamNames/_config_param_name_126.csv index 724673e7..83d74dd9 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_126.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_126.csv @@ -90,20 +90,34 @@ CONF_PARAM_DEC_ID;CONF_PARAM_TYPE;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PARA 173;CONFIG;Enable/disable PPS synchronisation (external module);CONFIG_GPSSetClockSensorCard_LOGICAL;When the float Real Time Clock is set, also set the clock of the measurement card. 174;CONFIG;Enable/disable enhanced positioning (altitude 0m);CONFIG_GPSImprovedLocation_LOGICAL;Use the GPS improved location mode. This mode can be used when the float altitude is 0 meter, it provides better locations. 242;CONFIG_AUX;Enable/disable system clock synchronization;CONFIG_AUX_GPSSetRTC_LOGICAL;Set the float Real Time Clock with GPS time. -175;CONFIG;Zone 1 - Sampling period / descent to drift depth (s);CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). -176;CONFIG;Zone 1 - Sampling period / parking depth drift (s);CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone #. -177;CONFIG;Zone 1 - Sampling period / descent to measurement depth (s);CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). -178;CONFIG;Zone 1 - Sampling period / measurement depth drift (s);CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone #. -179;CONFIG;Zone 1 - Sampling period / ascent (s);CONFIG_DepthZoneAscentSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). +175;CONFIG;Zone 1 - Sampling period / descent to drift depth (s);CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). +1175;CONFIG_AUX;Zone 1 - Sampling period / descent to drift depth (s);CONFIG_AUX_UvpDescentToParkPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the UVP during the descent to parking pressure in the depth zone # (in seconds). +176;CONFIG;Zone 1 - Sampling period / parking depth drift (s);CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone #. +1176;CONFIG_AUX;Zone 1 - Sampling period / parking depth drift (s);CONFIG_AUX_UvpParkDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the UVP during the drift at parking pressure in the depth zone #. +177;CONFIG;Zone 1 - Sampling period / descent to measurement depth (s);CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). +1177;CONFIG_AUX;Zone 1 - Sampling period / descent to measurement depth (s);CONFIG_AUX_UvpDescentToProfPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the UVP during the descent to profile pressure in the depth zone # (in seconds). +178;CONFIG;Zone 1 - Sampling period / measurement depth drift (s);CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone #. +1178;CONFIG_AUX;Zone 1 - Sampling period / measurement depth drift (s);CONFIG_AUX_UvpProfDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the UVP during the drift at profile pressure in the depth zone #. +179;CONFIG;Zone 1 - Sampling period / ascent (s);CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). +1179;CONFIG_AUX;Zone 1 - Sampling period / ascent (s);CONFIG_AUX_UvpAscentPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the UVP during the ascending profile in the depth zone # (in seconds). 180;CONFIG;Zone 1 – Acquisition type;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). +1180;CONFIG_AUX;Zone 1 – Acquisition type;CONFIG_AUX_UvpDepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the UVP in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). 181;CONFIG;Zone 1 – Processing type;CONFIG_DepthZoneDataProcessingMode_NUMBER;Data processing output of the in the depth zone # (see float manual for details). +1181;CONFIG_AUX;Zone 1 – Processing type;CONFIG_AUX_UvpDepthZoneDataProcessingMode_NUMBER;Data processing output of the UVP in the depth zone # (see float manual for details). 182;CONFIG;Zone 1 – Synchronisation type;CONFIG_DepthZoneDataSynchronizationMode_NUMBER;Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details). +1182;CONFIG_AUX;Zone 1 – Synchronisation type;CONFIG_AUX_UvpDepthZoneDataSynchronizationMode_NUMBER;Data of the UVP can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details). 183;CONFIG;Zone 1 – Section depth;CONFIG_DepthZoneSlicesThickness_dbar;Slices thickness for in the depth zone # (in dbar). +1183;CONFIG_AUX;Zone 1 – Section depth;CONFIG_AUX_UvpDepthZoneSlicesThickness_dbar;Slices thickness for UVP in the depth zone # (in dbar). 184;CONFIG;Pressure threshold between zones 1 and 2;CONFIG_DepthZoneDepthZonePressureThreshold_dbar;Threshold between depth zone #N and depth zone #N+1 for (in dbar). +1184;CONFIG_AUX;Pressure threshold between zones 1 and 2;CONFIG_AUX_UvpDepthZoneDepthZonePressureThreshold_dbar;Threshold between depth zone #N and depth zone #N+1 for UVP (in dbar). 185;CONFIG;Sensor warm-up time (ms);CONFIG_WarmUpTime_msec;Time, needed after the is powered ON, to provide its first sample (in milli-seconds). +1185;CONFIG_AUX;Sensor warm-up time (ms);CONFIG_AUX_UvpWarmUpTime_msec;Time, needed after the UVP is powered ON, to provide its first sample (in milli-seconds). 186;CONFIG;Sensor shut down time (ms);CONFIG_PowerSwitchDelayMin_msec;Minimum waiting time needed by the between a switch OFF and a switch ON (in milli-seconds). +1186;CONFIG_AUX;Sensor shut down time (ms);CONFIG_AUX_UvpPowerSwitchDelayMin_msec;Minimum waiting time needed by the UVP between a switch OFF and a switch ON (in milli-seconds). 187;CONFIG;Filtering index of first valid sample;CONFIG_FirstValidSample_NUMBER;Rank of the first valid sample provided by the (0 is the rank of the first sample). +1187;CONFIG_AUX;Filtering index of first valid sample;CONFIG_AUX_UvpFirstValidSample_NUMBER;Rank of the first valid sample provided by the UVP (0 is the rank of the first sample). 251;CONFIG;Surface - Sampling period / in-air measurements (s);CONFIG_InAirMeasurementSamplingPeriod_seconds;"Sampling period for the sensor during the ""in air measurement"" phase." +1251;CONFIG_AUX;Surface - Sampling period / in-air measurements (s);CONFIG_AUX_UvpInAirMeasurementSamplingPeriod_seconds;"Sampling period for the UVP sensor during the ""in air measurement"" phase." 188;CONFIG;Pression de « cut-off » (dbar);CONFIG_CTDPumpStopPressure_dbar;The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity. 243;CONFIG_AUX;Enable/disable fast sampling period (1 Hz);CONFIG_AUX_CTDFastSampling_LOGICAL;Configure CTD to 1 Hz sampling instead of 0.5 Hz usual one. 252;CONFIG_AUX;Zone 1 - Configuration file;CONFIG_AUX_UvpDepthZoneConfiguration_NUMBER;Number of the UVP sensor configuration for the DepthZone. The configuration is defined by UVP_ACQ_CONF_XX_PARAMETERS, where XX is the configuration number. diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_126.json b/decArgo_soft/config/_configParamNames/_config_param_name_126.json index 85744f27..4dbb44b0 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_126.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_126.json @@ -35,7 +35,7 @@ { "CONF_PARAM_DEC_ID" : "103", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "System task list: 0 – Float Integrity Test 1 – SBE41 navigation sensor 2 – Float safety mechanisms 3 – Standard navigation control 4 – Payload interaction 5 – GPS positioning 6 – Sensor acquisition 7 – NOSS navigation sensor 8 – SDA14 acoustic noise sensor 9 – Special mechanisms 10 – PUCK sensor 11 – EMAP sensor 12 – USEA interaction 13 – Under-ice capabilities", + "CONF_PARAM_MSG_LABEL" : "System task list: 0 – Float Integrity Test 1 – SBE41 navigation sensor 2 – Float safety mechanisms 3 – Standard navigation control 4 – Payload interaction 5 – GPS positioning 6 – Sensor acquisition 7 – NOSS navigation sensor 8 – SDA14 acoustic noise sensor 9 – Special mechanisms 10 – PUCK sensor 11 – EMAP sensor 12 – USEA interaction 13 – Under-ice capabilities", "CONF_PARAM_NAME" : "CONFIG_AUX_SystemTaskList_STRING", "CONF_PARAM_DESCRIPTION" : "List of tasks considered by the float (see float manual for details)." }, @@ -683,7 +683,7 @@ { "CONF_PARAM_DEC_ID" : "312", "CONF_PARAM_TYPE" : "META_AUX", - "CONF_PARAM_MSG_LABEL" : "USEA’s sensor list: 2 – DO 3 – OCR 4 – ECO 5 – SBEPH 6 – CROVER 7 – SUNA 8 – UVP6", + "CONF_PARAM_MSG_LABEL" : "USEA’s sensor list: 2 – DO 3 – OCR 4 – ECO 5 – SBEPH 6 – CROVER 7 – SUNA 8 – UVP6", "CONF_PARAM_NAME" : "META_AUX_UseaSensorList_STRING", "CONF_PARAM_DESCRIPTION" : "List of sensors managed by the USEA card (2:DO, 3:OCR, 4:ECO, 5:SBEPH, 6:CROVER, 7:SUNA, 8:UVP6)." }, @@ -732,74 +732,146 @@ "CONF_PARAM_DEC_ID" : "175", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / descent to drift depth (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to parking pressure in the depth zone # (in seconds)." }, "CONF_PARAM_93" : + { + "CONF_PARAM_DEC_ID" : "1175", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / descent to drift depth (s)", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpDescentToParkPhaseDepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the UVP during the descent to parking pressure in the depth zone # (in seconds)." + }, + "CONF_PARAM_94" : { "CONF_PARAM_DEC_ID" : "176", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / parking depth drift (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at parking pressure in the depth zone #." }, - "CONF_PARAM_94" : + "CONF_PARAM_95" : + { + "CONF_PARAM_DEC_ID" : "1176", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / parking depth drift (s)", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpParkDriftPhaseDepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the UVP during the drift at parking pressure in the depth zone #." + }, + "CONF_PARAM_96" : { "CONF_PARAM_DEC_ID" : "177", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / descent to measurement depth (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the descent to profile pressure in the depth zone # (in seconds)." }, - "CONF_PARAM_95" : + "CONF_PARAM_97" : + { + "CONF_PARAM_DEC_ID" : "1177", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / descent to measurement depth (s)", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpDescentToProfPhaseDepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the UVP during the descent to profile pressure in the depth zone # (in seconds)." + }, + "CONF_PARAM_98" : { "CONF_PARAM_DEC_ID" : "178", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / measurement depth drift (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the drift at profile pressure in the depth zone #." }, - "CONF_PARAM_96" : + "CONF_PARAM_99" : + { + "CONF_PARAM_DEC_ID" : "1178", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / measurement depth drift (s)", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpProfDriftPhaseDepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the UVP during the drift at profile pressure in the depth zone #." + }, + "CONF_PARAM_100" : { "CONF_PARAM_DEC_ID" : "179", "CONF_PARAM_TYPE" : "CONFIG", "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / ascent (s)", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneAscentSamplingPeriod_seconds", + "CONF_PARAM_NAME" : "CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the during the ascending profile in the depth zone # (in seconds)." }, - "CONF_PARAM_97" : + "CONF_PARAM_101" : + { + "CONF_PARAM_DEC_ID" : "1179", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 - Sampling period / ascent (s)", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpAscentPhaseDepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the UVP during the ascending profile in the depth zone # (in seconds)." + }, + "CONF_PARAM_102" : { "CONF_PARAM_DEC_ID" : "180", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Acquisition type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Acquisition type", "CONF_PARAM_NAME" : "CONFIG_DepthZonePowerAcquisitionMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous)." }, - "CONF_PARAM_98" : + "CONF_PARAM_103" : + { + "CONF_PARAM_DEC_ID" : "1180", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Acquisition type", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpDepthZonePowerAcquisitionMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Power acquisition mode of the UVP in the depth zone # (0 : none, 2 : pulsed, 3 : continuous)." + }, + "CONF_PARAM_104" : { "CONF_PARAM_DEC_ID" : "181", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Processing type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Processing type", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataProcessingMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data processing output of the in the depth zone # (see float manual for details)." }, - "CONF_PARAM_99" : + "CONF_PARAM_105" : + { + "CONF_PARAM_DEC_ID" : "1181", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Processing type", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpDepthZoneDataProcessingMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data processing output of the UVP in the depth zone # (see float manual for details)." + }, + "CONF_PARAM_106" : { "CONF_PARAM_DEC_ID" : "182", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Synchronisation type", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Synchronisation type", "CONF_PARAM_NAME" : "CONFIG_DepthZoneDataSynchronizationMode_NUMBER", "CONF_PARAM_DESCRIPTION" : "Data of the can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details)." }, - "CONF_PARAM_100" : + "CONF_PARAM_107" : + { + "CONF_PARAM_DEC_ID" : "1182", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Synchronisation type", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpDepthZoneDataSynchronizationMode_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Data of the UVP can be reported as they have been sampled or synchronized with one CTD parameter (PRES or TEMP or PSAL). The synchronization is done with the timely closest sample of the CTD (see float manual for details)." + }, + "CONF_PARAM_108" : { "CONF_PARAM_DEC_ID" : "183", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Zone 1 – Section depth", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Section depth", "CONF_PARAM_NAME" : "CONFIG_DepthZoneSlicesThickness_dbar", "CONF_PARAM_DESCRIPTION" : "Slices thickness for in the depth zone # (in dbar)." }, - "CONF_PARAM_101" : + "CONF_PARAM_109" : + { + "CONF_PARAM_DEC_ID" : "1183", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Zone 1 – Section depth", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpDepthZoneSlicesThickness_dbar", + "CONF_PARAM_DESCRIPTION" : "Slices thickness for UVP in the depth zone # (in dbar)." + }, + "CONF_PARAM_110" : { "CONF_PARAM_DEC_ID" : "184", "CONF_PARAM_TYPE" : "CONFIG", @@ -807,7 +879,15 @@ "CONF_PARAM_NAME" : "CONFIG_DepthZoneDepthZonePressureThreshold_dbar", "CONF_PARAM_DESCRIPTION" : "Threshold between depth zone #N and depth zone #N+1 for (in dbar)." }, - "CONF_PARAM_102" : + "CONF_PARAM_111" : + { + "CONF_PARAM_DEC_ID" : "1184", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Pressure threshold between zones 1 and 2", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpDepthZoneDepthZonePressureThreshold_dbar", + "CONF_PARAM_DESCRIPTION" : "Threshold between depth zone #N and depth zone #N+1 for UVP (in dbar)." + }, + "CONF_PARAM_112" : { "CONF_PARAM_DEC_ID" : "185", "CONF_PARAM_TYPE" : "CONFIG", @@ -815,7 +895,15 @@ "CONF_PARAM_NAME" : "CONFIG_WarmUpTime_msec", "CONF_PARAM_DESCRIPTION" : "Time, needed after the is powered ON, to provide its first sample (in milli-seconds)." }, - "CONF_PARAM_103" : + "CONF_PARAM_113" : + { + "CONF_PARAM_DEC_ID" : "1185", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Sensor warm-up time (ms)", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpWarmUpTime_msec", + "CONF_PARAM_DESCRIPTION" : "Time, needed after the UVP is powered ON, to provide its first sample (in milli-seconds)." + }, + "CONF_PARAM_114" : { "CONF_PARAM_DEC_ID" : "186", "CONF_PARAM_TYPE" : "CONFIG", @@ -823,7 +911,15 @@ "CONF_PARAM_NAME" : "CONFIG_PowerSwitchDelayMin_msec", "CONF_PARAM_DESCRIPTION" : "Minimum waiting time needed by the between a switch OFF and a switch ON (in milli-seconds)." }, - "CONF_PARAM_104" : + "CONF_PARAM_115" : + { + "CONF_PARAM_DEC_ID" : "1186", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Sensor shut down time (ms)", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpPowerSwitchDelayMin_msec", + "CONF_PARAM_DESCRIPTION" : "Minimum waiting time needed by the UVP between a switch OFF and a switch ON (in milli-seconds)." + }, + "CONF_PARAM_116" : { "CONF_PARAM_DEC_ID" : "187", "CONF_PARAM_TYPE" : "CONFIG", @@ -831,7 +927,15 @@ "CONF_PARAM_NAME" : "CONFIG_FirstValidSample_NUMBER", "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the (0 is the rank of the first sample)." }, - "CONF_PARAM_105" : + "CONF_PARAM_117" : + { + "CONF_PARAM_DEC_ID" : "1187", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Filtering index of first valid sample", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpFirstValidSample_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Rank of the first valid sample provided by the UVP (0 is the rank of the first sample)." + }, + "CONF_PARAM_118" : { "CONF_PARAM_DEC_ID" : "251", "CONF_PARAM_TYPE" : "CONFIG", @@ -839,15 +943,23 @@ "CONF_PARAM_NAME" : "CONFIG_InAirMeasurementSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period for the sensor during the in air measurement phase." }, - "CONF_PARAM_106" : + "CONF_PARAM_119" : + { + "CONF_PARAM_DEC_ID" : "1251", + "CONF_PARAM_TYPE" : "CONFIG_AUX", + "CONF_PARAM_MSG_LABEL" : "Surface - Sampling period / in-air measurements (s)", + "CONF_PARAM_NAME" : "CONFIG_AUX_UvpInAirMeasurementSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the UVP sensor during the in air measurement phase." + }, + "CONF_PARAM_120" : { "CONF_PARAM_DEC_ID" : "188", "CONF_PARAM_TYPE" : "CONFIG", - "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", + "CONF_PARAM_MSG_LABEL" : "Pression de « cut-off » (dbar)", "CONF_PARAM_NAME" : "CONFIG_CTDPumpStopPressure_dbar", "CONF_PARAM_DESCRIPTION" : "The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity." }, - "CONF_PARAM_107" : + "CONF_PARAM_121" : { "CONF_PARAM_DEC_ID" : "243", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -855,7 +967,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_CTDFastSampling_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Configure CTD to 1 Hz sampling instead of 0.5 Hz usual one." }, - "CONF_PARAM_108" : + "CONF_PARAM_122" : { "CONF_PARAM_DEC_ID" : "252", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -863,7 +975,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_UvpDepthZoneConfiguration_NUMBER", "CONF_PARAM_DESCRIPTION" : "Number of the UVP sensor configuration for the DepthZone. The configuration is defined by UVP_ACQ_CONF_XX_PARAMETERS, where XX is the configuration number." }, - "CONF_PARAM_109" : + "CONF_PARAM_123" : { "CONF_PARAM_DEC_ID" : "253", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -871,23 +983,23 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_UvpParkDriftPhaseConfiguration_NUMBER", "CONF_PARAM_DESCRIPTION" : "Number of the UVP sensor configuration for the park drift phase. The configuration is defined by UVP_ACQ_CONF_XX_PARAMETERS, where XX is the configuration number." }, - "CONF_PARAM_110" : + "CONF_PARAM_124" : { "CONF_PARAM_DEC_ID" : "254", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Parking depth drift – Image count for average", + "CONF_PARAM_MSG_LABEL" : "Parking depth drift – Image count for average", "CONF_PARAM_NAME" : "CONFIG_AUX_UvpParkDriftPhaseNumberAveragedImages_NUMBER", "CONF_PARAM_DESCRIPTION" : "Number of averaged images by the UVP sensor for the park drift phase." }, - "CONF_PARAM_111" : + "CONF_PARAM_125" : { "CONF_PARAM_DEC_ID" : "255", "CONF_PARAM_TYPE" : "CONFIG_AUX", - "CONF_PARAM_MSG_LABEL" : "Parking depth drift – Sampling period (s)", + "CONF_PARAM_MSG_LABEL" : "Parking depth drift – Sampling period (s)", "CONF_PARAM_NAME" : "CONFIG_AUX_UvpParkDriftPhaseSamplingPeriod_seconds", "CONF_PARAM_DESCRIPTION" : "Sampling period of the UVP during the park drift phase (in seconds)." }, - "CONF_PARAM_112" : + "CONF_PARAM_126" : { "CONF_PARAM_DEC_ID" : "244", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -895,7 +1007,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_ReduceSubSurfacePhase_LOGICAL", "CONF_PARAM_DESCRIPTION" : "If there is no need to reach the surface (cycle with no transmission phase), the float can start a new descent phase as soon as the 2 dbar thresold is reached (instead of waiting 10 minutes after the crossing of the CONFIG_AscentEndThreshold_dbar threshold)." }, - "CONF_PARAM_113" : + "CONF_PARAM_127" : { "CONF_PARAM_DEC_ID" : "245", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -903,7 +1015,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_BrakeAtSubSurface_LOGICAL", "CONF_PARAM_DESCRIPTION" : "If there is no need to reach the surface (cycle with no transmission phase), the float can brake after the crossing of the CONFIG_AscentEndThreshold_dbar threshold and start a new descent phase." }, - "CONF_PARAM_114" : + "CONF_PARAM_128" : { "CONF_PARAM_DEC_ID" : "246", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -911,7 +1023,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_PressureActivation_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Use the pressure activation feature." }, - "CONF_PARAM_115" : + "CONF_PARAM_129" : { "CONF_PARAM_DEC_ID" : "247", "CONF_PARAM_TYPE" : "CONFIG", @@ -919,7 +1031,7 @@ "CONF_PARAM_NAME" : "CONFIG_PressureActivation_dbar", "CONF_PARAM_DESCRIPTION" : "depth at which float is set to pressure activate" }, - "CONF_PARAM_116" : + "CONF_PARAM_130" : { "CONF_PARAM_DEC_ID" : "248", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -927,7 +1039,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_PressureActivationTimeout_seconds", "CONF_PARAM_DESCRIPTION" : "The pressure activation phase starts after the first successfull auto-test and ends (with the start of the float mission) at the end of the CONFIG_AUX_PressureActivationTimeout_seconds period. During this phase the float checks the external pressure and can start its mission as soon as a CONFIG_PressureActivation_dbar pressure is measured." }, - "CONF_PARAM_117" : + "CONF_PARAM_131" : { "CONF_PARAM_DEC_ID" : "189", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -935,7 +1047,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_BatteryValueFirstCalibrationPoint_COUNT", "CONF_PARAM_DESCRIPTION" : "Count to volt conversion for battery measurements: counts measurement for the first calibration point." }, - "CONF_PARAM_118" : + "CONF_PARAM_132" : { "CONF_PARAM_DEC_ID" : "190", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -943,7 +1055,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_BatteryValueSecondCalibrationPoint_COUNT", "CONF_PARAM_DESCRIPTION" : "Count to volt conversion for battery measurements: counts measurement for the second calibration point." }, - "CONF_PARAM_119" : + "CONF_PARAM_133" : { "CONF_PARAM_DEC_ID" : "191", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -951,7 +1063,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_BatteryValueFirstCalibrationPoint_volts", "CONF_PARAM_DESCRIPTION" : "Count to volt conversion for battery measurements: volts measurement for the first calibration point." }, - "CONF_PARAM_120" : + "CONF_PARAM_134" : { "CONF_PARAM_DEC_ID" : "192", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -959,7 +1071,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_BatteryValueSecondCalibrationPoint_volts", "CONF_PARAM_DESCRIPTION" : "Count to volt conversion for battery measurements: volts measurement for the second calibration point." }, - "CONF_PARAM_121" : + "CONF_PARAM_135" : { "CONF_PARAM_DEC_ID" : "193", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -967,7 +1079,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_InternalPressureValueFirstCalibrationPoint_COUNT", "CONF_PARAM_DESCRIPTION" : "Count to mbar conversion for internal pressure measurements: counts measurement for the first calibration point." }, - "CONF_PARAM_122" : + "CONF_PARAM_136" : { "CONF_PARAM_DEC_ID" : "194", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -975,7 +1087,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_InternalPressureValueSecondCalibrationPoint_COUNT", "CONF_PARAM_DESCRIPTION" : "Count to mbar conversion for internal pressure measurements: counts measurement for the second calibration point." }, - "CONF_PARAM_123" : + "CONF_PARAM_137" : { "CONF_PARAM_DEC_ID" : "195", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -983,7 +1095,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_InternalPressureValueFirstCalibrationPoint_mbar", "CONF_PARAM_DESCRIPTION" : "Count to mbar conversion for internal pressure measurements: mbar measurement for the first calibration point." }, - "CONF_PARAM_124" : + "CONF_PARAM_138" : { "CONF_PARAM_DEC_ID" : "196", "CONF_PARAM_TYPE" : "CONFIG_AUX", @@ -991,7 +1103,7 @@ "CONF_PARAM_NAME" : "CONFIG_AUX_InternalPressureValueSecondCalibrationPoint_mbar", "CONF_PARAM_DESCRIPTION" : "Count to mbar conversion for internal pressure measurements: mbar measurement for the second calibration point." }, - "CONF_PARAM_125" : + "CONF_PARAM_139" : { "CONF_PARAM_DEC_ID" : "309", "CONF_PARAM_TYPE" : "META_AUX", @@ -999,7 +1111,7 @@ "CONF_PARAM_NAME" : "META_AUX_CTD_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the CTD sensor." }, - "CONF_PARAM_126" : + "CONF_PARAM_140" : { "CONF_PARAM_DEC_ID" : "313", "CONF_PARAM_TYPE" : "META_AUX", @@ -1007,7 +1119,7 @@ "CONF_PARAM_NAME" : "META_AUX_DO_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the DO sensor." }, - "CONF_PARAM_127" : + "CONF_PARAM_141" : { "CONF_PARAM_DEC_ID" : "314", "CONF_PARAM_TYPE" : "META_AUX", @@ -1015,7 +1127,7 @@ "CONF_PARAM_NAME" : "META_AUX_OCR_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : ".Serial port number used by the OCR sensor." }, - "CONF_PARAM_128" : + "CONF_PARAM_142" : { "CONF_PARAM_DEC_ID" : "315", "CONF_PARAM_TYPE" : "META_AUX", @@ -1023,7 +1135,7 @@ "CONF_PARAM_NAME" : "META_AUX_ECO_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the ECO sensor." }, - "CONF_PARAM_129" : + "CONF_PARAM_143" : { "CONF_PARAM_DEC_ID" : "316", "CONF_PARAM_TYPE" : "META_AUX", @@ -1031,7 +1143,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_SERIAL_PORT_NUMBER", "CONF_PARAM_DESCRIPTION" : "Serial port number used by the UVP sensor." }, - "CONF_PARAM_130" : + "CONF_PARAM_144" : { "CONF_PARAM_DEC_ID" : "317", "CONF_PARAM_TYPE" : "META_AUX", @@ -1039,7 +1151,7 @@ "CONF_PARAM_NAME" : "META_AUX_FLOAT_SIM_CARD_NUMBER", "CONF_PARAM_DESCRIPTION" : "SIM card number of the float." }, - "CONF_PARAM_131" : + "CONF_PARAM_145" : { "CONF_PARAM_DEC_ID" : "318", "CONF_PARAM_TYPE" : "META_AUX", @@ -1047,15 +1159,15 @@ "CONF_PARAM_NAME" : "META_AUX_FIRMWARE_VERSION_SECONDARY", "CONF_PARAM_DESCRIPTION" : "Firmware version of secondary controller board." }, - "CONF_PARAM_132" : + "CONF_PARAM_146" : { "CONF_PARAM_DEC_ID" : "319", "CONF_PARAM_TYPE" : "META_AUX", "CONF_PARAM_MSG_LABEL" : "HW_CONF", "CONF_PARAM_NAME" : "META_AUX_UVP_HW_CONF_PARAMETERS", - "CONF_PARAM_DESCRIPTION" : "UVP HW_CONF configuration parameters: Camera_ref, Acquisition_mode, Default_acquisition_configuration, Delay_after_power_up_on_time_mode, Light_ref, Correction_table_activation, Time_between_lighting_power_up_and_trigger, Time_between_lighting_trigger_and_acquisition, Pressure_sensor_ref, Pressure offset, Storage_capacity, Minimum_remaining_memory_for_thumbnail_saving, Baud_Rate, IP_adress, Black_level, Shutter, Gain, Threshold, Aa, Exp, Pixel_Size, Image_volume, Calibration_date, Last_parameters_modification, Operator_email, 18 parameters defining the lower bounds (in µM ESD) of the 18 classes of particles sizes." + "CONF_PARAM_DESCRIPTION" : "UVP HW_CONF configuration parameters: Camera_ref, Acquisition_mode, Default_acquisition_configuration, Delay_after_power_up_on_time_mode, Light_ref, Correction_table_activation, Time_between_lighting_power_up_and_trigger, Time_between_lighting_trigger_and_acquisition, Pressure_sensor_ref, Pressure offset, Storage_capacity, Minimum_remaining_memory_for_thumbnail_saving, Baud_Rate, IP_adress, Black_level, Shutter, Gain, Threshold, Aa, Exp, Pixel_Size, Image_volume, Calibration_date, Last_parameters_modification, Operator_email, 18 parameters defining the lower bounds (in µM ESD) of the 18 classes of particles sizes." }, - "CONF_PARAM_133" : + "CONF_PARAM_147" : { "CONF_PARAM_DEC_ID" : "320", "CONF_PARAM_TYPE" : "META_AUX", @@ -1063,7 +1175,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_01_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_01 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_134" : + "CONF_PARAM_148" : { "CONF_PARAM_DEC_ID" : "321", "CONF_PARAM_TYPE" : "META_AUX", @@ -1071,7 +1183,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_02_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_02 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_135" : + "CONF_PARAM_149" : { "CONF_PARAM_DEC_ID" : "322", "CONF_PARAM_TYPE" : "META_AUX", @@ -1079,7 +1191,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_03_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_03 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_136" : + "CONF_PARAM_150" : { "CONF_PARAM_DEC_ID" : "323", "CONF_PARAM_TYPE" : "META_AUX", @@ -1087,7 +1199,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_04_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_04 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_137" : + "CONF_PARAM_151" : { "CONF_PARAM_DEC_ID" : "324", "CONF_PARAM_TYPE" : "META_AUX", @@ -1095,7 +1207,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_05_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_05 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_138" : + "CONF_PARAM_152" : { "CONF_PARAM_DEC_ID" : "325", "CONF_PARAM_TYPE" : "META_AUX", @@ -1103,7 +1215,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_06_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_06 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_139" : + "CONF_PARAM_153" : { "CONF_PARAM_DEC_ID" : "326", "CONF_PARAM_TYPE" : "META_AUX", @@ -1111,7 +1223,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_07_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_07 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_140" : + "CONF_PARAM_154" : { "CONF_PARAM_DEC_ID" : "327", "CONF_PARAM_TYPE" : "META_AUX", @@ -1119,7 +1231,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_08_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_08 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_141" : + "CONF_PARAM_155" : { "CONF_PARAM_DEC_ID" : "328", "CONF_PARAM_TYPE" : "META_AUX", @@ -1127,7 +1239,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_09_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_09 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_142" : + "CONF_PARAM_156" : { "CONF_PARAM_DEC_ID" : "329", "CONF_PARAM_TYPE" : "META_AUX", @@ -1135,7 +1247,7 @@ "CONF_PARAM_NAME" : "META_AUX_UVP_ACQ_CONF_10_PARAMETERS", "CONF_PARAM_DESCRIPTION" : "UVP ACQ_CONF_10 configuration parameters: Configuration_name, PT_mode, Acquisition_frequency, Frames_per_bloc, Blocs_per_PT, Pressure_for_auto_start, Pressure_difference_for_auto_stop, Result_sending, Save_synthetic_data_for_delayed_request, Limit_lpm_detection_size, Save_images, Vignetting_lower_limit_size, Appendices_ratio, Interval_for_mesuring_background_noise, Image_nb_for_smoothing, Analog_output_activation, Gain_for_analog_out, Minimum_object_number, Maximal_internal_temperature, Operator_email, 0, SD card remaining memory (Mbytes)." }, - "CONF_PARAM_143" : + "CONF_PARAM_157" : { "CONF_PARAM_DEC_ID" : "116003", "CONF_PARAM_TYPE" : "CONFIG", @@ -1143,7 +1255,7 @@ "CONF_PARAM_NAME" : "CONFIG_SunaApfFrameOutputPixelBegin_NUMBER", "CONF_PARAM_DESCRIPTION" : "The Apf frame definition allows for a variable number of spectrometer pixels (also called channels) to be included in the frame. The two pixel values are configured indirectly via the wavelength range of the spectrum to be output (Suna Hardware Manual, section 4.2.3, input/output configuration parameters, data wavelength low/high.) The firmware converts the wavelength values to spectrometer pixels." }, - "CONF_PARAM_144" : + "CONF_PARAM_158" : { "CONF_PARAM_DEC_ID" : "116004", "CONF_PARAM_TYPE" : "CONFIG", @@ -1151,7 +1263,7 @@ "CONF_PARAM_NAME" : "CONFIG_SunaApfFrameOutputPixelEnd_NUMBER", "CONF_PARAM_DESCRIPTION" : "The Apf frame definition allows for a variable number of spectrometer pixels (also called channels) to be included in the frame. The two pixel values are configured indirectly via the wavelength range of the spectrum to be output (Suna Hardware Manual, section 4.2.3, input/output configuration parameters, data wavelength low/high.) The firmware converts the wavelength values to spectrometer pixels." }, - "CONF_PARAM_145" : + "CONF_PARAM_159" : { "CONF_PARAM_DEC_ID" : "113002", "CONF_PARAM_TYPE" : "CONFIG", @@ -1159,7 +1271,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoBetaAngle_angularDeg", "CONF_PARAM_DESCRIPTION" : "Angle of Beta measurements (in degrees) " }, - "CONF_PARAM_146" : + "CONF_PARAM_160" : { "CONF_PARAM_DEC_ID" : "133011", "CONF_PARAM_TYPE" : "CONFIG", @@ -1167,7 +1279,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoBetaBandwidth1_nm", "CONF_PARAM_DESCRIPTION" : "Bandwidth of EcoBeta #1measurements (in nanometer)." }, - "CONF_PARAM_147" : + "CONF_PARAM_161" : { "CONF_PARAM_DEC_ID" : "133010", "CONF_PARAM_TYPE" : "CONFIG", @@ -1175,7 +1287,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoBetaWavelength1_nm", "CONF_PARAM_DESCRIPTION" : "Wavelength of Eco Beta #1 measurements (in nanometer)." }, - "CONF_PARAM_148" : + "CONF_PARAM_162" : { "CONF_PARAM_DEC_ID" : "123103", "CONF_PARAM_TYPE" : "CONFIG", @@ -1183,7 +1295,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoCdomFluorescenceEmissionBandwidth_nm", "CONF_PARAM_DESCRIPTION" : "Bandwidth of Eco for emission of Cdom fluorescence measurements (in nanometer)" }, - "CONF_PARAM_149" : + "CONF_PARAM_163" : { "CONF_PARAM_DEC_ID" : "123101", "CONF_PARAM_TYPE" : "CONFIG", @@ -1191,7 +1303,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoCdomFluorescenceEmissionWavelength_nm", "CONF_PARAM_DESCRIPTION" : "Wavelength of Eco for emission of Cdom fluorescence measurements (in nanometer)" }, - "CONF_PARAM_150" : + "CONF_PARAM_164" : { "CONF_PARAM_DEC_ID" : "123102", "CONF_PARAM_TYPE" : "CONFIG", @@ -1199,7 +1311,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoCdomFluorescenceExcitationBandwidth_nm", "CONF_PARAM_DESCRIPTION" : "Bandwidth of Eco for excitation of Cdom fluorescence measurements (in nanometer)" }, - "CONF_PARAM_151" : + "CONF_PARAM_165" : { "CONF_PARAM_DEC_ID" : "123100", "CONF_PARAM_TYPE" : "CONFIG", @@ -1207,7 +1319,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoCdomFluorescenceExcitationWavelength_nm", "CONF_PARAM_DESCRIPTION" : "Wavelength of Eco for excitation of Cdom fluorescence measurements (in nanometer)" }, - "CONF_PARAM_152" : + "CONF_PARAM_166" : { "CONF_PARAM_DEC_ID" : "123003", "CONF_PARAM_TYPE" : "CONFIG", @@ -1215,7 +1327,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoChlaFluorescenceEmissionBandwidth_nm", "CONF_PARAM_DESCRIPTION" : "Bandwidth of Eco for emission of Chla fluorescence measurements (in nanometer)" }, - "CONF_PARAM_153" : + "CONF_PARAM_167" : { "CONF_PARAM_DEC_ID" : "123001", "CONF_PARAM_TYPE" : "CONFIG", @@ -1223,7 +1335,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoChlaFluorescenceEmissionWavelength_nm", "CONF_PARAM_DESCRIPTION" : "Wavelength of Eco for emission of Chla fluorescence measurements (in nanometer)" }, - "CONF_PARAM_154" : + "CONF_PARAM_168" : { "CONF_PARAM_DEC_ID" : "123002", "CONF_PARAM_TYPE" : "CONFIG", @@ -1231,7 +1343,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoChlaFluorescenceExcitationBandwidth_nm", "CONF_PARAM_DESCRIPTION" : "Bandwidth of Eco for excitation of Chla fluorescence measurements (in nanometer)" }, - "CONF_PARAM_155" : + "CONF_PARAM_169" : { "CONF_PARAM_DEC_ID" : "123000", "CONF_PARAM_TYPE" : "CONFIG", @@ -1239,7 +1351,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoChlaFluorescenceExcitationWavelength_nm", "CONF_PARAM_DESCRIPTION" : "Wavelength of Eco for excitation of Chla fluorescence measurements (in nanometer)" }, - "CONF_PARAM_156" : + "CONF_PARAM_170" : { "CONF_PARAM_DEC_ID" : "113000", "CONF_PARAM_TYPE" : "CONFIG", @@ -1247,7 +1359,7 @@ "CONF_PARAM_NAME" : "CONFIG_EcoVerticalPressureOffset_dbar", "CONF_PARAM_DESCRIPTION" : "vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure" }, - "CONF_PARAM_157" : + "CONF_PARAM_171" : { "CONF_PARAM_DEC_ID" : "132013", "CONF_PARAM_TYPE" : "CONFIG", @@ -1255,7 +1367,7 @@ "CONF_PARAM_NAME" : "CONFIG_OcrDownIrrBandwidth1_nm", "CONF_PARAM_DESCRIPTION" : "Bandwidth of Ocr DownIrr #1 measurements (in nanometer)." }, - "CONF_PARAM_158" : + "CONF_PARAM_172" : { "CONF_PARAM_DEC_ID" : "132023", "CONF_PARAM_TYPE" : "CONFIG", @@ -1263,7 +1375,7 @@ "CONF_PARAM_NAME" : "CONFIG_OcrDownIrrBandwidth2_nm", "CONF_PARAM_DESCRIPTION" : "Bandwidth of Ocr DownIrr #2 measurements (in nanometer)." }, - "CONF_PARAM_159" : + "CONF_PARAM_173" : { "CONF_PARAM_DEC_ID" : "132033", "CONF_PARAM_TYPE" : "CONFIG", @@ -1271,7 +1383,7 @@ "CONF_PARAM_NAME" : "CONFIG_OcrDownIrrBandwidth3_nm", "CONF_PARAM_DESCRIPTION" : "Bandwidth of Ocr DownIrr #3 measurements (in nanometer)." }, - "CONF_PARAM_160" : + "CONF_PARAM_174" : { "CONF_PARAM_DEC_ID" : "132012", "CONF_PARAM_TYPE" : "CONFIG", @@ -1279,7 +1391,7 @@ "CONF_PARAM_NAME" : "CONFIG_OcrDownIrrWavelength1_nm", "CONF_PARAM_DESCRIPTION" : "Wavelength of Ocr DownIrr #1measurements (in nanometer)." }, - "CONF_PARAM_161" : + "CONF_PARAM_175" : { "CONF_PARAM_DEC_ID" : "132022", "CONF_PARAM_TYPE" : "CONFIG", @@ -1287,7 +1399,7 @@ "CONF_PARAM_NAME" : "CONFIG_OcrDownIrrWavelength2_nm", "CONF_PARAM_DESCRIPTION" : "Wavelength of Ocr DownIrr #2 measurements (in nanometer)." }, - "CONF_PARAM_162" : + "CONF_PARAM_176" : { "CONF_PARAM_DEC_ID" : "132032", "CONF_PARAM_TYPE" : "CONFIG", @@ -1295,7 +1407,7 @@ "CONF_PARAM_NAME" : "CONFIG_OcrDownIrrWavelength3_nm", "CONF_PARAM_DESCRIPTION" : "Wavelength of Ocr DownIrr #3 measurements (in nanometer)." }, - "CONF_PARAM_163" : + "CONF_PARAM_177" : { "CONF_PARAM_DEC_ID" : "112000", "CONF_PARAM_TYPE" : "CONFIG", @@ -1303,7 +1415,7 @@ "CONF_PARAM_NAME" : "CONFIG_OcrVerticalPressureOffset_dbar", "CONF_PARAM_DESCRIPTION" : "vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure" }, - "CONF_PARAM_164" : + "CONF_PARAM_178" : { "CONF_PARAM_DEC_ID" : "111000", "CONF_PARAM_TYPE" : "CONFIG", @@ -1311,7 +1423,7 @@ "CONF_PARAM_NAME" : "CONFIG_OptodeVerticalPressureOffset_dbar", "CONF_PARAM_DESCRIPTION" : "vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure" }, - "CONF_PARAM_165" : + "CONF_PARAM_179" : { "CONF_PARAM_DEC_ID" : "111007", "CONF_PARAM_TYPE" : "CONFIG", @@ -1319,7 +1431,7 @@ "CONF_PARAM_NAME" : "CONFIG_OptodeMeasurementsInAir_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Sensors can be mounted on a stick to perform measurements in Air. Values: Yes = 1, No = 0" }, - "CONF_PARAM_166" : + "CONF_PARAM_180" : { "CONF_PARAM_DEC_ID" : "111008", "CONF_PARAM_TYPE" : "CONFIG", @@ -1327,7 +1439,7 @@ "CONF_PARAM_NAME" : "CONFIG_OptodeTimePressureOffset_seconds", "CONF_PARAM_DESCRIPTION" : "Time interval between optode and pressure measurements due to the fact that the optode answer is not simultaneous with the CTD/pressure answer" }, - "CONF_PARAM_167" : + "CONF_PARAM_181" : { "CONF_PARAM_DEC_ID" : "116000", "CONF_PARAM_TYPE" : "CONFIG", @@ -1335,7 +1447,7 @@ "CONF_PARAM_NAME" : "CONFIG_SunaVerticalPressureOffset_dbar", "CONF_PARAM_DESCRIPTION" : "vertical pressure offset due to the fact that the sensor is not exactly at the Ctd pressure" }, - "CONF_PARAM_168" : + "CONF_PARAM_182" : { "CONF_PARAM_DEC_ID" : "116005", "CONF_PARAM_TYPE" : "CONFIG", diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1321.csv b/decArgo_soft/config/_configParamNames/_config_param_name_1321.csv index 7d9f96a8..c7789d84 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1321.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1321.csv @@ -47,12 +47,12 @@ CONFIG_TBP;n/a;The maximum pressure in decibars to which the air bladder will in CONFIG_FRET;n/a;The minimum piston position in counts. The buoyancy pump will shut off if the piston position reaches this minimum value.;CONFIG_PistonFullRetraction_COUNT;n/a CONFIG_FEXT;n/a;The maximum piston position in counts. The buoyancy pump will shut off if the piston position reaches this maximum value.;CONFIG_PistonFullExtension_COUNT;n/a CONFIG_COP;n/a;Cutoff pressure of the CTD pump.;CONFIG_CTDPumpStopPressure_dbar;The pressure at which the CTD pump is switched off. As the float ascends, the code looks at the pressure and if <= CONFIG_CTDPumpStopPressure, the CTD is turned off. CTDPumpStopPressure is a firmware threshold and as such, data may continue to be collected for a limited span after the threshold is recognized. Especially in floats that return high resolution discrete data, there might be data collected shallower than the cut off, due to the discrete nature of the pressure data and also due to the time necessary for the firmware to turn off the CTD once the pressure threshold is reached. For example for SOLOII floats the CTD is switched off at 1dbar, and typically the shallowest data is from 0.5 to 0.8 dbar. This shallow data should be carefully assessed for its validity. -CONFIG_SAMPLE01;n/a;n/a;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE02;n/a;n/a;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE03;n/a;n/a;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE04;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE05;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_seconds;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. -CONFIG_SAMPLE06;n/a;n/a;CONFIG_DepthZoneNumberOfSamples_NUMBER;Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE01;n/a;n/a;CONFIG_NumberOfDepthZone_NUMBER;Number of depth zones defined for the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE02;n/a;n/a;CONFIG_DepthZoneStartPres_dbar;Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE03;n/a;n/a;CONFIG_DepthZoneStopPres_dbar;Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE04;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_dbar;Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle. +CONFIG_SAMPLE05;n/a;n/a;CONFIG_DepthZoneSamplingPeriod_seconds;Sampling period of the during in the depth zone # (in minutes). +CONFIG_SAMPLE06;n/a;n/a;CONFIG_DepthZoneNumberOfSamples_NUMBER;Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle. CONFIG_PROFILE01;n/a;n/a;CONFIG_CpAscentPhaseNumberOfDepthZone_NUMBER;Number of ascent depth zones defined for the sensor used in continuous profiling mode. CONFIG_PROFILE02;n/a;n/a;CONFIG_CpAscentPhaseDepthZoneStartPres_dbar;Start pressure to define the ascent depth zone # of the sensor used in continuous profiling mode. CONFIG_PROFILE03;n/a;n/a;CONFIG_CpAscentPhaseDepthZoneStopPres_dbar;Stop pressure to define the ascent depth zone # of the sensor used in continuous profiling mode. diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1321.json b/decArgo_soft/config/_configParamNames/_config_param_name_1321.json index 004c3791..12c1ad17 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1321.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1321.json @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_DPF", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", + "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", "CONF_PARAM_NAME" : "CONFIG_DeepProfileFirstFloat_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Some APEX floats are set to do a profile on deployment. This means that when the float is deployed it skips the drift phase at the PARKING depth and sinks directly to the PROFILE depth and starts ascending for the first profile. Independent of the Park and Profile cycle length, the first profile is always a Deep Profile that begins at the Profile Depth. This means the float returns a CTD profile relatively soon, typically less than a day, after the float is deployed. This feature supports comparison of the initial float profile with a conventional CTD cast from the ship. The result is that the first cycle is of shorter duration with a profile depth equal to PROFILE configuration pressure (regardless of the CONFIG_ParkAndProfileCycleCounter_COUNT configuration information). (Yes = 1, No = 0)." }, @@ -123,17 +123,17 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_HRC", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", "CONF_PARAM_NAME" : "CONFIG_PistonPositionHyperRetraction_COUNT", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." }, "CONF_PARAM_17" : { "CONF_PARAM_DEC_ID" : "CONFIG_HRP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", "CONF_PARAM_NAME" : "CONFIG_HyperRetractionStopPressure_dbar", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." }, "CONF_PARAM_18" : { @@ -171,7 +171,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_ICEM", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", + "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", "CONF_PARAM_NAME" : "CONFIG_BitMaskMonthsIceDetectionActive_NUMBER", "CONF_PARAM_DESCRIPTION" : "When is ice detection active - months in reverse order" }, @@ -219,7 +219,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_MAP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", + "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", "CONF_PARAM_NAME" : "CONFIG_PressureActivation_dbar", "CONF_PARAM_DESCRIPTION" : "depth at which float is set to pressure activate" }, @@ -317,7 +317,7 @@ "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "The amount of time in minutes the float will remain in the Mission Prelude phase before transitioning to the Park Descent phase. The float will transition to the Park Descent phase only at the end of this period and only if the self test passes or PreludeSelfTest is set to off.", "CONF_PARAM_NAME" : "CONFIG_MissionPreludeTime_minutes", - "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." + "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." }, "CONF_PARAM_41" : { @@ -388,48 +388,48 @@ "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE01", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_50" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE02", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_51" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE03", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_52" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE04", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_53" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE05", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the during in the depth zone # (in minutes)." }, "CONF_PARAM_54" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE06", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_55" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_1322.json b/decArgo_soft/config/_configParamNames/_config_param_name_1322.json index 004c3791..12c1ad17 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_1322.json +++ b/decArgo_soft/config/_configParamNames/_config_param_name_1322.json @@ -99,7 +99,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_DPF", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", + "CONF_PARAM_DEFINITION" : "If set to on, the float will, on its first descent only, after the Mission Prelude, remain in the Park phase for five minutes before descending to the Profile depth. If set to off, the first Park phase period is as described in “Park Phase” on page 3-6.", "CONF_PARAM_NAME" : "CONFIG_DeepProfileFirstFloat_LOGICAL", "CONF_PARAM_DESCRIPTION" : "Some APEX floats are set to do a profile on deployment. This means that when the float is deployed it skips the drift phase at the PARKING depth and sinks directly to the PROFILE depth and starts ascending for the first profile. Independent of the Park and Profile cycle length, the first profile is always a Deep Profile that begins at the Profile Depth. This means the float returns a CTD profile relatively soon, typically less than a day, after the float is deployed. This feature supports comparison of the initial float profile with a conventional CTD cast from the ship. The result is that the first cycle is of shorter duration with a profile depth equal to PROFILE configuration pressure (regardless of the CONFIG_ParkAndProfileCycleCounter_COUNT configuration information). (Yes = 1, No = 0)." }, @@ -123,17 +123,17 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_HRC", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent.", "CONF_PARAM_NAME" : "CONFIG_PistonPositionHyperRetraction_COUNT", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractCount is the temporary piston position used when the float leaves the Surface and starts a ParkDescent." }, "CONF_PARAM_17" : { "CONF_PARAM_DEC_ID" : "CONFIG_HRP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", + "CONF_PARAM_DEFINITION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount.", "CONF_PARAM_NAME" : "CONFIG_HyperRetractionStopPressure_dbar", - "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." + "CONF_PARAM_DESCRIPTION" : "For Apex APF11 Iridium floats, Hyper Retraction is used to pull in an amount of oil to temporarily increase a float’s density as it leaves the ocean surface. The result of the increased float density allows a float to move through a mixed density layer more easily or allows a float to descend at a faster rate. In particular, the HyperRetractPressure is the pressure that the float uses to restore the piston back to the ParkDescentCount." }, "CONF_PARAM_18" : { @@ -171,7 +171,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_ICEM", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", + "CONF_PARAM_DEFINITION" : "Determines the months of the year during which ice avoidance is enabled. To determine the numerical entry, which is in hexadecimal, select one or more months during which to enable ice avoidance, where each month is a “one” bit in a 12-bit binary string representing January (000000000001) to December (100000000000). For more than one month, whether contiguous or not, “or” the values of all the months to determine the binary value. For example, to detect ice during the contiguous months of May to September, the binary value is 000111110000. Converting to hexadecimal, the entry is 0x01f0. For the months January to May and September to December, the binary value is 111100011111. Converting to hexadecimal, the entry is 0x0f1f.", "CONF_PARAM_NAME" : "CONFIG_BitMaskMonthsIceDetectionActive_NUMBER", "CONF_PARAM_DESCRIPTION" : "When is ice detection active - months in reverse order" }, @@ -219,7 +219,7 @@ { "CONF_PARAM_DEC_ID" : "CONFIG_MAP", "CONF_PARAM_LABEL" : "n/a", - "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", + "CONF_PARAM_DEFINITION" : "The minimum pressure in decibars at which the float goes into Mission mode. It determines the float’s pressure activation depth. The float checks for this pressure periodically at the rate specified by IdleTimerInterval.", "CONF_PARAM_NAME" : "CONFIG_PressureActivation_dbar", "CONF_PARAM_DESCRIPTION" : "depth at which float is set to pressure activate" }, @@ -317,7 +317,7 @@ "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "The amount of time in minutes the float will remain in the Mission Prelude phase before transitioning to the Park Descent phase. The float will transition to the Park Descent phase only at the end of this period and only if the self test passes or PreludeSelfTest is set to off.", "CONF_PARAM_NAME" : "CONFIG_MissionPreludeTime_minutes", - "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." + "CONF_PARAM_DESCRIPTION" : "This is the duration the float transmits test messages for (from start up) before the first dive. It’s crucial in calculating the time of the first descent." }, "CONF_PARAM_41" : { @@ -388,48 +388,48 @@ "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE01", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_NumberOfDepthZone_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of depth zones defined for the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_50" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE02", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStartPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Start pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_51" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE03", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", - "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneStopPres_dbar", + "CONF_PARAM_DESCRIPTION" : "Stop pressure to define the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_52" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE04", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_dbar", + "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_53" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE05", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", - "CONF_PARAM_DESCRIPTION" : "Sampling period for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneSamplingPeriod_seconds", + "CONF_PARAM_DESCRIPTION" : "Sampling period of the during in the depth zone # (in minutes)." }, "CONF_PARAM_54" : { "CONF_PARAM_DEC_ID" : "CONFIG_SAMPLE06", "CONF_PARAM_LABEL" : "n/a", "CONF_PARAM_DEFINITION" : "n/a", - "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", - "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." + "CONF_PARAM_NAME" : "CONFIG_DepthZoneNumberOfSamples_NUMBER", + "CONF_PARAM_DESCRIPTION" : "Number of samples for the depth zone # of the sensor while sampling during the phase of the cycle." }, "CONF_PARAM_55" : { diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_302.csv b/decArgo_soft/config/_configParamNames/_config_param_name_302.csv index b9d0e77a..93503539 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_302.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_302.csv @@ -38,11 +38,11 @@ CONF_PARAM_DEC_ID;CONF_PARAM_MSG_ID;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PA 405;255;Last month to use cycle duration # (in gregorian month).;CONFIG_InternalCycleLastGregMonth_MM;Last month to use float cycle duration # (in gregorian month). (D is a number denoting the internal cycle label) 406;255;Last year to use cycle duration # (in gregorian year, two digits).;CONFIG_InternalCycleLastGregYear_YYYY;Last year to use float cycle duration # (in gregorian year, two digits). (D is a number denoting the internal cycle label) 407;255;Duration of the current cycle computed from PV parameters;CONFIG_CycleTime_hours;For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value. -500;251;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds).;CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). -501;251;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes).;CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). -502;251;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds).;CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). -503;251;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes).;CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). -504;251;Sampling period of the during the ascending profile in the depth zone # (in seconds).;CONFIG_DepthZoneAscentSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). +500;251;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds).;CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). +501;251;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes).;CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). +502;251;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds).;CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). +503;251;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes).;CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). +504;251;Sampling period of the during the ascending profile in the depth zone # (in seconds).;CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). 505;251;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous).;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). 506;251;Data processing output of the in the depth zone # (0 : raw, 1 : average, 7 : average/median/standard deviation).;CONFIG_DepthZoneDataProcessingMode_NUMBER;Data processing output of the in the depth zone # (0 : raw, 1 : average, 7 : average/median/standard deviation). 508;251;Slices thickness for in the depth zone # (in dbars).;CONFIG_DepthZoneSlicesThickness_dbar;Slices thickness for in the depth zone # (in dbars). diff --git a/decArgo_soft/config/_configParamNames/_config_param_name_303.csv b/decArgo_soft/config/_configParamNames/_config_param_name_303.csv index e92b830b..5473e01c 100644 --- a/decArgo_soft/config/_configParamNames/_config_param_name_303.csv +++ b/decArgo_soft/config/_configParamNames/_config_param_name_303.csv @@ -38,11 +38,11 @@ CONF_PARAM_DEC_ID;CONF_PARAM_MSG_ID;CONF_PARAM_MSG_LABEL;CONF_PARAM_NAME;CONF_PA 405;255;Last month to use cycle duration # (in gregorian month).;CONFIG_InternalCycleLastGregMonth_MM;Last month to use float cycle duration # (in gregorian month). (D is a number denoting the internal cycle label) 406;255;Last year to use cycle duration # (in gregorian year, two digits).;CONFIG_InternalCycleLastGregYear_YYYY;Last year to use float cycle duration # (in gregorian year, two digits). (D is a number denoting the internal cycle label) 407;255;Duration of the current cycle computed from PV parameters;CONFIG_CycleTime_hours;For APEX and ARVOR floats this is the total duration of one cycle, usually 240 hours (10 days). For SOLO floats this is the total duration of one cycle, assuming that all float operations reach their full time-out intervals before moving to the next float stage. Typically the actual cycle time will be shorter than this value. -500;251;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds).;CONFIG_DepthZoneDescentToParkPresSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). -501;251;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes).;CONFIG_DepthZoneDriftAtParkPresSamplingPeriod_minutes;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). -502;251;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds).;CONFIG_DepthZoneDescentToProfilePresSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). -503;251;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes).;CONFIG_DepthZoneDriftAtProfilePresSamplingPeriod_minutes;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). -504;251;Sampling period of the during the ascending profile in the depth zone # (in seconds).;CONFIG_DepthZoneAscentSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). +500;251;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds).;CONFIG_DescentToParkPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to parking pressure in the depth zone # (in seconds). +501;251;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes).;CONFIG_ParkDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at parking pressure in the depth zone # (in minutes). +502;251;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds).;CONFIG_DescentToProfPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the descent to profile pressure in the depth zone # (in seconds). +503;251;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes).;CONFIG_ProfDriftPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the drift at profile pressure in the depth zone # (in minutes). +504;251;Sampling period of the during the ascending profile in the depth zone # (in seconds).;CONFIG_AscentPhaseDepthZoneSamplingPeriod_seconds;Sampling period of the during the ascending profile in the depth zone # (in seconds). 505;251;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous).;CONFIG_DepthZonePowerAcquisitionMode_NUMBER;Power acquisition mode of the in the depth zone # (0 : none, 2 : pulsed, 3 : continuous). 506;251;Data processing output of the in the depth zone # (0 : raw, 1 : average, 7 : average/median/standard deviation).;CONFIG_DepthZoneDataProcessingMode_NUMBER;Data processing output of the in the depth zone # (0 : raw, 1 : average, 7 : average/median/standard deviation). 508;251;Slices thickness for in the depth zone # (in dbars).;CONFIG_DepthZoneSlicesThickness_dbar;Slices thickness for in the depth zone # (in dbars). diff --git a/decArgo_soft/config/_techParamNames/_tech_param_name_219_ori.json b/decArgo_soft/config/_techParamNames/_tech_param_name_219_ori.json deleted file mode 100644 index 9a32b398..00000000 --- a/decArgo_soft/config/_techParamNames/_tech_param_name_219_ori.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "TECH_PARAM_1" : - { - "TECH_PARAM_DEC_ID" : "100", - "TECH_PARAM_MSG_ID" : "2", - "TECH_PARAM_MSG_LABEL" : "Cycle start time", - "TECH_PARAM_NAME" : "CLOCK_InitialValveActionDescentToPark_HHMM", - "TECH_PARAM_DESCRIPTION" : "Day number of the beginning of buoyancy reduction (relative to mission start day)." - }, - "TECH_PARAM_2" : - { - "TECH_PARAM_DEC_ID" : "101", - "TECH_PARAM_MSG_ID" : "3", - "TECH_PARAM_MSG_LABEL" : "Descent start time", - "TECH_PARAM_NAME" : "CLOCK_StartDescentProfile_HHMM", - "TECH_PARAM_DESCRIPTION" : "time when descent profile starts" - }, - "TECH_PARAM_3" : - { - "TECH_PARAM_DEC_ID" : "102", - "TECH_PARAM_MSG_ID" : "4", - "TECH_PARAM_MSG_LABEL" : "End of descent time", - "TECH_PARAM_NAME" : "CLOCK_EndDescentToPark_HHMM", - "TECH_PARAM_DESCRIPTION" : "time when park pressure is reached (tenths of an hour since midnight)" - }, - "TECH_PARAM_4" : - { - "TECH_PARAM_DEC_ID" : "103", - "TECH_PARAM_MSG_ID" : "5", - "TECH_PARAM_MSG_LABEL" : "Ascent start time", - "TECH_PARAM_NAME" : "CLOCK_StartAscentToSurface_HHMM", - "TECH_PARAM_DESCRIPTION" : "Number of minutes elapsed in the day at the beginning of the ascent to the surface." - }, - "TECH_PARAM_5" : - { - "TECH_PARAM_DEC_ID" : "104", - "TECH_PARAM_MSG_ID" : "6", - "TECH_PARAM_MSG_LABEL" : "Time at end of ascent", - "TECH_PARAM_NAME" : "CLOCK_EndAscentToSurface_HHMM", - "TECH_PARAM_DESCRIPTION" : "ascent end time, just before Argos transmission - note units can vary and the raw values can be in the tech file only if it's not possible to calculate the final JULD in real time." - }, - "TECH_PARAM_6" : - { - "TECH_PARAM_DEC_ID" : "105", - "TECH_PARAM_MSG_ID" : "7", - "TECH_PARAM_MSG_LABEL" : "Transmission start time", - "TECH_PARAM_NAME" : "CLOCK_TransmissionStart_HHMM", - "TECH_PARAM_DESCRIPTION" : "time of the first transmission for this cycle" - }, - "TECH_PARAM_7" : - { - "TECH_PARAM_DEC_ID" : "106", - "TECH_PARAM_MSG_ID" : "11", - "TECH_PARAM_MSG_LABEL" : "Number of valve actions in descent", - "TECH_PARAM_NAME" : "NUMBER_ValveActionsDuringDescentToPark_COUNT", - "TECH_PARAM_DESCRIPTION" : "number of valve actions between the crossing of the gap threshold and the end of descent at park pressure" - }, - "TECH_PARAM_8" : - { - "TECH_PARAM_DEC_ID" : "107", - "TECH_PARAM_MSG_ID" : "12", - "TECH_PARAM_MSG_LABEL" : "Number of pump actions in descent", - "TECH_PARAM_NAME" : "NUMBER_PumpActionsDuringDescentToPark_COUNT", - "TECH_PARAM_DESCRIPTION" : "number of pump actions between the crossing of the gap threshold and the end of descent at park pressure" - }, - "TECH_PARAM_9" : - { - "TECH_PARAM_DEC_ID" : "108", - "TECH_PARAM_MSG_ID" : "13", - "TECH_PARAM_MSG_LABEL" : "Number of re-grounding in drift", - "TECH_PARAM_NAME" : "FLAG_Grounded_NUMBER", - "TECH_PARAM_DESCRIPTION" : "grounded flag , diagnostic bit - could also be logical? Yes/no? 0/1? Or can be number of profiles during which the float grounded" - }, - "TECH_PARAM_10" : - { - "TECH_PARAM_DEC_ID" : "109", - "TECH_PARAM_MSG_ID" : "15", - "TECH_PARAM_MSG_LABEL" : "Pressure sensor offset (two’s complement coded)", - "TECH_PARAM_NAME" : "PRES_SurfaceOffsetCorrectedNotReset_1dbarResolution_dbar", - "TECH_PARAM_DESCRIPTION" : "Surface pressure recorded just before the previous descent but data is corrected on board the float. Note: cumulative offset but no further correction required. Autocorrected" - }, - "TECH_PARAM_11" : - { - "TECH_PARAM_DEC_ID" : "110", - "TECH_PARAM_MSG_ID" : "16", - "TECH_PARAM_MSG_LABEL" : "Internal pressure", - "TECH_PARAM_NAME" : "PRESSURE_InternalVacuumAtSurface_mbar", - "TECH_PARAM_DESCRIPTION" : "Surface internal pressure" - }, - "TECH_PARAM_12" : - { - "TECH_PARAM_DEC_ID" : "111", - "TECH_PARAM_MSG_ID" : "17", - "TECH_PARAM_MSG_LABEL" : "Batteries voltage drop at Pmax, pump ON (with regard to Unom = 10.0 V) (in dV) ", - "TECH_PARAM_NAME" : "VOLTAGE_BatteryPumpStartProfile_volts", - "TECH_PARAM_DESCRIPTION" : "Pump battery voltage (volts) at depth" - }, - "TECH_PARAM_13" : - { - "TECH_PARAM_DEC_ID" : "112", - "TECH_PARAM_MSG_ID" : "18", - "TECH_PARAM_MSG_LABEL" : "Internal temperature", - "TECH_PARAM_NAME" : "TEMPERATURE_InternalVacuumAtSurface_degC", - "TECH_PARAM_DESCRIPTION" : "internal tube temperature at the surface" - }, - "TECH_PARAM_14" : - { - "TECH_PARAM_DEC_ID" : "113", - "TECH_PARAM_MSG_ID" : "19", - "TECH_PARAM_MSG_LABEL" : "Descent speed", - "TECH_PARAM_NAME" : "SPEED_DescentToPark_cm/s", - "TECH_PARAM_DESCRIPTION" : "Average vertical speed during the descent to parking depth" - }, - "TECH_PARAM_15" : - { - "TECH_PARAM_DEC_ID" : "114", - "TECH_PARAM_MSG_ID" : "20", - "TECH_PARAM_MSG_LABEL" : "Ascent speed", - "TECH_PARAM_NAME" : "SPEED_AscentToSurface_cm/s", - "TECH_PARAM_DESCRIPTION" : "Average vertical speed during the ascent to surface" - }, - "TECH_PARAM_16" : - { - "TECH_PARAM_DEC_ID" : "115", - "TECH_PARAM_MSG_ID" : "21", - "TECH_PARAM_MSG_LABEL" : "Number of ascent CTD messages", - "TECH_PARAM_NAME" : "NUMBER_AscentIridiumPackets_COUNT", - "TECH_PARAM_DESCRIPTION" : "Number of Iridium packets used to transmit sensor data collected during the ascent from the profile depth to the surface." - }, - "TECH_PARAM_17" : - { - "TECH_PARAM_DEC_ID" : "116", - "TECH_PARAM_MSG_ID" : "30", - "TECH_PARAM_MSG_LABEL" : "RTC state indicator ( normal = 0, failure = 1)", - "TECH_PARAM_NAME" : "FLAG_RTCStatus_LOGICAL", - "TECH_PARAM_DESCRIPTION" : "real time clock status - 1= OK, 0=not OK" - }, - "TECH_PARAM_18" : - { - "TECH_PARAM_DEC_ID" : "117", - "TECH_PARAM_MSG_ID" : "31", - "TECH_PARAM_MSG_LABEL" : "Defect mode", - "TECH_PARAM_NAME" : "FLAG_CycleStatus_NUMBER", - "TECH_PARAM_DESCRIPTION" : "Flag indicating the status of the cycle (0: nominal, 1: grounding at surface, 2: grounding at pressure shallower than min pressure, 3: max pressure reached during descent, 4: max pressure reached during drift, 5: low battery (less than 6.6V), 6: number of programmed cycle is reached, 10: no programmed date for surfacing after present date, 11: message at deployment, 12 : Mission start again after wait at surface)." - }, - "TECH_PARAM_19" : - { - "TECH_PARAM_DEC_ID" : "1000", - "TECH_PARAM_MSG_ID" : "-1", - "TECH_PARAM_MSG_LABEL" : "Number of ascent CTD packets received", - "TECH_PARAM_NAME" : "NUMBER_AscentIridiumPacketsReceived_COUNT", - "TECH_PARAM_DESCRIPTION" : "Number of Iridium packets received to transmit sensor data collected during the ascent from the profile depth to the surface." - } -} diff --git a/decArgo_soft/soft/sub/add_nitrate_rtqc_to_profile_file.m b/decArgo_soft/soft/sub/add_nitrate_rtqc_to_profile_file.m index 0e6831b4..2c1e587f 100644 --- a/decArgo_soft/soft/sub/add_nitrate_rtqc_to_profile_file.m +++ b/decArgo_soft/soft/sub/add_nitrate_rtqc_to_profile_file.m @@ -72,7 +72,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('RTQC_WARNING: Float #%d Cycle #%d: SUNA calibration information are missing => unable to perform NITRATE RTQC specific test (Test #59)\n', ... + fprintf('RTQC_WARNING: Float #%d Cycle #%d: SUNA calibration information are missing - unable to perform NITRATE RTQC specific test (Test #59)\n', ... a_floatNum, a_cyNum); return elseif (isfield(g_decArgo_calibInfo, 'SUNA') && ... @@ -93,7 +93,7 @@ floatPixelBegin = g_decArgo_calibInfo.SUNA.FloatPixelBegin; floatPixelEnd = g_decArgo_calibInfo.SUNA.FloatPixelEnd; else - fprintf('RTQC_WARNING: Float #%d Cycle #%d: inconsistent SUNA calibration information => unable to perform NITRATE RTQC specific test (Test #59)\n', ... + fprintf('RTQC_WARNING: Float #%d Cycle #%d: inconsistent SUNA calibration information - unable to perform NITRATE RTQC specific test (Test #59)\n', ... a_floatNum, a_cyNum); return end @@ -101,12 +101,12 @@ % retrieve configuration information if (isempty(sunaVerticalOffset)) sunaVerticalOffset = 0; - fprintf('RTQC_WARNING: Float #%d Cycle #%d: SUNA vertical offset is missing => NITRATE RTQC specific test (Test #59) performed with a 0 dbar vertical offset\n', ... + fprintf('RTQC_WARNING: Float #%d Cycle #%d: SUNA vertical offset is missing - NITRATE RTQC specific test (Test #59) performed with a 0 dbar vertical offset\n', ... a_floatNum, a_cyNum); end if (isempty(floatPixelBegin) || isempty(floatPixelBegin)) - fprintf('RTQC_WARNING: Float #%d Cycle #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing => unable to perform NITRATE RTQC specific test (Test #59)\n', ... + fprintf('RTQC_WARNING: Float #%d Cycle #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing - unable to perform NITRATE RTQC specific test (Test #59)\n', ... a_floatNum, a_cyNum); return end @@ -134,7 +134,7 @@ pixelBegin = idF1(1); pixelEnd = idF2(end); if ((pixelBegin < floatPixelBegin) || (pixelEnd > floatPixelEnd)) - fprintf('RTQC_WARNING: Float #%d Cycle #%d: not enough SUNA transmitted pixels => unable to perform NITRATE RTQC specific test (Test #59)\n', ... + fprintf('RTQC_WARNING: Float #%d Cycle #%d: not enough SUNA transmitted pixels - unable to perform NITRATE RTQC specific test (Test #59)\n', ... a_floatNum, a_cyNum); return end @@ -245,20 +245,24 @@ a = [tabOpticalWavelengthUv' tabENitrate']; for idL = 1:size(absorbanceCorNitrate, 1) b = absorbanceCorNitrate(idL, :)'; - mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b - - % check RMS Error - rawResiduals = mdl.Residuals.Raw; - fitErrorNitrate = sqrt(sum(rawResiduals.*rawResiduals)/size(absorbanceCorNitrate, 2)); - if (fitErrorNitrate >= 0.003) - % fprintf('RTQC_INFO_TEMPO: Float #%d Cycle #%d: NITRATE RMS Error test failed (level: %d value: %g)\n', ... - % a_floatNum, a_cyNum, idL, fitErrorNitrate); - profNitrateQc(idL) = set_qc(profNitrateQc(idL), g_decArgo_qcStrBad); + if (all(imag(b) == 0)) + mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b + + % check RMS Error + rawResiduals = mdl.Residuals.Raw; + fitErrorNitrate = sqrt(sum(rawResiduals.*rawResiduals)/size(absorbanceCorNitrate, 2)); + if (fitErrorNitrate >= 0.003) + % fprintf('RTQC_INFO_TEMPO: Float #%d Cycle #%d: NITRATE RMS Error test failed (level: %d value: %g)\n', ... + % a_floatNum, a_cyNum, idL, fitErrorNitrate); + profNitrateQc(idL) = set_qc(profNitrateQc(idL), g_decArgo_qcStrBad); + end + else + profNitrateQc(idL) = g_decArgo_qcStrMissing; end end else - fprintf('RTQC_WARNING: Float #%d Cycle #%d: the ''fitlm'' function is not available in your Matlab configuration => unable to perform ''RMS Error'' part of NITRATE RTQC specific test (Test #59)\n', ... + fprintf('RTQC_WARNING: Float #%d Cycle #%d: the ''fitlm'' function is not available in your Matlab configuration - unable to perform ''RMS Error'' part of NITRATE RTQC specific test (Test #59)\n', ... a_floatNum, a_cyNum); end diff --git a/decArgo_soft/soft/sub/add_profile_date_and_location_201_to_220_222_2001_to_2003.m b/decArgo_soft/soft/sub/add_profile_date_and_location_201_to_220_222_2001_to_2003.m index 91bf8383..88b1521d 100644 --- a/decArgo_soft/soft/sub/add_profile_date_and_location_201_to_220_222_2001_to_2003.m +++ b/decArgo_soft/soft/sub/add_profile_date_and_location_201_to_220_222_2001_to_2003.m @@ -156,7 +156,7 @@ a_profStruct.iridiumLocation = 0; a_profStruct.posSystem = 'GPS'; else - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end @@ -282,7 +282,7 @@ a_profStruct.iridiumLocation = 0; a_profStruct.posSystem = 'GPS'; else - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end diff --git a/decArgo_soft/soft/sub/add_profile_date_and_location_apx_ir_rudics.m b/decArgo_soft/soft/sub/add_profile_date_and_location_apx_ir_rudics.m index f112b46b..4d6d7ddf 100644 --- a/decArgo_soft/soft/sub/add_profile_date_and_location_apx_ir_rudics.m +++ b/decArgo_soft/soft/sub/add_profile_date_and_location_apx_ir_rudics.m @@ -184,7 +184,7 @@ prof.locationLat = interpLocLat; prof.locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... prof.cycleNumber); end diff --git a/decArgo_soft/soft/sub/add_profile_date_and_location_apx_ir_sbd.m b/decArgo_soft/soft/sub/add_profile_date_and_location_apx_ir_sbd.m index 0a345e50..089405de 100644 --- a/decArgo_soft/soft/sub/add_profile_date_and_location_apx_ir_sbd.m +++ b/decArgo_soft/soft/sub/add_profile_date_and_location_apx_ir_sbd.m @@ -194,7 +194,7 @@ prof.locationLat = interpLocLat; prof.locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... prof.cycleNumber); end diff --git a/decArgo_soft/soft/sub/add_profile_date_and_location_ir_rudics_cts4.m b/decArgo_soft/soft/sub/add_profile_date_and_location_ir_rudics_cts4.m index 51068ffa..423c9026 100644 --- a/decArgo_soft/soft/sub/add_profile_date_and_location_ir_rudics_cts4.m +++ b/decArgo_soft/soft/sub/add_profile_date_and_location_ir_rudics_cts4.m @@ -85,7 +85,7 @@ if (length(idPosToUse) > 1) % anomaly management float #6901440 cycle #9 - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: %d GPS locations to locate the profile => using the last one\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: %d GPS locations to locate the profile - using the last one\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber, ... length(idPosToUse)); @@ -142,7 +142,7 @@ a_profStruct.locationLat = interpLocLat; a_profStruct.locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber); end @@ -256,7 +256,7 @@ a_profStruct.locationLat = interpLocLat; a_profStruct.locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber); end diff --git a/decArgo_soft/soft/sub/add_profile_date_and_location_ir_rudics_cts5.m b/decArgo_soft/soft/sub/add_profile_date_and_location_ir_rudics_cts5.m index e3e0df87..76617488 100644 --- a/decArgo_soft/soft/sub/add_profile_date_and_location_ir_rudics_cts5.m +++ b/decArgo_soft/soft/sub/add_profile_date_and_location_ir_rudics_cts5.m @@ -161,7 +161,7 @@ a_profStruct.locationLat = interpLocLat; a_profStruct.locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber); end @@ -267,7 +267,7 @@ a_profStruct.locationLat = interpLocLat; a_profStruct.locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber); end diff --git a/decArgo_soft/soft/sub/add_profile_date_and_location_ir_sbd2.m b/decArgo_soft/soft/sub/add_profile_date_and_location_ir_sbd2.m index 64331339..8359dc72 100644 --- a/decArgo_soft/soft/sub/add_profile_date_and_location_ir_sbd2.m +++ b/decArgo_soft/soft/sub/add_profile_date_and_location_ir_sbd2.m @@ -88,7 +88,7 @@ if (length(idPosToUse) > 1) % anomaly management float #6901440 cycle #9 - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: %d GPS locations to locate the profile => using the last one\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: %d GPS locations to locate the profile - using the last one\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber, ... length(idPosToUse)); @@ -145,7 +145,7 @@ a_profStruct.locationLat = interpLocLat; a_profStruct.locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber); end @@ -286,7 +286,7 @@ a_profStruct.locationLat = interpLocLat; a_profStruct.locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber); end diff --git a/decArgo_soft/soft/sub/add_profile_date_and_location_nemo.m b/decArgo_soft/soft/sub/add_profile_date_and_location_nemo.m index 870168f8..bb14a2fa 100644 --- a/decArgo_soft/soft/sub/add_profile_date_and_location_nemo.m +++ b/decArgo_soft/soft/sub/add_profile_date_and_location_nemo.m @@ -164,7 +164,7 @@ % positioning system o_profile.posSystem = 'GPS'; else - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... o_profile.cycleNumber); end diff --git a/decArgo_soft/soft/sub/add_rtqc_flags_to_netcdf_profile_and_trajectory_data.m b/decArgo_soft/soft/sub/add_rtqc_flags_to_netcdf_profile_and_trajectory_data.m index 5a5e614f..431788f6 100644 --- a/decArgo_soft/soft/sub/add_rtqc_flags_to_netcdf_profile_and_trajectory_data.m +++ b/decArgo_soft/soft/sub/add_rtqc_flags_to_netcdf_profile_and_trajectory_data.m @@ -303,10 +303,7 @@ function add_rtqc_flags_to_netcdf_profile_and_trajectory_data(a_reportStruct, a_ % retrieve the traj c file path name trajFileName = sprintf('%d_Rtraj.nc', floatNum); trajFilePathName = [g_decArgo_dirOutputNetcdfFile '/' floatNumStr '/' trajFileName]; -if ~(exist(trajFilePathName, 'file') == 2) - fprintf('INFO: Float #%d: Trajectory file not found (nominal for first cycle profile processing)\n', floatNum); -else - +if (exist(trajFilePathName, 'file') == 2) % define the tests to perform on trajectory data testToPerformList2 = [ ... {'TEST002_IMPOSSIBLE_DATE'} {1} ... @@ -320,6 +317,8 @@ function add_rtqc_flags_to_netcdf_profile_and_trajectory_data(a_reportStruct, a_ add_rtqc_to_trajectory_file(floatNum, ... trajFilePathName, [], ... testToPerformList2, testMetaData, 1, 0, 1); +else + trajFilePathName = ''; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/decArgo_soft/soft/sub/add_rtqc_to_profile_file.m b/decArgo_soft/soft/sub/add_rtqc_to_profile_file.m index 4f7ee06f..3fc17412 100644 --- a/decArgo_soft/soft/sub/add_rtqc_to_profile_file.m +++ b/decArgo_soft/soft/sub/add_rtqc_to_profile_file.m @@ -94,7 +94,7 @@ % (if TEMP_QC=4 or PRES_QC=4, then DOXY_QC=4; if % PSAL_QC=4, then DOXY_QC=3) % 02/13/2017 - RNU - V 3.0: code update to manage CTS5 float data: -% - multiple identical measurements possible => +% - multiple identical measurements possible - % size(profNmeasXIndex, 1) cannot be predicted % - PRES2, TEMP2 and PSAL2 are present when a SUNA % sensor is used @@ -131,7 +131,7 @@ % (Spike test) updated for PH_IN_SITU_TOTAL % parameter % 11/20/2018 - RNU - V 3.8: Spike test for CHLA disapeared in V 3.7 due to a -% typo => corrected +% typo - corrected % 03/26/2019 - RNU - V 4.0: Added RTQC tests for NITRATE parameter % 05/17/2019 - RNU - V 4.1: TEST #19 (deepest pressure test) modification % of profile pressure threshold: @@ -159,8 +159,13 @@ % Update of test 13: stuck value (update of the list % of 'c' and 'b' parameters to process + process % also associated 'i' parameters). -% Update of density function EOS80 => TEOS 10. +% Update of density function EOS80 - TEOS 10. % 06/19/2020 - RNU - V 4.6: TEST #57: set DOXY_QC = '3' +% 10/19/2020 - RNU - V 4.7: in "REPORT PROFILE QC IN TRAJECTORY DATA" +% - update the list of floats that report profile +% dated levels +% - use the same PROF <-> TRAJ link (created from +% non adjusted values) for adjusted values % ------------------------------------------------------------------------------ function add_rtqc_to_profile_file(a_floatNum, ... a_ncMonoProfInputPathFileName, a_ncMonoProfOutputPathFileName, ... @@ -192,7 +197,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... % program version global g_decArgo_addRtqcToProfileVersion; -g_decArgo_addRtqcToProfileVersion = '4.6'; +g_decArgo_addRtqcToProfileVersion = '4.7'; % Argo data start date janFirst1997InJulD = gregorian_2_julian_dec_argo('1997/01/01 00:00:00'); @@ -339,12 +344,12 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testMetaId)) gebcoPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(gebcoPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST004: Float #%d: GEBCO file (%s) not found => test #4 not performed\n', ... + fprintf('RTQC_WARNING: TEST004: Float #%d: GEBCO file (%s) not found - test #4 not performed\n', ... a_floatNum, gebcoPathFileName); testFlagList(4) = 0; end else - fprintf('RTQC_WARNING: TEST004: Float #%d: GEBCO file needed to perform test #4 => test #4 not performed\n', ... + fprintf('RTQC_WARNING: TEST004: Float #%d: GEBCO file needed to perform test #4 - test #4 not performed\n', ... a_floatNum); testFlagList(4) = 0; end @@ -353,7 +358,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (testFlagList(5) == 1) % for impossible speed test, we need the trajectory data (in global variable) if (isempty(g_rtqc_trajData)) - fprintf('RTQC_WARNING: TEST005: Float #%d: Trajectory data needed to perform test #5 => test #5 not performed\n', ... + fprintf('RTQC_WARNING: TEST005: Float #%d: Trajectory data needed to perform test #5 - test #5 not performed\n', ... a_floatNum); testFlagList(5) = 0; end @@ -365,12 +370,12 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testMetaId)) ncMetaPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(ncMetaPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST013: Float #%d: Nc meta-data file (%s) not found => test #13 not performed\n', ... + fprintf('RTQC_WARNING: TEST013: Float #%d: Nc meta-data file (%s) not found - test #13 not performed\n', ... a_floatNum, ncMetaPathFileName); testFlagList(13) = 0; end else - fprintf('RTQC_WARNING: TEST013: Float #%d: Nc meta-data file needed to perform test #13 => test #13 not performed\n', ... + fprintf('RTQC_WARNING: TEST013: Float #%d: Nc meta-data file needed to perform test #13 - test #13 not performed\n', ... a_floatNum); testFlagList(13) = 0; end @@ -418,12 +423,12 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testGreyListId)) greyListPathFileName = a_testMetaData{testGreyListId+1}; if ~(exist(greyListPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST015: Float #%d: Grey list file (%s) not found => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d: Grey list file (%s) not found - test #15 not performed\n', ... a_floatNum, greyListPathFileName); testFlagList(15) = 0; end else - fprintf('RTQC_WARNING: TEST005: Float #%d: Grey list file needed to perform test #15 => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST005: Float #%d: Grey list file needed to perform test #15 - test #15 not performed\n', ... a_floatNum); testFlagList(15) = 0; end @@ -432,7 +437,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (testFlagList(16) == 1) % for gross salinity or temperature sensor drift test, we need the multi-profile file if (multiProfFileFlag == 0) - fprintf('RTQC_WARNING: TEST016: Float #%d: Multi-profile file needed to perform test #16 => test #16 not performed\n', ... + fprintf('RTQC_WARNING: TEST016: Float #%d: Multi-profile file needed to perform test #16 - test #16 not performed\n', ... a_floatNum); testFlagList(16) = 0; end @@ -441,7 +446,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (testFlagList(18) == 1) % for frozen profile test, we need the multi-profile file if (multiProfFileFlag == 0) - fprintf('RTQC_WARNING: TEST018: Float #%d: Multi-profile file needed to perform test #18 => test #18 not performed\n', ... + fprintf('RTQC_WARNING: TEST018: Float #%d: Multi-profile file needed to perform test #18 - test #18 not performed\n', ... a_floatNum); testFlagList(18) = 0; end @@ -453,12 +458,12 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testMetaId)) ncMetaPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(ncMetaPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST019: Float #%d: Nc meta-data file (%s) not found => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST019: Float #%d: Nc meta-data file (%s) not found - test #19 not performed\n', ... a_floatNum, ncMetaPathFileName); testFlagList(19) = 0; end else - fprintf('RTQC_WARNING: TEST019: Float #%d: Nc meta-data file needed to perform test #19 => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST019: Float #%d: Nc meta-data file needed to perform test #19 - test #19 not performed\n', ... a_floatNum); testFlagList(19) = 0; end @@ -559,7 +564,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(floatDecoderId)) apexFloatFlag = ((floatDecoderId > 1000) && (floatDecoderId < 2000)); else - fprintf('RTQC_WARNING: TEST021: Float #%d: Apex float flag needed to perform test #21 => test #21 not performed\n', ... + fprintf('RTQC_WARNING: TEST021: Float #%d: Apex float flag needed to perform test #21 - test #21 not performed\n', ... a_floatNum); testFlagList(21) = 0; end @@ -569,12 +574,12 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testMetaId)) ncMetaPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(ncMetaPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST021: Float #%d: Nc meta-data file (%s) not found => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST021: Float #%d: Nc meta-data file (%s) not found - test #19 not performed\n', ... a_floatNum, ncMetaPathFileName); testFlagList(21) = 0; end else - fprintf('RTQC_WARNING: TEST021: Float #%d: Nc meta-data file needed to perform test #19 => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST021: Float #%d: Nc meta-data file needed to perform test #19 - test #19 not performed\n', ... a_floatNum); testFlagList(21) = 0; end @@ -645,7 +650,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (testFlagList(22) == 1) % for near-surface mixed air/water test, we need the float decoder Id if (isempty(floatDecoderId)) - fprintf('RTQC_WARNING: TEST022: Float #%d: Float decoder Id needed to perform test #22 => test #22 not performed\n', ... + fprintf('RTQC_WARNING: TEST022: Float #%d: Float decoder Id needed to perform test #22 - test #22 not performed\n', ... a_floatNum); testFlagList(22) = 0; end @@ -657,7 +662,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testDeepFloatFlagId)) deepFloatFlag = a_testMetaData{testDeepFloatFlagId+1}; else - fprintf('RTQC_WARNING: TEST023: Float #%d: Deep float flag needed to perform test #23 => test #23 not performed\n', ... + fprintf('RTQC_WARNING: TEST023: Float #%d: Deep float flag needed to perform test #23 - test #23 not performed\n', ... a_floatNum); testFlagList(23) = 0; end @@ -1634,7 +1639,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... end if (isempty(deepestPres)) - fprintf('RTQC_WARNING: TEST019: Float #%d Cycle #%d: Unable to retrieve CONFIG_ProfilePressure_dbar from file %s => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST019: Float #%d Cycle #%d: Unable to retrieve CONFIG_ProfilePressure_dbar from file %s - test #19 not performed\n', ... a_floatNum, cycleNumber(idProf), ncMetaPathFileName); else @@ -1803,7 +1808,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... testFailedList(4, idProf) = 1; end else - fprintf('RTQC_WARNING: TEST004: Float #%d Cycle #%d: Unable to retrieve GEBCO elevations at profile location => test #4 not performed\n', ... + fprintf('RTQC_WARNING: TEST004: Float #%d Cycle #%d: Unable to retrieve GEBCO elevations at profile location - test #4 not performed\n', ... a_floatNum, cycleNumber(idProf)); end end @@ -1844,7 +1849,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... end testDoneList(5, idProf) = 1; elseif (isempty(idProfPosInTraj)) - fprintf('RTQC_INFO: TEST005: Float #%d Cycle #%d: Unable to retrieve profile location Qc from trajectory data => test #5 not performed\n', ... + fprintf('RTQC_INFO: TEST005: Float #%d Cycle #%d: Unable to retrieve profile location Qc from trajectory data - test #5 not performed\n', ... a_floatNum, cycleNumber(idProf)); end end @@ -2155,8 +2160,8 @@ function add_rtqc_to_profile_file(a_floatNum, ... end paramTestMinMax = [ ... - {''} {''}; ... % PRES => specific: if PRES < –5dbar, then PRES_QC = '4', TEMP_QC = '4', PSAL_QC = '4' elseif –5dbar <= PRES <= –2.4dbar, then PRES_QC = '3', TEMP_QC = '3', PSAL_QC = '3'. - {''} {''}; ... % PRES2 => specific: if PRES < –5dbar, then PRES_QC = '4', TEMP_QC = '4', PSAL_QC = '4' elseif –5dbar <= PRES <= –2.4dbar, then PRES_QC = '3', TEMP_QC = '3', PSAL_QC = '3'. + {''} {''}; ... % PRES - specific: if PRES < –5dbar, then PRES_QC = '4', TEMP_QC = '4', PSAL_QC = '4' elseif –5dbar <= PRES <= –2.4dbar, then PRES_QC = '3', TEMP_QC = '3', PSAL_QC = '3'. + {''} {''}; ... % PRES2 - specific: if PRES < –5dbar, then PRES_QC = '4', TEMP_QC = '4', PSAL_QC = '4' elseif –5dbar <= PRES <= –2.4dbar, then PRES_QC = '3', TEMP_QC = '3', PSAL_QC = '3'. {-2.5} {40}; ... % TEMP {-2.5} {40}; ... % TEMP2 {-2.5} {40}; ... % TEMP_DOXY @@ -3596,7 +3601,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... idToFlag = find((sigmaShallow - sigmaDeep) >= 0.03); - % bottom to top check (the deep level should be flagged => add one + % bottom to top check (the deep level should be flagged - add one % to the dected ids) idToFlag = sort(unique([idToFlag; find((sigmaDeep - sigmaShallow) <= -0.03) + 1])); @@ -3647,14 +3652,14 @@ function add_rtqc_to_profile_file(a_floatNum, ... % read grey list file fId = fopen(greyListPathFileName, 'r'); if (fId == -1) - fprintf('RTQC_WARNING: TEST015: Float #%d Cycle #%d: Unable to open grey list file (%s) => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d Cycle #%d: Unable to open grey list file (%s) - test #15 not performed\n', ... a_floatNum, cycleNumber(idProf), greyListPathFileName); else fileContents = textscan(fId, '%s', 'delimiter', ','); fclose(fId); fileContents = fileContents{:}; if (rem(size(fileContents, 1), 7) ~= 0) - fprintf('RTQC_WARNING: TEST015: Float #%d Cycle #%d: Unable to parse grey list file (%s) => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d Cycle #%d: Unable to parse grey list file (%s) - test #15 not performed\n', ... a_floatNum, cycleNumber(idProf), greyListPathFileName); else @@ -4831,7 +4836,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... testDoneListForTraj{59, idProf} = [testDoneListForTraj{59, idProf} find(profNitrateAdjQc ~= g_decArgo_qcStrDef)]; else - fprintf('RTQC_WARNING: Float #%d Cycle #%d: no available CTD data => unable to perform NITRATE RTQC specific test (Test #59)\n', ... + fprintf('RTQC_WARNING: Float #%d Cycle #%d: no available CTD data - unable to perform NITRATE RTQC specific test (Test #59)\n', ... a_floatNum, cycleNumber(idProf)); end end @@ -5081,7 +5086,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(darkChlaId)) darkChla = a_testMetaData{darkChlaId+1}; else - fprintf('RTQC_WARNING: TEST063: Float #%d Cycle #%d: DARK_CHLA needed to perform test #63 => test #63 not performed\n', ... + fprintf('RTQC_WARNING: TEST063: Float #%d Cycle #%d: DARK_CHLA needed to perform test #63 - test #63 not performed\n', ... a_floatNum, cycleNumber(idProf)); testFlagList(63) = 0; continue @@ -5090,7 +5095,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... if (~isempty(scaleChlaId)) scaleChla = a_testMetaData{scaleChlaId+1}; else - fprintf('RTQC_WARNING: TEST063: Float #%d Cycle #%d: SCALE_CHLA needed to perform test #63 => test #63 not performed\n', ... + fprintf('RTQC_WARNING: TEST063: Float #%d Cycle #%d: SCALE_CHLA needed to perform test #63 - test #63 not performed\n', ... a_floatNum, cycleNumber(idProf)); testFlagList(63) = 0; continue @@ -5419,57 +5424,87 @@ function add_rtqc_to_profile_file(a_floatNum, ... % if (~isempty(g_rtqc_trajData)) - % link profile and trajectory data + % create the list of MCs concerned by this report - % one loop for and one loop for _ADJUSTED - for idD = 1:2 - if (idD == 1) - % non adjusted data processing - - % set the name list - ncProfParamXNameList = ncParamNameList; - ncTrajParamXNameList = g_rtqc_trajData.ncTrajParamNameList; - ncProfParamXDataList = ncParamDataList; - ncTrajParamXDataList = g_rtqc_trajData.ncTrajParamDataList; - ncParamXFillValueList = g_rtqc_trajData.ncTrajParamFillValueList; - else - % adjusted data processing - - ncProfParamXNameList = ncParamAdjNameList; - ncTrajParamXNameList = g_rtqc_trajData.ncTrajParamAdjNameList; - ncProfParamXDataList = ncParamAdjDataList; - ncTrajParamXDataList = g_rtqc_trajData.ncTrajParamAdjDataList; - ncParamXFillValueList = g_rtqc_trajData.ncTrajParamAdjFillValueList; + % list of decoder Ids implemented in the current decoder + decoderIdListNke = [1, 3, 4, 11, 12, 17, 19, 24, 25, 27, 28, 29, 30, 31, 32, ... + 105, 106, 107, 109, 110, 111, 112, 113, 121, 122, 123, 124, 125, 126, ... + 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 222, 213, 214, 215, 216, 217, 218, 219, 220, 221, 223, ... + 301, 302, 303]; + decoderIdListApex = [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1021, 1022, ... + 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1121, 1122, 1123, ... + 1314, 1321, 1322]; + decoderIdListNavis = [1201]; + decoderIdListNova = [2001, 2002, 2003]; + decoderIdListNemo = [3001]; + decoderIdList = [ ... + decoderIdListNke ... + decoderIdListApex ... + decoderIdListNavis ... + decoderIdListNova ... + decoderIdListNemo]; + + % only to check that the function has been updated for each new decoder + if (~ismember(floatDecoderId, decoderIdList)) + fprintf('RTQC_ERROR: Float #%d: decoderId=%d is not present in the check list of the add_rtqc_to_profile_file function (in "REPORT PROFILE QC IN TRAJECTORY DATA" section)\n', ... + a_floatNum, floatDecoderId); + end + + % the floats that report profile dated levels are: + % - all NKE floats + % - all NOVA/DOVA floats + % - all NAVIS floats + % - all NEMO floats + % - Apex APF11 Iridium floats + decoderIdListApexApf11Ir = [1121, 1122, 1123, 1321, 1322]; + decoderIdListProfWithDatedLev = [ ... + decoderIdListNke ... + decoderIdListNova ... + decoderIdListNavis ... + decoderIdListNemo ... + decoderIdListApexApf11Ir + ]; + + profMeasCode = []; + if (direction(1) == 'A') + profMeasCode = g_MC_AscProfDeepestBin; + elseif (ismember(floatDecoderId, [decoderIdListNke decoderIdListNova])) + profMeasCode = g_MC_DescProfDeepestBin; + end + + if (ismember(floatDecoderId, decoderIdListProfWithDatedLev)) + if (direction(1) == 'A') + profMeasCode = [profMeasCode g_MC_AscProf]; + elseif (ismember(floatDecoderId, [decoderIdListNke decoderIdListNova])) + profMeasCode = [profMeasCode g_MC_DescProf]; end + end + + if (~isempty(profMeasCode)) + + % link profile and trajectory data % create the sorted list of profile and trajectory common parameters - ncProfTrajXNameList = intersect(ncProfParamXNameList, ncTrajParamXNameList); + ncProfTrajNameList = intersect(ncParamNameList, g_rtqc_trajData.ncTrajParamNameList); + ncProfTrajAdjNameList = intersect(ncParamAdjNameList, g_rtqc_trajData.ncTrajParamAdjNameList); % link profile and trajectory data for concerned MC - profNmeasXIndex = []; % as RT adjustments (stored in the data-base) are applied on PROF data % only (not on TRAJ data) we should link PROF and TRAJ data with non - % adjusted data only (except when adjustment is performed by the - % decoder) - % if (idD == 1) + % adjusted data only % collect prof and traj data % collect profile data dataProf = []; dimNValuesProf = []; - noAdjDataToLink = 1; for idProf = 1:length(juld) dataBis = []; - for idP = 1:length(ncProfTrajXNameList) - if ((idD == 2) && ... - ~ismember(ncProfTrajXNameList{idP}, [{'CHLA_ADJUSTED'} {'NITRATE_ADJUSTED'}])) - continue - end - idParam = find(strcmp(ncProfTrajXNameList{idP}, ncProfParamXNameList) == 1, 1); - data = eval(ncProfParamXDataList{idParam}); - if (strcmp(ncProfTrajXNameList{idP}, 'UV_INTENSITY_NITRATE')) + for idP = 1:length(ncProfTrajNameList) + idParam = find(strcmp(ncProfTrajNameList{idP}, ncParamNameList) == 1, 1); + data = eval(ncParamDataList{idParam}); + if (strcmp(ncProfTrajNameList{idP}, 'UV_INTENSITY_NITRATE')) dimNValuesProf = [dimNValuesProf size(data, 3)]; end if (ndims(data) == 3) @@ -5479,188 +5514,143 @@ function add_rtqc_to_profile_file(a_floatNum, ... end end dataProf{idProf} = dataBis; - if ((idD == 2) && ~isempty(dataBis)) - noAdjDataToLink = 0; - end end dimNValuesProf = unique(dimNValuesProf); - if ((idD == 1) || ((idD == 2) && (noAdjDataToLink == 0))) - - % collect traj data - dataTraj = []; - dataTrajFillValue = []; - for idP = 1:length(ncProfTrajXNameList) - if ((idD == 2) && ... - ~ismember(ncProfTrajXNameList{idP}, [{'CHLA_ADJUSTED'} {'NITRATE_ADJUSTED'}])) - continue - end - idParam = find(strcmp(ncProfTrajXNameList{idP}, ncTrajParamXNameList) == 1, 1); - data = g_rtqc_trajData.(ncTrajParamXDataList{idParam}); - if (strcmp(ncProfTrajXNameList{idP}, 'UV_INTENSITY_NITRATE')) - dimNValuesTraj = size(data, 2); - if (dimNValuesTraj > dimNValuesProf) - % anomaly in Remocean floats (Ex:6901440 #10) - % N_VALUES = 45 for some profiles instead of 42 - % => N_VALUES = 45 in traj file => we do not consider additional - % data - data = data(:, 1:dimNValuesProf); - fprintf('RTQC_WARNING: Float #%d: N_VALUES = %d in PROF file and N_VALUES = %d in TRAJ file => additional TRAJ data are ignored in the comparison\n', ... - a_floatNum, dimNValuesProf, dimNValuesTraj); - end - end - dataFillValue = ncParamXFillValueList{idParam}; - dataTraj = [dataTraj data]; - dataTrajFillValue = [dataTrajFillValue repmat(dataFillValue, 1, size(data, 2))]; - end - - if (floatDecoderId < 1000) || ((floatDecoderId > 2000) && (floatDecoderId < 3000)) - % NKE, NOVA, DOVA floats - if (direction(1) == 'A') - profMeasCode = [g_MC_AscProfDeepestBin g_MC_AscProf]; - else - profMeasCode = [g_MC_DescProfDeepestBin g_MC_DescProf]; - end - elseif (((floatDecoderId > 1000) && (floatDecoderId < 2000)) || (floatDecoderId > 3000)) - % Apex & Nemo floats - if (direction(1) == 'A') - profMeasCode = g_MC_AscProfDeepestBin; - else - profMeasCode = []; + % collect traj data + dataTraj = []; + dataTrajFillValue = []; + for idP = 1:length(ncProfTrajNameList) + idParam = find(strcmp(ncProfTrajNameList{idP}, g_rtqc_trajData.ncTrajParamNameList) == 1, 1); + data = g_rtqc_trajData.(g_rtqc_trajData.ncTrajParamDataList{idParam}); + if (strcmp(ncProfTrajNameList{idP}, 'UV_INTENSITY_NITRATE')) + dimNValuesTraj = size(data, 2); + if (dimNValuesTraj > dimNValuesProf) + % anomaly in Remocean floats (Ex:6901440 #10) + % N_VALUES = 45 for some profiles instead of 42 + % - N_VALUES = 45 in traj file - we do not consider additional + % data + data = data(:, 1:dimNValuesProf); + fprintf('RTQC_WARNING: Float #%d: N_VALUES = %d in PROF file and N_VALUES = %d in TRAJ file - additional TRAJ data are ignored in the comparison\n', ... + a_floatNum, dimNValuesProf, dimNValuesTraj); end - else - fprintf('RTQC_ERROR: Float #%d: PROF to TRAJ link rules not implemented for decoder Id #%d\n', ... - a_floatNum, floatDecoderId); - continue end - - % link profile and trajectory data for concerned MC - - if (~isempty(profMeasCode)) - - profNmeasXIndex = zeros(length(profMeasCode), length(dataProf), size(dataProf{1}, 1)); - if ((idD == 1) || ((idD == 2) && (dataModeCFile(1) ~= 'R'))) - uCycleNumber = unique(cycleNumber); - idTrajFromProf = find( ... - (g_rtqc_trajData.cycleNumber == uCycleNumber) & ... - (ismember(g_rtqc_trajData.measurementCode, profMeasCode))); - for id = 1:length(idTrajFromProf) - found = 0; - idMeas = idTrajFromProf(id); - if (any(dataTraj(idMeas, :) ~= dataTrajFillValue)) - for idProf = 1:size(profNmeasXIndex, 2) - profData = dataProf{idProf}; - for idLev = 1:size(profNmeasXIndex, 3) - if (~any(profData(idLev, :) ~= dataTraj(idMeas, :))) - idLength = 1; - while ((idLength <= size(profNmeasXIndex, 1)) && ... - (profNmeasXIndex(idLength, idProf, idLev) ~= 0)) - idLength = idLength + 1; - end - if (idLength > size(profNmeasXIndex, 1)) - profNmeasXIndex = cat(1, profNmeasXIndex, ... - zeros(1, length(dataProf), size(dataProf{1}, 1))); - end - profNmeasXIndex(idLength, idProf, idLev) = idMeas; - found = 1; - break - end - end - if (found == 1) - break - end + dataFillValue = g_rtqc_trajData.ncTrajParamFillValueList{idParam}; + dataTraj = [dataTraj data]; + dataTrajFillValue = [dataTrajFillValue repmat(dataFillValue, 1, size(data, 2))]; + end + + % link profile and trajectory data for concerned MC + + profNmeasIndex = zeros(length(profMeasCode), length(dataProf), size(dataProf{1}, 1)); + uCycleNumber = unique(cycleNumber); + idTrajFromProf = find( ... + (g_rtqc_trajData.cycleNumber == uCycleNumber) & ... + (ismember(g_rtqc_trajData.measurementCode, profMeasCode))); + for id = 1:length(idTrajFromProf) + found = 0; + idMeas = idTrajFromProf(id); + if (any(dataTraj(idMeas, :) ~= dataTrajFillValue)) + for idProf = 1:size(profNmeasIndex, 2) + profData = dataProf{idProf}; + for idLev = 1:size(profNmeasIndex, 3) + if (~any(profData(idLev, :) ~= dataTraj(idMeas, :))) + idLength = 1; + while ((idLength <= size(profNmeasIndex, 1)) && ... + (profNmeasIndex(idLength, idProf, idLev) ~= 0)) + idLength = idLength + 1; end - if (found == 0) - % print the following warning for parameters - % only because _ADJUSTED parameter - % measurements may be computed from RT adjustment - % (not performed on TRAJ data) - if (idD == 1) - fprintf('RTQC_WARNING: Float #%d: One trajectory data (N_MEAS #%d) cannot be linked to an associated profile one (probably due to parameter RT adjustment)\n', ... - a_floatNum, idMeas); - end + if (idLength > size(profNmeasIndex, 1)) + profNmeasIndex = cat(1, profNmeasIndex, ... + zeros(1, length(dataProf), size(dataProf{1}, 1))); end + profNmeasIndex(idLength, idProf, idLev) = idMeas; + found = 1; + break end end + if (found == 1) + break + end + end + if (found == 0) + % print the following warning for parameters + % only because _ADJUSTED parameter + % measurements may be computed from RT adjustment + % (not performed on TRAJ data) + if (idD == 1) + fprintf('RTQC_WARNING: Float #%d: One trajectory data (N_MEAS #%d) cannot be linked to an associated profile one (probably due to parameter RT adjustment)\n', ... + a_floatNum, idMeas); + end end end end - if (idD == 1) - profNmeasIndex = profNmeasXIndex; - ncProfTrajNameList = ncProfTrajXNameList; - else - if (dataModeCFile(1) ~= 'R') - profNmeasAdjIndex = profNmeasXIndex; + profNmeasAdjIndex = profNmeasIndex; % USE THE SAME LINKS FOR ADJUSTED VALUES + + % arrays to report RTQC on prof data in traj data + g_rtqc_trajData.testDoneList = zeros(lastTestNum, 1); + g_rtqc_trajData.testFailedList = zeros(lastTestNum, 1); + + % report profile Qc in trajectory data + for idD = 1:2 + if (idD == 1) + % non adjusted data processing + + % set the name list + ncProfParamXNameList = ncParamNameList; + ncTrajParamXNameList = g_rtqc_trajData.ncTrajParamNameList; + ncProfParamXDataQcList = ncParamDataQcList; + ncTrajParamXDataQcList = g_rtqc_trajData.ncTrajParamDataQcList; + profNmeasXIndex = profNmeasIndex; + ncProfTrajXNameList = ncProfTrajNameList; else - profNmeasAdjIndex = []; + % adjusted data processing + + % set the name list + ncProfParamXNameList = ncParamAdjNameList; + ncTrajParamXNameList = g_rtqc_trajData.ncTrajParamAdjNameList; + ncProfParamXDataQcList = ncParamAdjDataQcList; + ncTrajParamXDataQcList = g_rtqc_trajData.ncTrajParamAdjDataQcList; + profNmeasXIndex = profNmeasAdjIndex; + ncProfTrajXNameList = ncProfTrajAdjNameList; end - ncProfTrajAdjNameList = ncProfTrajXNameList; - end - end - - % arrays to report RTQC on prof data in traj data - g_rtqc_trajData.testDoneList = zeros(lastTestNum, 1); - g_rtqc_trajData.testFailedList = zeros(lastTestNum, 1); - - % report profile Qc in trajectory data - for idD = 1:2 - if (idD == 1) - % non adjusted data processing - % set the name list - ncProfParamXNameList = ncParamNameList; - ncTrajParamXNameList = g_rtqc_trajData.ncTrajParamNameList; - ncProfParamXDataQcList = ncParamDataQcList; - ncTrajParamXDataQcList = g_rtqc_trajData.ncTrajParamDataQcList; - profNmeasXIndex = profNmeasIndex; - ncProfTrajXNameList = ncProfTrajNameList; - else - % adjusted data processing - - % set the name list - ncProfParamXNameList = ncParamAdjNameList; - ncTrajParamXNameList = g_rtqc_trajData.ncTrajParamAdjNameList; - ncProfParamXDataQcList = ncParamAdjDataQcList; - ncTrajParamXDataQcList = g_rtqc_trajData.ncTrajParamAdjDataQcList; - profNmeasXIndex = profNmeasAdjIndex; - ncProfTrajXNameList = ncProfTrajAdjNameList; - end - - if (~isempty(g_rtqc_trajData) && ~isempty(profNmeasXIndex) && ... - ~isempty(find(profNmeasXIndex > 0, 1))) - for idProf = 1:length(juld) - for idLength = 1:size(profNmeasXIndex, 1) - idList = find(profNmeasXIndex(idLength, idProf, :) > 0); - if (~isempty(idList)) - idMeas = squeeze(profNmeasXIndex(idLength, idProf, idList)); - - for idP = 1:length(ncProfTrajXNameList) - idParamProf = find(strcmp(ncProfTrajXNameList{idP}, ncProfParamXNameList) == 1, 1); - idParamTraj = find(strcmp(ncProfTrajXNameList{idP}, ncTrajParamXNameList) == 1, 1); - profQcData = eval(ncProfParamXDataQcList{idParamProf}); - if (any(profQcData(idProf, idList) ~= g_decArgo_qcStrDef)) - idToReport = find(profQcData(idProf, idList) ~= g_decArgo_qcStrDef); - g_rtqc_trajData.(ncTrajParamXDataQcList{idParamTraj})(idMeas(idToReport)) = ... - profQcData(idProf, idList(idToReport)); + if (~isempty(g_rtqc_trajData) && ~isempty(profNmeasXIndex) && ... + ~isempty(find(profNmeasXIndex > 0, 1))) + for idProf = 1:length(juld) + for idLength = 1:size(profNmeasXIndex, 1) + idList = find(profNmeasXIndex(idLength, idProf, :) > 0); + if (~isempty(idList)) + idMeas = squeeze(profNmeasXIndex(idLength, idProf, idList)); + + for idP = 1:length(ncProfTrajXNameList) + idParamProf = find(strcmp(ncProfTrajXNameList{idP}, ncProfParamXNameList) == 1, 1); + idParamTraj = find(strcmp(ncProfTrajXNameList{idP}, ncTrajParamXNameList) == 1, 1); + profQcData = eval(ncProfParamXDataQcList{idParamProf}); + if (any(profQcData(idProf, idList) ~= g_decArgo_qcStrDef)) + idToReport = find(profQcData(idProf, idList) ~= g_decArgo_qcStrDef); + g_rtqc_trajData.(ncTrajParamXDataQcList{idParamTraj})(idMeas(idToReport)) = ... + profQcData(idProf, idList(idToReport)); + end end end end end - end - for idTest = 1:size(testDoneListForTraj, 1) - for idProf = 1:size(testDoneListForTraj, 2) - for idLength = 1:size(profNmeasXIndex, 1) - idLevInProf = testDoneListForTraj{idTest, idProf}; - if (~isempty(idLevInProf)) - if (~isempty(find(profNmeasXIndex(idLength, idProf, idLevInProf) > 0, 1))) - g_rtqc_trajData.testDoneList(idTest) = 1; + for idTest = 1:size(testDoneListForTraj, 1) + for idProf = 1:size(testDoneListForTraj, 2) + for idLength = 1:size(profNmeasXIndex, 1) + idLevInProf = testDoneListForTraj{idTest, idProf}; + if (~isempty(idLevInProf)) + if (~isempty(find(profNmeasXIndex(idLength, idProf, idLevInProf) > 0, 1))) + g_rtqc_trajData.testDoneList(idTest) = 1; + end end - end - idLevInProf = testFailedListForTraj{idTest, idProf}; - if (~isempty(idLevInProf)) - if (~isempty(find(profNmeasXIndex(idLength, idProf, idLevInProf) > 0, 1))) - g_rtqc_trajData.testFailedList(idTest) = 1; + idLevInProf = testFailedListForTraj{idTest, idProf}; + if (~isempty(idLevInProf)) + if (~isempty(find(profNmeasXIndex(idLength, idProf, idLevInProf) > 0, 1))) + g_rtqc_trajData.testFailedList(idTest) = 1; + end end end end @@ -6250,7 +6240,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... end end if (idChlaParam == -1) - fprintf('RTQC_ERROR: Parameter %s not found in STATION_PARAMETERS variable => calibration information not updated in file: %s\n', ... + fprintf('RTQC_ERROR: Parameter %s not found in STATION_PARAMETERS variable - calibration information not updated in file: %s\n', ... 'CHLA', fileName); else netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'PARAMETER_DATA_MODE'), ... @@ -6277,7 +6267,7 @@ function add_rtqc_to_profile_file(a_floatNum, ... end end if (idParam == -1) - fprintf('RTQC_ERROR: Parameter %s not found in PARAMETER variable => calibration information not updated in file: %s\n', ... + fprintf('RTQC_ERROR: Parameter %s not found in PARAMETER variable - calibration information not updated in file: %s\n', ... 'CHLA', fileName); break end diff --git a/decArgo_soft/soft/sub/add_rtqc_to_trajectory_file.m b/decArgo_soft/soft/sub/add_rtqc_to_trajectory_file.m index 52b66849..db402a46 100644 --- a/decArgo_soft/soft/sub/add_rtqc_to_trajectory_file.m +++ b/decArgo_soft/soft/sub/add_rtqc_to_trajectory_file.m @@ -51,7 +51,7 @@ % surface" and "in air" phases (and stored with % MC=g_MC_InAirSingleMeas). % 09/15/2016 - RNU - V 1.7: - test #57 modified: PPOX_DOXY and PPOX_DOXY2 -% refer to the same SENSOR (OPTODE_DOXY) => the +% refer to the same SENSOR (OPTODE_DOXY) - the % first one to the Aanderaa, the second one to the % SBE % - when we link traj and prof data to retrieve prof @@ -244,12 +244,12 @@ function add_rtqc_to_trajectory_file(a_floatNum, ... if (~isempty(testMetaId)) gebcoPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(gebcoPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST004: Float #%d: GEBCO file (%s) not found => test #4 not performed\n', ... + fprintf('RTQC_WARNING: TEST004: Float #%d: GEBCO file (%s) not found - test #4 not performed\n', ... a_floatNum, gebcoPathFileName); testFlagList(4) = 0; end else - fprintf('RTQC_WARNING: TEST004: Float #%d: GEBCO file needed to perform test #4 => test #4 not performed\n', ... + fprintf('RTQC_WARNING: TEST004: Float #%d: GEBCO file needed to perform test #4 - test #4 not performed\n', ... a_floatNum); testFlagList(4) = 0; end @@ -261,12 +261,12 @@ function add_rtqc_to_trajectory_file(a_floatNum, ... if (~isempty(testMetaId)) greyListPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(greyListPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST015: Float #%d: Grey list file (%s) not found => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d: Grey list file (%s) not found - test #15 not performed\n', ... a_floatNum, greyListPathFileName); testFlagList(15) = 0; end else - fprintf('RTQC_WARNING: TEST005: Float #%d: Grey list file needed to perform test #15 => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST005: Float #%d: Grey list file needed to perform test #15 - test #15 not performed\n', ... a_floatNum); testFlagList(15) = 0; end @@ -278,12 +278,12 @@ function add_rtqc_to_trajectory_file(a_floatNum, ... if (~isempty(testMetaId)) ncMetaPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(ncMetaPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST057: Float #%d: Nc meta-data file (%s) not found => test #57 not performed\n', ... + fprintf('RTQC_WARNING: TEST057: Float #%d: Nc meta-data file (%s) not found - test #57 not performed\n', ... a_floatNum, ncMetaPathFileName); testFlagList(57) = 0; end else - fprintf('RTQC_WARNING: TEST057: Float #%d: Nc meta-data file needed to perform test #57 => test #57 not performed\n', ... + fprintf('RTQC_WARNING: TEST057: Float #%d: Nc meta-data file needed to perform test #57 - test #57 not performed\n', ... a_floatNum); testFlagList(57) = 0; end @@ -857,7 +857,7 @@ function add_rtqc_to_trajectory_file(a_floatNum, ... end testDoneList(4) = 1; else - fprintf('RTQC_WARNING: TEST004: Float #%d: Unable to retrieve GEBCO elevations at trajectory location => test #4 not performed\n', ... + fprintf('RTQC_WARNING: TEST004: Float #%d: Unable to retrieve GEBCO elevations at trajectory location - test #4 not performed\n', ... a_floatNum); end end @@ -1061,8 +1061,8 @@ function add_rtqc_to_trajectory_file(a_floatNum, ... end paramTestMinMax = [ ... - {''} {''}; ... % PRES => specific: if PRES < –5dbar, then PRES_QC = '4', TEMP_QC = '4', PSAL_QC = '4' elseif –5dbar <= PRES <= –2.4dbar, then PRES_QC = '3', TEMP_QC = '3', PSAL_QC = '3'. - {''} {''}; ... % PRES2 => specific: if PRES < –5dbar, then PRES_QC = '4', TEMP_QC = '4', PSAL_QC = '4' elseif –5dbar <= PRES <= –2.4dbar, then PRES_QC = '3', TEMP_QC = '3', PSAL_QC = '3'. + {''} {''}; ... % PRES - specific: if PRES < –5dbar, then PRES_QC = '4', TEMP_QC = '4', PSAL_QC = '4' elseif –5dbar <= PRES <= –2.4dbar, then PRES_QC = '3', TEMP_QC = '3', PSAL_QC = '3'. + {''} {''}; ... % PRES2 - specific: if PRES < –5dbar, then PRES_QC = '4', TEMP_QC = '4', PSAL_QC = '4' elseif –5dbar <= PRES <= –2.4dbar, then PRES_QC = '3', TEMP_QC = '3', PSAL_QC = '3'. {-2.5} {40}; ... % TEMP {-2.5} {40}; ... % TEMP2 {-2.5} {40}; ... % TEMP_DOXY @@ -1426,14 +1426,14 @@ function add_rtqc_to_trajectory_file(a_floatNum, ... % read grey list file fId = fopen(greyListPathFileName, 'r'); if (fId == -1) - fprintf('RTQC_WARNING: TEST015: Float #%d: Unable to open grey list file (%s) => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d: Unable to open grey list file (%s) - test #15 not performed\n', ... a_floatNum, greyListPathFileName); else fileContents = textscan(fId, '%s', 'delimiter', ','); fclose(fId); fileContents = fileContents{:}; if (rem(size(fileContents, 1), 7) ~= 0) - fprintf('RTQC_WARNING: TEST015: Float #%d: Unable to parse grey list file (%s) => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d: Unable to parse grey list file (%s) - test #15 not performed\n', ... a_floatNum, greyListPathFileName); else @@ -1813,11 +1813,11 @@ function add_rtqc_to_trajectory_file(a_floatNum, ... testFailedList(57) = 1; end else - fprintf('RTQC_WARNING: TEST057: Float #%d: Cannot find parameter_sensor ''%s'' in the meta-data sensors => test #57 not performed\n', ... + fprintf('RTQC_WARNING: TEST057: Float #%d: Cannot find parameter_sensor ''%s'' in the meta-data sensors - test #57 not performed\n', ... a_floatNum, paramSensor); end else - fprintf('RTQC_WARNING: TEST057: Float #%d: Cannot find parameter ''%s'' in the meta-data parameters => test #57 not performed\n', ... + fprintf('RTQC_WARNING: TEST057: Float #%d: Cannot find parameter ''%s'' in the meta-data parameters - test #57 not performed\n', ... a_floatNum, test57ParameterList{idP}); end end diff --git a/decArgo_soft/soft/sub/adjust_clock_offset_apx_ir.m b/decArgo_soft/soft/sub/adjust_clock_offset_apx_ir.m index 1a4311d8..4a6a76b1 100644 --- a/decArgo_soft/soft/sub/adjust_clock_offset_apx_ir.m +++ b/decArgo_soft/soft/sub/adjust_clock_offset_apx_ir.m @@ -164,7 +164,7 @@ % no clock set during the cycle if (~isempty(o_surfDataLog.dates)) if (min(o_surfDataLog.dates) < min(clockOffsetJuldUtc)) - % first surface measurement prior to any clock check => we use the + % first surface measurement prior to any clock check - we use the % first measured clock offset to adjust its time clockOffsetJuldUtc = [min(o_surfDataLog.dates)-clockOffsetValue(1)/86400 clockOffsetJuldUtc]; clockOffsetValue = [clockOffsetValue(1) clockOffsetValue]; @@ -198,7 +198,7 @@ idDef = find((o_surfDataLog.datesAdj == o_surfDataLog.dateList.fillValue) & ... (o_surfDataLog.dates ~= o_surfDataLog.dateList.fillValue)); if ((length(idForSet) ~= length(idDef)) || any(idForSet-idDef ~= 0)) - % clock set occured before the surface sample to be adjusted => we use the + % clock set occured before the surface sample to be adjusted - we use the % last measured clock offset to adjust the surface sample clockOffsetJuldUtc = [clockOffsetJuldUtc(1) max(o_surfDataLog.dates)-clockOffsetValue(1)/86400 clockOffsetJuldUtc(2:end)]; clockOffsetValue = [clockOffsetValue(1) clockOffsetValue(1) clockOffsetValue(2:end)]; @@ -273,7 +273,7 @@ idForSet = find((o_timeDataLog.transStartDateMTime > min(clockOffsetMtime(idForCy))) & ... (o_timeDataLog.transStartDateMTime < max(clockOffsetMtime(idForCy)))); if (isempty(idForSet)) - % clock set occured before the time to be adjusted => we use the + % clock set occured before the time to be adjusted - we use the % last measured clock offset to adjust the time clockOffsetJuldUtc = [clockOffsetJuldUtc(1) o_timeDataLog.transStartDate-clockOffsetValue(1)/86400 clockOffsetJuldUtc(2:end)]; clockOffsetValue = [clockOffsetValue(1) clockOffsetValue(1) clockOffsetValue(2:end)]; @@ -341,7 +341,7 @@ idForSet = find((o_timeDataLog.transEndDateMTime > min(clockOffsetMtime(idForCy))) & ... (o_timeDataLog.transEndDateMTime < max(clockOffsetMtime(idForCy)))); if (isempty(idForSet)) - % clock set occured before the time to be adjusted => we use the + % clock set occured before the time to be adjusted - we use the % last measured clock offset to adjust the time clockOffsetJuldUtc = [clockOffsetJuldUtc(1) o_timeDataLog.transStartDate-clockOffsetValue(1)/86400 clockOffsetJuldUtc(2:end)]; clockOffsetValue = [clockOffsetValue(1) clockOffsetValue(1) clockOffsetValue(2:end)]; diff --git a/decArgo_soft/soft/sub/bug_2047_dbar_fixed.m b/decArgo_soft/soft/sub/bug_2047_dbar_fixed.m index ade5b3eb..fa9c0cf1 100644 --- a/decArgo_soft/soft/sub/bug_2047_dbar_fixed.m +++ b/decArgo_soft/soft/sub/bug_2047_dbar_fixed.m @@ -101,7 +101,7 @@ end if (isempty(o_fixed)) - fprintf('WARNING: Float #%d: Unable to retrieve FIRMWARE_VERSION => set bug 2047 dbar to ''not fixed''\n', ... + fprintf('WARNING: Float #%d: Unable to retrieve FIRMWARE_VERSION - set bug 2047 dbar to ''not fixed''\n', ... a_floatNum); o_fixed = 0; end diff --git a/decArgo_soft/soft/sub/check_decoder_id.m b/decArgo_soft/soft/sub/check_decoder_id.m new file mode 100644 index 00000000..ec07640d --- /dev/null +++ b/decArgo_soft/soft/sub/check_decoder_id.m @@ -0,0 +1,53 @@ +% ------------------------------------------------------------------------------ +% Check if the right decoder is used for a given drifter using the checksum of +% its firmware version. +% +% SYNTAX : +% check_decoder_id(a_checkSum, a_decoderId, a_floatNum) +% +% INPUT PARAMETERS : +% a_checkSum : checksum of the firmware version of the drifter +% a_decoderId : decoder id used +% a_floatNum : float number +% +% OUTPUT PARAMETERS : +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 10/28/2020 - RNU - creation +% ------------------------------------------------------------------------------ +function check_decoder_id(a_checkSum, a_decoderId, a_floatNum) + +switch (a_decoderId) + case 212 + % decId = 212 => firmware is 5900A03 or 5900A04 + % expected checksum: + % for 5900A03: hex2dec('97BC') = 38844 + % for 5900A04: hex2dec('B8C9') = 47305 + if ((a_checkSum ~= 38844) && (a_checkSum ~= 47305)) + fprintf('ERROR: Float #%d: A wrong decoder (#%d) seems to be used for this float\n', ... + a_floatNum, a_decoderId); + end + case {214, 217} + % decId = 214 or 217 => firmware is 5900A04 + % expected checksum: + % for 5900A04: hex2dec('B8C9') = 47305 + if (a_checkSum ~= 47305) + fprintf('ERROR: Float #%d: A wrong decoder (#%d) seems to be used for this float\n', ... + a_floatNum, a_decoderId); + end + case {222, 223} + % decId = 222 or 223 => firmware is 5900A05 + % expected checksum: + % for 5900A05: hex2dec('2C97') = 11415 + if (a_checkSum ~= 11415) + fprintf('ERROR: Float #%d: A wrong decoder (#%d) seems to be used for this float\n', ... + a_floatNum, a_decoderId); + end +end + +return diff --git a/decArgo_soft/soft/sub/check_meta_data_apx_apf11.m b/decArgo_soft/soft/sub/check_meta_data_apx_apf11.m index 56e2e7a2..f18fb437 100644 --- a/decArgo_soft/soft/sub/check_meta_data_apx_apf11.m +++ b/decArgo_soft/soft/sub/check_meta_data_apx_apf11.m @@ -421,14 +421,14 @@ function check_meta_data_apx_apf11(a_metaData) paramId = paramIdList(idP); dimLevel = dimLevelList(idP); if (isempty(jsonValue)) - fprintf('WARNING: Float #%d Cycle #%d: Meta-data ''%s'': value (''%s'') is missing in BDD => BDD contents should be updated\n', ... + fprintf('WARNING: Float #%d Cycle #%d: Meta-data ''%s'': value (''%s'') is missing in BDD - BDD contents should be updated\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... paramCode, ... decValue); updateNeeded = 1; elseif (~strcmp(jsonValue, decValue)) - fprintf('WARNING: Float #%d Cycle #%d: Meta-data ''%s'': BDD value (''%s'') and decoded value (''%s'') differ => BDD contents should be updated\n', ... + fprintf('WARNING: Float #%d Cycle #%d: Meta-data ''%s'': BDD value (''%s'') and decoded value (''%s'') differ - BDD contents should be updated\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... paramCode, ... diff --git a/decArgo_soft/soft/sub/check_meta_data_nemo.m b/decArgo_soft/soft/sub/check_meta_data_nemo.m index 9cb53dca..4b6f8b45 100644 --- a/decArgo_soft/soft/sub/check_meta_data_nemo.m +++ b/decArgo_soft/soft/sub/check_meta_data_nemo.m @@ -100,7 +100,7 @@ dataStruct.techParamId, 1, dataStruct.techParamValue, dataStruct.techParamCode); end - fprintf('WARNING: Float #%d: Meta-data ''%s'': decoder value (''%s'') and configuration value (''%s'') differ => BDD contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: Meta-data ''%s'': decoder value (''%s'') and configuration value (''%s'') differ - BDD contents should be updated (see %s)\n', ... g_decArgo_floatNum, ... dataStruct.metaConfigLabel, ... dataStruct.techParamValue, ... @@ -135,7 +135,7 @@ g_decArgo_floatNum, ... dataStruct.techParamId, 1, dataStruct.techParamValue, dataStruct.techParamCode); - fprintf('WARNING: Float #%d: Meta-data ''%s'': decoder value (''%s'') and configuration value (''%s'') differ => BDD contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: Meta-data ''%s'': decoder value (''%s'') and configuration value (''%s'') differ - BDD contents should be updated (see %s)\n', ... g_decArgo_floatNum, ... dataStruct.metaConfigLabel, ... dataStruct.techParamValue, ... diff --git a/decArgo_soft/soft/sub/check_profile_ir_rudics_sbd2.m b/decArgo_soft/soft/sub/check_profile_ir_rudics_sbd2.m index e20a2941..bf25854a 100644 --- a/decArgo_soft/soft/sub/check_profile_ir_rudics_sbd2.m +++ b/decArgo_soft/soft/sub/check_profile_ir_rudics_sbd2.m @@ -69,7 +69,7 @@ [a_tabProfiles(idF).dateQc] = deal(g_decArgo_qcStrCorrectable); [a_tabProfiles(idF).locationQc] = deal(g_decArgo_qcStrCorrectable); - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d Direction ''%c'': multiple profiles mixed => JULD_QC and POSITION_QC set to ''3''\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d Direction ''%c'': multiple profiles mixed - JULD_QC and POSITION_QC set to ''3''\n', ... g_decArgo_floatNum, ... a_tabProfiles(idF(1)).cycleNumber, ... a_tabProfiles(idF(1)).profileNumber, ... diff --git a/decArgo_soft/soft/sub/clean_duplicates_in_received_data.m b/decArgo_soft/soft/sub/clean_duplicates_in_received_data.m index 2d9a9e67..b739aa21 100644 --- a/decArgo_soft/soft/sub/clean_duplicates_in_received_data.m +++ b/decArgo_soft/soft/sub/clean_duplicates_in_received_data.m @@ -47,11 +47,11 @@ packetName = get_packet_name(packType, a_decoderId); if (length(idEq) == 2) - fprintf('INFO: Float #%d: %s received twice => only one is decoded\n', ... + fprintf('INFO: Float #%d: %s received twice - only one is decoded\n', ... g_decArgo_floatNum, ... packetName); else - fprintf('INFO: Float #%d: %s received %d times => only one is decoded\n', ... + fprintf('INFO: Float #%d: %s received %d times - only one is decoded\n', ... g_decArgo_floatNum, ... packetName, ... length(idEq)); diff --git a/decArgo_soft/soft/sub/collect_technical_data_cts5.m b/decArgo_soft/soft/sub/collect_technical_data_cts5.m index e64ed974..86e4edfb 100644 --- a/decArgo_soft/soft/sub/collect_technical_data_cts5.m +++ b/decArgo_soft/soft/sub/collect_technical_data_cts5.m @@ -131,14 +131,14 @@ end if (COMPARISON_FLAG == 1) if (useEvent == 0) - fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Tech and Event data differ for techId #%d: tech=''%s'' and evt=''%s'' => using the Tech one\n', ... + fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Tech and Event data differ for techId #%d: tech=''%s'' and evt=''%s'' - using the Tech one\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... g_decArgo_patternNumFloat, ... uEvtTechId(idTechId), techDataAll{idT, 6}, techDataAll{idE, 6}); elseif (useEvent == 1) - fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Tech and Event data differ for techId #%d: tech=''%s'' and evt=''%s'' => using the Event one\n', ... + fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Tech and Event data differ for techId #%d: tech=''%s'' and evt=''%s'' - using the Event one\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/collect_technical_data_cts5_usea.m b/decArgo_soft/soft/sub/collect_technical_data_cts5_usea.m index e695f7e1..803a2828 100644 --- a/decArgo_soft/soft/sub/collect_technical_data_cts5_usea.m +++ b/decArgo_soft/soft/sub/collect_technical_data_cts5_usea.m @@ -143,14 +143,14 @@ end if (COMPARISON_FLAG == 1) if (useEvent == 0) - fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Tech and Event data differ for techId #%d: tech=''%s'' and evt=''%s'' => using the Tech one\n', ... + fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Tech and Event data differ for techId #%d: tech=''%s'' and evt=''%s'' - using the Tech one\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... g_decArgo_patternNumFloat, ... uEvtTechId(idTechId), techDataAll{idT, 6}, techDataAll{idE, 6}); elseif (useEvent == 1) - fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Tech and Event data differ for techId #%d: tech=''%s'' and evt=''%s'' => using the Event one\n', ... + fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Tech and Event data differ for techId #%d: tech=''%s'' and evt=''%s'' - using the Event one\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/collect_traj_data_from_float_tech_ir_rudics_105_to_110_112_sbd2.m b/decArgo_soft/soft/sub/collect_traj_data_from_float_tech_ir_rudics_105_to_110_112_sbd2.m index 9f0ffbcc..5a435f80 100644 --- a/decArgo_soft/soft/sub/collect_traj_data_from_float_tech_ir_rudics_105_to_110_112_sbd2.m +++ b/decArgo_soft/soft/sub/collect_traj_data_from_float_tech_ir_rudics_105_to_110_112_sbd2.m @@ -178,7 +178,7 @@ (gpsLocProfNum == gpsProfNum) & (gpsLocPhase == gpsPhase) & ... (gpsLocLon == gpsLon) & (gpsLocLat == gpsLat)); if (length(idF) > 1) - fprintf('WARNING: Float #%d Cycle #%d, profile #%d phase ''%s'': %d identical GPS locations => using only the first one\n', ... + fprintf('WARNING: Float #%d Cycle #%d, profile #%d phase ''%s'': %d identical GPS locations - using only the first one\n', ... g_decArgo_floatNum, gpsCycleNum, gpsProfNum, get_phase_name(gpsPhase), length(idF)); idF = idF(1); end diff --git a/decArgo_soft/soft/sub/collect_traj_data_from_float_tech_ir_rudics_111_113.m b/decArgo_soft/soft/sub/collect_traj_data_from_float_tech_ir_rudics_111_113.m index c84c8aef..5ddeb1b9 100644 --- a/decArgo_soft/soft/sub/collect_traj_data_from_float_tech_ir_rudics_111_113.m +++ b/decArgo_soft/soft/sub/collect_traj_data_from_float_tech_ir_rudics_111_113.m @@ -201,7 +201,7 @@ (gpsLocProfNum == gpsProfNum) & (gpsLocPhase == gpsPhase) & ... (gpsLocLon == gpsLon) & (gpsLocLat == gpsLat)); if (length(idF) > 1) - fprintf('WARNING: Float #%d Cycle #%d, profile #%d phase ''%s'': %d identical GPS locations => using only the first one\n', ... + fprintf('WARNING: Float #%d Cycle #%d, profile #%d phase ''%s'': %d identical GPS locations - using only the first one\n', ... g_decArgo_floatNum, gpsCycleNum, gpsProfNum, get_phase_name(gpsPhase), length(idF)); idF = idF(1); end diff --git a/decArgo_soft/soft/sub/collect_trajectory_data_cts5.m b/decArgo_soft/soft/sub/collect_trajectory_data_cts5.m index 764f5193..2b8ea0a7 100644 --- a/decArgo_soft/soft/sub/collect_trajectory_data_cts5.m +++ b/decArgo_soft/soft/sub/collect_trajectory_data_cts5.m @@ -245,7 +245,7 @@ valEvt = valEvtTemp; end - fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Traj (from tech) and Event data differ for meas code %d and param ''%s'': traj=''%s'' and evt=''%s'' => using the Evt one\n', ... + fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Traj (from tech) and Event data differ for meas code %d and param ''%s'': traj=''%s'' and evt=''%s'' - using the Evt one\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... @@ -314,7 +314,7 @@ datedMeasStruct.sensorNumber = profile.sensorNumber; o_tabTrajIndex = [o_tabTrajIndex; - measCode profile.cycleNumber profile.profileNumber profile.phaseNumber]; + measCode profile.cycleNumber profile.profileNumber profile.phaseNumber]; o_tabTrajData = [o_tabTrajData; {{datedMeasStruct}}]; end @@ -335,7 +335,7 @@ datedMeasStruct.sensorNumber = drift.sensorNumber; o_tabTrajIndex = [o_tabTrajIndex; - g_MC_DriftAtPark drift.cycleNumber drift.profileNumber drift.phaseNumber]; + g_MC_DriftAtPark drift.cycleNumber drift.profileNumber drift.phaseNumber]; o_tabTrajData = [o_tabTrajData; {{datedMeasStruct}}]; end @@ -402,7 +402,7 @@ datedMeasStruct.sensorNumber = profile.sensorNumber; o_tabTrajIndex = [o_tabTrajIndex; - measCode cyNum profNum profile.phaseNumber]; + measCode cyNum profNum profile.phaseNumber]; o_tabTrajData = [o_tabTrajData; {{datedMeasStruct}}]; end end @@ -421,7 +421,7 @@ subSurfMeas.psal = a_subSurfaceMeas(4); o_tabTrajIndex = [o_tabTrajIndex; - g_MC_LastAscPumpedCtd g_decArgo_cycleNumFloat g_decArgo_patternNumFloat -1]; + g_MC_LastAscPumpedCtd g_decArgo_cycleNumFloat g_decArgo_patternNumFloat -1]; o_tabTrajData = [o_tabTrajData; {{subSurfMeas}}]; end @@ -443,7 +443,7 @@ surfMeasStruct.sensorNumber = surf.sensorNumber; o_tabTrajIndex = [o_tabTrajIndex; - g_MC_InAirSeriesOfMeasPartOfSurfaceSequenceRelativeToTST surf.cycleNumber surf.profileNumber surf.phaseNumber]; + g_MC_InAirSeriesOfMeasPartOfSurfaceSequenceRelativeToTST surf.cycleNumber surf.profileNumber surf.phaseNumber]; o_tabTrajData = [o_tabTrajData; {{surfMeasStruct}}]; end diff --git a/decArgo_soft/soft/sub/collect_trajectory_data_cts5_usea.m b/decArgo_soft/soft/sub/collect_trajectory_data_cts5_usea.m index e6c16af8..f8fba3ce 100644 --- a/decArgo_soft/soft/sub/collect_trajectory_data_cts5_usea.m +++ b/decArgo_soft/soft/sub/collect_trajectory_data_cts5_usea.m @@ -245,7 +245,7 @@ valEvt = valEvtTemp; end - fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Traj (from tech) and Event data differ for meas code %d and param ''%s'': traj=''%s'' and evt=''%s'' => using the Evt one\n', ... + fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Traj (from tech) and Event data differ for meas code %d and param ''%s'': traj=''%s'' and evt=''%s'' - using the Evt one\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/compute_DOXY_1006_1008_1014_1016.m b/decArgo_soft/soft/sub/compute_DOXY_1006_1008_1014_1016.m index 6a46d790..4fc98790 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_1006_1008_1014_1016.m +++ b/decArgo_soft/soft/sub/compute_DOXY_1006_1008_1014_1016.m @@ -75,7 +75,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -101,7 +101,7 @@ return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/compute_DOXY_106_301.m b/decArgo_soft/soft/sub/compute_DOXY_106_301.m index 47fcded2..beae4ab4 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_106_301.m +++ b/decArgo_soft/soft/sub/compute_DOXY_106_301.m @@ -81,7 +81,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -92,7 +92,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 28 for the % Aanderaa standard calibration if (~isempty(find((size(tabDoxyCoef) == [5 28]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -100,7 +100,7 @@ return end else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_DOXY_107_109_to_111_113_121_122_124_126.m b/decArgo_soft/soft/sub/compute_DOXY_107_109_to_111_113_121_122_124_126.m index 39a095ba..954848f7 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_107_109_to_111_113_121_122_124_126.m +++ b/decArgo_soft/soft/sub/compute_DOXY_107_109_to_111_113_121_122_124_126.m @@ -74,7 +74,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -84,7 +84,7 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.TabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 2 7 if (~isempty(find((size(tabDoxyCoef) == [2 7]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -92,7 +92,7 @@ return end else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_DOXY_112_123_125.m b/decArgo_soft/soft/sub/compute_DOXY_112_123_125.m index 77be0081..698da55c 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_112_123_125.m +++ b/decArgo_soft/soft/sub/compute_DOXY_112_123_125.m @@ -82,7 +82,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -93,7 +93,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 6 28 for the % Aanderaa standard calibration + an additional two-point adjustment if (~isempty(find((size(tabDoxyCoef) == [6 28]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -101,7 +101,7 @@ return end else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_DOXY_201_203_206_209_213_to_218_221_223.m b/decArgo_soft/soft/sub/compute_DOXY_201_203_206_209_213_to_218_221_223.m index 5235598e..b821002d 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_201_203_206_209_213_to_218_221_223.m +++ b/decArgo_soft/soft/sub/compute_DOXY_201_203_206_209_213_to_218_221_223.m @@ -72,7 +72,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -80,13 +80,13 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.TabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 2 7 if (~isempty(find((size(tabDoxyCoef) == [2 7]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/compute_DOXY_202_207.m b/decArgo_soft/soft/sub/compute_DOXY_202_207.m index 99ca26f6..b2748ced 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_202_207.m +++ b/decArgo_soft/soft/sub/compute_DOXY_202_207.m @@ -78,7 +78,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); return elseif ((isfield(g_decArgo_calibInfo, 'OPTODE')) && (isfield(g_decArgo_calibInfo.OPTODE, 'TabDoxyCoef'))) @@ -92,7 +92,7 @@ return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); return end diff --git a/decArgo_soft/soft/sub/compute_DOXY_208.m b/decArgo_soft/soft/sub/compute_DOXY_208.m index 9815ca11..740256cb 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_208.m +++ b/decArgo_soft/soft/sub/compute_DOXY_208.m @@ -79,7 +79,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); return elseif ((isfield(g_decArgo_calibInfo, 'OPTODE')) && (isfield(g_decArgo_calibInfo.OPTODE, 'TabDoxyCoef'))) @@ -93,7 +93,7 @@ return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); return end diff --git a/decArgo_soft/soft/sub/compute_DOXY_302_303.m b/decArgo_soft/soft/sub/compute_DOXY_302_303.m index 3964c711..b18de23e 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_302_303.m +++ b/decArgo_soft/soft/sub/compute_DOXY_302_303.m @@ -73,7 +73,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -84,7 +84,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 4 for the % Aanderaa standard calibration (tabDoxyCoef(i,j) = Cij). if (~isempty(find((size(tabDoxyCoef) == [5 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -92,7 +92,7 @@ return end else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_DOXY_SBE_1013_1015_1101.m b/decArgo_soft/soft/sub/compute_DOXY_SBE_1013_1015_1101.m index 24c22426..3a2fe040 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_SBE_1013_1015_1101.m +++ b/decArgo_soft/soft/sub/compute_DOXY_SBE_1013_1015_1101.m @@ -70,7 +70,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -78,13 +78,13 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.SbeTabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 1 6 if (~isempty(find((size(tabDoxyCoef) == [1 6]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/compute_DOXY_SBE_1201.m b/decArgo_soft/soft/sub/compute_DOXY_SBE_1201.m index 3a0f0eaf..bbfdfc95 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_SBE_1201.m +++ b/decArgo_soft/soft/sub/compute_DOXY_SBE_1201.m @@ -74,7 +74,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -82,13 +82,13 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.SbeTabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 1 9 if (~isempty(find((size(tabDoxyCoef) == [1 9]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/compute_DOXY_SBE_209_2002.m b/decArgo_soft/soft/sub/compute_DOXY_SBE_209_2002.m index e48e48c6..c18a679c 100644 --- a/decArgo_soft/soft/sub/compute_DOXY_SBE_209_2002.m +++ b/decArgo_soft/soft/sub/compute_DOXY_SBE_209_2002.m @@ -71,7 +71,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -79,13 +79,13 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.SbeTabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 1 9 if (~isempty(find((size(tabDoxyCoef) == [1 9]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/compute_PH_111_113_123.m b/decArgo_soft/soft/sub/compute_PH_111_113_123.m index 2e61da0f..d1205b9b 100644 --- a/decArgo_soft/soft/sub/compute_PH_111_113_123.m +++ b/decArgo_soft/soft/sub/compute_PH_111_113_123.m @@ -61,14 +61,14 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: TRANSISTOR_PH sensor calibration information is missing => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value in ''%c'' profile of TRANSISTOR_PH sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: TRANSISTOR_PH sensor calibration information is missing - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value in ''%c'' profile of TRANSISTOR_PH sensor\n', ... g_decArgo_floatNum, ... a_profTransPh.cycleNumber, ... a_profTransPh.profileNumber, ... a_profTransPh.direction); return elseif (~isfield(g_decArgo_calibInfo, 'TRANSISTOR_PH')) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: TRANSISTOR_PH sensor calibration information is missing => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value in ''%c'' profile of TRANSISTOR_PH sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: TRANSISTOR_PH sensor calibration information is missing - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value in ''%c'' profile of TRANSISTOR_PH sensor\n', ... g_decArgo_floatNum, ... a_profTransPh.cycleNumber, ... a_profTransPh.profileNumber, ... @@ -97,7 +97,7 @@ end end else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent TRANSISTOR_PH sensor calibration information => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value in ''%c'' profile of TRANSISTOR_PH sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent TRANSISTOR_PH sensor calibration information - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value in ''%c'' profile of TRANSISTOR_PH sensor\n', ... g_decArgo_floatNum, ... a_profTransPh.cycleNumber, ... a_profTransPh.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_PH_1121_1122_1123_1322.m b/decArgo_soft/soft/sub/compute_PH_1121_1122_1123_1322.m index 1baed99c..b86d6664 100644 --- a/decArgo_soft/soft/sub/compute_PH_1121_1122_1123_1322.m +++ b/decArgo_soft/soft/sub/compute_PH_1121_1122_1123_1322.m @@ -61,12 +61,12 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: TRANSISTOR_PH sensor calibration information is missing => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: TRANSISTOR_PH sensor calibration information is missing - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return elseif (~isfield(g_decArgo_calibInfo, 'TRANSISTOR_PH')) - fprintf('WARNING: Float #%d Cycle #%d: TRANSISTOR_PH sensor calibration information is missing => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: TRANSISTOR_PH sensor calibration information is missing - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -93,7 +93,7 @@ end end else - fprintf('WARNING: Float #%d Cycle #%d: inconsistent TRANSISTOR_PH sensor calibration information => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: inconsistent TRANSISTOR_PH sensor calibration information - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/compute_PPOX_DOXY_1006_1008_1014_1016.m b/decArgo_soft/soft/sub/compute_PPOX_DOXY_1006_1008_1014_1016.m index 22b97c5f..5af22c50 100644 --- a/decArgo_soft/soft/sub/compute_PPOX_DOXY_1006_1008_1014_1016.m +++ b/decArgo_soft/soft/sub/compute_PPOX_DOXY_1006_1008_1014_1016.m @@ -71,7 +71,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => PPOX_DOXY not computed\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -82,7 +82,7 @@ % the size of the tabPhaseCoef should be: size(tabPhaseCoef) = 1 4 for the % Aanderaa standard calibration (tabPhaseCoef(i) = PhaseCoefi). if (~isempty(find((size(tabPhaseCoef) == [1 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => PPOX_DOXY not computed\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -91,13 +91,13 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 4 for the % Aanderaa standard calibration (tabDoxyCoef(i,j) = Cij). if (~isempty(find((size(tabDoxyCoef) == [5 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => PPOX_DOXY not computed\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => PPOX_DOXY not computed\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/compute_PPOX_DOXY_121_122_124_126.m b/decArgo_soft/soft/sub/compute_PPOX_DOXY_121_122_124_126.m index 6fc6b25f..e56e5151 100644 --- a/decArgo_soft/soft/sub/compute_PPOX_DOXY_121_122_124_126.m +++ b/decArgo_soft/soft/sub/compute_PPOX_DOXY_121_122_124_126.m @@ -71,7 +71,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing => PPOX_DOXY not computed\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber); @@ -80,14 +80,14 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.TabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 2 7 if (~isempty(find((size(tabDoxyCoef) == [2 7]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent => PPOX_DOXY not computed\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber); return end else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients => PPOX_DOXY not computed\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber); diff --git a/decArgo_soft/soft/sub/compute_PPOX_DOXY_123_125.m b/decArgo_soft/soft/sub/compute_PPOX_DOXY_123_125.m index 635b61b3..86da236b 100644 --- a/decArgo_soft/soft/sub/compute_PPOX_DOXY_123_125.m +++ b/decArgo_soft/soft/sub/compute_PPOX_DOXY_123_125.m @@ -77,7 +77,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing => PPOX_DOXY not computed\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are missing - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber); @@ -87,14 +87,14 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 6 28 for the % Aanderaa standard calibration + an additional two-point adjustment if (~isempty(find((size(tabDoxyCoef) == [6 28]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent => PPOX_DOXY not computed\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: DOXY calibration coefficients are inconsistent - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber); return end else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients => PPOX_DOXY not computed\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent DOXY calibration coefficients - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber); diff --git a/decArgo_soft/soft/sub/compute_PPOX_DOXY_213_to_218_221_223.m b/decArgo_soft/soft/sub/compute_PPOX_DOXY_213_to_218_221_223.m index e9a92152..9d2fa2f3 100644 --- a/decArgo_soft/soft/sub/compute_PPOX_DOXY_213_to_218_221_223.m +++ b/decArgo_soft/soft/sub/compute_PPOX_DOXY_213_to_218_221_223.m @@ -74,7 +74,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => PPOX_DOXY not computed\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -82,13 +82,13 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.TabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 2 7 if (~isempty(find((size(tabDoxyCoef) == [2 7]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => PPOX_DOXY not computed\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return end else - fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing => PPOX_DOXY not computed\n', ... + fprintf('WARNING: Float #%d Cycle #%d: DOXY calibration coefficients are missing - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/compute_additional_times_apx_apf11_ir.m b/decArgo_soft/soft/sub/compute_additional_times_apx_apf11_ir.m index d24fb933..f2572c2f 100644 --- a/decArgo_soft/soft/sub/compute_additional_times_apx_apf11_ir.m +++ b/decArgo_soft/soft/sub/compute_additional_times_apx_apf11_ir.m @@ -54,13 +54,18 @@ % DEEP_DESCENT_END_TIME % computed as time of first P sample within 3% of aimed profile pressure - idP = find((presVal >= deepProfilePressure*0.97) & (presVal <= deepProfilePressure*1.03)); - if (~isempty(idP)) - [deepDescentEndDate, idMin] = min(presTime(idP)); - if (~isempty(a_cycleTimeData.ascentStartDateSci) && ... - (deepDescentEndDate < a_cycleTimeData.ascentStartDateSci)) - o_cycleTimeData.deepDescentEndDate = deepDescentEndDate; - o_cycleTimeData.deepDescentEndPres = presVal(idP(idMin)); + if (parkPressure ~= deepProfilePressure) + if (~isempty(a_cycleTimeData.parkEndDateSci)) + idP = find((presVal >= deepProfilePressure*0.97) & (presVal <= deepProfilePressure*1.03) & ... + (presTime >= a_cycleTimeData.parkEndDateSci)); + if (~isempty(idP)) + [deepDescentEndDate, idMin] = min(presTime(idP)); + if (~isempty(a_cycleTimeData.ascentStartDateSci) && ... + (deepDescentEndDate < a_cycleTimeData.ascentStartDateSci)) + o_cycleTimeData.deepDescentEndDate = deepDescentEndDate; + o_cycleTimeData.deepDescentEndPres = presVal(idP(idMin)); + end + end end end end diff --git a/decArgo_soft/soft/sub/compute_adjusted_data.m b/decArgo_soft/soft/sub/compute_adjusted_data.m index 040c0b09..8d43ef30 100644 --- a/decArgo_soft/soft/sub/compute_adjusted_data.m +++ b/decArgo_soft/soft/sub/compute_adjusted_data.m @@ -55,7 +55,7 @@ o_adjData(idNoDef) = o_adjData(idNoDef)*slopeValue + offsetValue; end else - fprintf('RTADJ_WARNING: Float #%d Cycle #%d Profile #%d: profile not dated => RT offset cannot be applied\n', ... + fprintf('RTADJ_WARNING: Float #%d Cycle #%d Profile #%d: profile not dated - RT offset cannot be applied\n', ... g_decArgo_floatNum, a_profile.cycleNumber, a_profile.profileNumber); end break diff --git a/decArgo_soft/soft/sub/compute_apx_TET.m b/decArgo_soft/soft/sub/compute_apx_TET.m index dbbc2298..600b4468 100644 --- a/decArgo_soft/soft/sub/compute_apx_TET.m +++ b/decArgo_soft/soft/sub/compute_apx_TET.m @@ -116,7 +116,7 @@ if (~isempty(upTime)) fprintf('UP_TIME estimated: %d hours\n', upTime); else - fprintf('WARNING: Float #%d: UP_TIME is unknown and cannot be estimated => TET (= DOWN_TIME end + UP_TIME) is not computed\n', ... + fprintf('WARNING: Float #%d: UP_TIME is unknown and cannot be estimated - TET (= DOWN_TIME end + UP_TIME) is not computed\n', ... g_decArgo_floatNum); end end @@ -380,7 +380,7 @@ clockDrift = clockOffset/abs(tabTet2(1) - tabTet2(end))*365; if (clockDrift/60 > MAX_CLOCK_DRIFT) % the algorithm failed (there is probably a jump of the RTC) - fprintf('WARNING: Float #%d: estimated clock drift (%s per year) > MAX_CLOCK_DRIFT (= %s per year)> => TET cannot be estimated\n', ... + fprintf('WARNING: Float #%d: estimated clock drift (%s per year) > MAX_CLOCK_DRIFT (= %s per year)> - TET cannot be estimated\n', ... g_decArgo_floatNum, ... format_time_dec_argo(clockDrift/3600), ... format_time_dec_argo(MAX_CLOCK_DRIFT/60)); diff --git a/decArgo_soft/soft/sub/compute_cutoff_pres.m b/decArgo_soft/soft/sub/compute_cutoff_pres.m index 7b399f24..f167e230 100644 --- a/decArgo_soft/soft/sub/compute_cutoff_pres.m +++ b/decArgo_soft/soft/sub/compute_cutoff_pres.m @@ -64,7 +64,7 @@ if (isempty(ctdPumpSwitchOffPres)) ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end elseif (ismember(a_decoderId, [30 32])) @@ -72,7 +72,7 @@ if (isempty(ctdPumpSwitchOffPres)) ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end else diff --git a/decArgo_soft/soft/sub/compute_derived_parameters_apx_apf11_ir.m b/decArgo_soft/soft/sub/compute_derived_parameters_apx_apf11_ir.m index 20220ebd..636afb02 100644 --- a/decArgo_soft/soft/sub/compute_derived_parameters_apx_apf11_ir.m +++ b/decArgo_soft/soft/sub/compute_derived_parameters_apx_apf11_ir.m @@ -180,7 +180,7 @@ % o_profDo.dataAdj(idPark, idDoxy) = doxyValues; % end else - fprintf('WARNING: Float #%d Cycle #%d: No available CTD data to compute DOXY parameter for subsurface drift measurements => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: No available CTD data to compute DOXY parameter for subsurface drift measurements - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end @@ -297,7 +297,7 @@ % o_profDo.dataAdj(idAscent, idDoxy) = doxyValues; % end else - fprintf('WARNING: Float #%d Cycle #%d: No available CTD data to compute DOXY parameter for ascending profile measurements => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: No available CTD data to compute DOXY parameter for ascending profile measurements - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end @@ -590,7 +590,7 @@ paramPres.fillValue, paramTemp.fillValue, paramSal.fillValue); o_profFlbbCd.data(idPark, idBbp700) = bbp700Values; else - fprintf('WARNING: Float #%d Cycle #%d: No available CTD data to compute BBP700 parameter for subsurface drift measurements => BBP700 data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: No available CTD data to compute BBP700 parameter for subsurface drift measurements - BBP700 data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end @@ -671,7 +671,7 @@ paramPres.fillValue, paramTemp.fillValue, paramSal.fillValue); o_profFlbbCd.data(idAscent, idBbp700) = bbp700Values; else - fprintf('WARNING: Float #%d Cycle #%d: No available CTD data to compute BBP700 parameter for ascending profile measurements => BBP700 data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d: No available CTD data to compute BBP700 parameter for ascending profile measurements - BBP700 data set to fill value\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end diff --git a/decArgo_soft/soft/sub/compute_drift_NITRATE_105_to_109_111_112_121_to_125.m b/decArgo_soft/soft/sub/compute_drift_NITRATE_105_to_109_111_112_121_to_125.m index 04aec732..c67ecf97 100644 --- a/decArgo_soft/soft/sub/compute_drift_NITRATE_105_to_109_111_112_121_to_125.m +++ b/decArgo_soft/soft/sub/compute_drift_NITRATE_105_to_109_111_112_121_to_125.m @@ -65,7 +65,7 @@ % check that the 'fitlm' function is available in the Matlab configuration if (isempty(which('fitlm'))) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: the ''fitlm'' function is not available in your Matlab configuration => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: the ''fitlm'' function is not available in your Matlab configuration - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -75,7 +75,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA calibration information are missing => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA calibration information are missing - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -99,7 +99,7 @@ floatPixelBegin = g_decArgo_calibInfo.SUNA.FloatPixelBegin; floatPixelEnd = g_decArgo_calibInfo.SUNA.FloatPixelEnd; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent SUNA calibration information => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent SUNA calibration information - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -109,7 +109,7 @@ % retrieve configuration information if (isempty(floatPixelBegin) || isempty(floatPixelBegin)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -140,7 +140,7 @@ pixelBegin = idF1(1); pixelEnd = idF2(end); if ((pixelBegin < floatPixelBegin) || (pixelEnd > floatPixelEnd)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: not enough SUNA transmitted pixels => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: not enough SUNA transmitted pixels - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -158,7 +158,7 @@ tabUvIntensityNitrate = a_UV_INTENSITY_NITRATE(:, floatPixelBegin-pixelBegin+1:floatPixelBegin-pixelBegin+1+(pixelEnd-pixelBegin+1)-1); % if (size(tabUvIntensityRefNitrate, 2) ~= size(tabUvIntensityNitrate, 2)) -% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA data are inconsistent (in size) => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... +% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA data are inconsistent (in size) - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... % g_decArgo_floatNum, ... % a_profSuna.cycleNumber, ... % a_profSuna.profileNumber, ... @@ -236,12 +236,24 @@ % where A13 ... Ar3 = E_NITRATE(r) % then X3 = MOLAR_NITRATE - tabMolarNitrate = ones(size(tabUvIntensityDarkNitrate, 1), 1)*double(a_NITRATE_fill_value); + tabMolarNitrate = nan(size(tabUvIntensityDarkNitrate, 1), 1); a = [tabOpticalWavelengthUv' tabENitrate']; + nbComplex = 0; for idL = 1:length(tabMolarNitrate) b = absorbanceCorNitrate(idL, :)'; - mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b - tabMolarNitrate(idL) = mdl.Coefficients.Estimate(end); + if (all(imag(b) == 0)) + mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b + tabMolarNitrate(idL) = mdl.Coefficients.Estimate(end); + else + nbComplex = nbComplex + 1; + end + end + if (nbComplex > 0) + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are complex - these values are set to fill value in drift measurements of SUNA sensor\n', ... + g_decArgo_floatNum, ... + a_profSuna.cycleNumber, ... + a_profSuna.profileNumber, ... + nbComplex); end % Equation #6 @@ -254,18 +266,17 @@ nitrateValues = tabMolarNitrate ./ rho; idNoNan = find(~isnan(nitrateValues)); o_NITRATE(idNoDef(idNoNan)) = nitrateValues(idNoNan); - - % replace complex values with fillValue (ex: 6901865 #34) - if (any(imag(o_NITRATE) ~= 0)) - idToDef = find(imag(o_NITRATE) ~= 0); + + % replace Inf values with fillValue + if (any(isinf(o_NITRATE))) + idToDef = find(isinf(o_NITRATE)); o_NITRATE(idToDef) = a_NITRATE_fill_value; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are complex => these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are Inf - these values are set to fill value in drift measurements of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... - length(idToDef), ... - a_profSuna.direction); + length(idToDef)); end end diff --git a/decArgo_soft/soft/sub/compute_drift_NITRATE_BISULFIDE_from_spectrum_110_113.m b/decArgo_soft/soft/sub/compute_drift_NITRATE_BISULFIDE_from_spectrum_110_113.m index 376c08c6..7385f872 100644 --- a/decArgo_soft/soft/sub/compute_drift_NITRATE_BISULFIDE_from_spectrum_110_113.m +++ b/decArgo_soft/soft/sub/compute_drift_NITRATE_BISULFIDE_from_spectrum_110_113.m @@ -68,7 +68,7 @@ % check that the 'fitlm' function is available in the Matlab configuration if (isempty(which('fitlm'))) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: the ''fitlm'' function is not available in your Matlab configuration => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: the ''fitlm'' function is not available in your Matlab configuration - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -78,7 +78,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA calibration information are missing => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA calibration information are missing - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -104,7 +104,7 @@ floatPixelBegin = g_decArgo_calibInfo.SUNA.FloatPixelBegin; floatPixelEnd = g_decArgo_calibInfo.SUNA.FloatPixelEnd; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent SUNA calibration information => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent SUNA calibration information - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -114,7 +114,7 @@ % retrieve configuration information if (isempty(floatPixelBegin) || isempty(floatPixelBegin)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -132,7 +132,7 @@ pixelBegin = idF1(1); pixelEnd = idF2(end); if ((pixelBegin < floatPixelBegin) || (pixelEnd > floatPixelEnd)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: not enough SUNA transmitted pixels => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: not enough SUNA transmitted pixels - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -150,7 +150,7 @@ tabUvIntensityNitrate = a_UV_INTENSITY_NITRATE(:, floatPixelBegin-pixelBegin+1:floatPixelBegin-pixelBegin+1+(pixelEnd-pixelBegin+1)-1); % if (size(tabUvIntensityRefNitrate, 2) ~= size(tabUvIntensityNitrate, 2)) -% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA data are inconsistent (in size) => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... +% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA data are inconsistent (in size) - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... % g_decArgo_floatNum, ... % a_profSuna.cycleNumber, ... % a_profSuna.profileNumber, ... @@ -229,14 +229,26 @@ % where A14 ... Ar4 = E_BISULFIDE(r) % then X3 = MOLAR_NITRATE and X4 = MOLAR_BISULFIDE - tabMolarNitrate = ones(size(tabUvIntensityDarkNitrate, 1), 1)*double(a_NITRATE_fill_value); - tabMolarBisulfide = ones(size(tabUvIntensityDarkNitrate, 1), 1)*double(a_BISULFIDE_fill_value); + tabMolarNitrate = nan(size(tabUvIntensityDarkNitrate, 1), 1); + tabMolarBisulfide = nan(size(tabUvIntensityDarkNitrate, 1), 1); a = [tabOpticalWavelengthUv' tabENitrate' tabEBisulfide']; + nbComplex = 0; for idL = 1:length(tabMolarNitrate) b = absorbanceCorNitrate(idL, :)'; - mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b - tabMolarNitrate(idL) = mdl.Coefficients.Estimate(3); - tabMolarBisulfide(idL) = mdl.Coefficients.Estimate(4); + if (all(imag(b) == 0)) + mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b + tabMolarNitrate(idL) = mdl.Coefficients.Estimate(3); + tabMolarBisulfide(idL) = mdl.Coefficients.Estimate(4); + else + nbComplex = nbComplex + 1; + end + end + if (nbComplex > 0) + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE and BISULFIDE values are complex - these values are set to fill value in drift measurements of SUNA sensor\n', ... + g_decArgo_floatNum, ... + a_profSuna.cycleNumber, ... + a_profSuna.profileNumber, ... + nbComplex); end % Equation #6 @@ -253,28 +265,26 @@ idNoNan = find(~isnan(bisulfideValues)); o_BISULFIDE(idNoDef(idNoNan)) = bisulfideValues(idNoNan); - % replace complex values with fillValue (ex: 6901865 #34) - if (any(imag(o_NITRATE) ~= 0)) - idToDef = find(imag(o_NITRATE) ~= 0); + % replace Inf values with fillValue + if (any(isinf(o_NITRATE))) + idToDef = find(isinf(o_NITRATE)); o_NITRATE(idToDef) = a_NITRATE_fill_value; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are complex => these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are Inf - these values are set to fill value in drift measurements of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... - length(idToDef), ... - a_profSuna.direction); + length(idToDef)); end - if (any(imag(o_BISULFIDE) ~= 0)) - idToDef = find(imag(o_BISULFIDE) ~= 0); + if (any(isinf(o_BISULFIDE))) + idToDef = find(isinf(o_BISULFIDE)); o_BISULFIDE(idToDef) = a_BISULFIDE_fill_value; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d BISULFIDE values are complex => these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d BISULFIDE values are Inf - these values are set to fill value in drift measurements of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... - length(idToDef), ... - a_profSuna.direction); + length(idToDef)); end end diff --git a/decArgo_soft/soft/sub/compute_drift_dates_1_4_11_12_19.m b/decArgo_soft/soft/sub/compute_drift_dates_1_4_11_12_19.m index b2724fbe..98247466 100644 --- a/decArgo_soft/soft/sub/compute_drift_dates_1_4_11_12_19.m +++ b/decArgo_soft/soft/sub/compute_drift_dates_1_4_11_12_19.m @@ -110,7 +110,7 @@ fprintf('DEC_INFO: Float #%d Cycle #%d: all drift measurement dates have shifted\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); else - fprintf('DEC_WARNING: Float #%d Cycle #%d: some drift measurement dates have shifted => drift measurements possibly erroneously dated\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: some drift measurement dates have shifted - drift measurements possibly erroneously dated\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end diff --git a/decArgo_soft/soft/sub/compute_drift_derived_parameters_ir_rudics.m b/decArgo_soft/soft/sub/compute_drift_derived_parameters_ir_rudics.m index c9b63d84..fca1beb6 100644 --- a/decArgo_soft/soft/sub/compute_drift_derived_parameters_ir_rudics.m +++ b/decArgo_soft/soft/sub/compute_drift_derived_parameters_ir_rudics.m @@ -59,12 +59,12 @@ driftCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute DOXY drift measurements of OPTODE sensor => DOXY drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute DOXY drift measurements of OPTODE sensor - DOXY drift measurements set to fill value\n', ... g_decArgo_floatNum, ... driftOptode.cycleNumber, ... driftOptode.profileNumber); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute DOXY drift measurements of OPTODE sensor => DOXY drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute DOXY drift measurements of OPTODE sensor - DOXY drift measurements set to fill value\n', ... g_decArgo_floatNum, ... driftOptode.cycleNumber, ... driftOptode.profileNumber, ... @@ -97,12 +97,12 @@ driftCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute BBP drift measurements of ECO2 sensor => BBP drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute BBP drift measurements of ECO2 sensor - BBP drift measurements set to fill value\n', ... g_decArgo_floatNum, ... profEco2.cycleNumber, ... profEco2.profileNumber); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute BBP drift measurements of ECO2 sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute BBP drift measurements of ECO2 sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profEco2.cycleNumber, ... profEco2.profileNumber, ... @@ -135,12 +135,12 @@ driftCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute BBP drift measurements of ECO3 sensor => BBP drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute BBP drift measurements of ECO3 sensor - BBP drift measurements set to fill value\n', ... g_decArgo_floatNum, ... profEco3.cycleNumber, ... profEco3.profileNumber); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute BBP drift measurements of ECO3 sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute BBP drift measurements of ECO3 sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profEco3.cycleNumber, ... profEco3.profileNumber, ... @@ -183,12 +183,12 @@ driftCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute NITRATE drift measurements of SUNA sensor => we use SUNA PTS data to compute NITRATE\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute NITRATE drift measurements of SUNA sensor - we use SUNA PTS data to compute NITRATE\n', ... g_decArgo_floatNum, ... driftSuna.cycleNumber, ... driftSuna.profileNumber); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute NITRATE drift measurements of SUNA sensor => we use SUNA PTS data to compute NITRATE\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute NITRATE drift measurements of SUNA sensor - we use SUNA PTS data to compute NITRATE\n', ... g_decArgo_floatNum, ... driftSuna.cycleNumber, ... driftSuna.profileNumber, ... @@ -210,12 +210,12 @@ driftCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute NITRATE drift measurements of SUNA sensor => we use SUNA PTS data to compute NITRATE\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute NITRATE drift measurements of SUNA sensor - we use SUNA PTS data to compute NITRATE\n', ... g_decArgo_floatNum, ... driftSuna.cycleNumber, ... driftSuna.profileNumber); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute NITRATE drift measurements of SUNA sensor => we use SUNA PTS data to compute NITRATE\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute NITRATE drift measurements of SUNA sensor - we use SUNA PTS data to compute NITRATE\n', ... g_decArgo_floatNum, ... driftSuna.cycleNumber, ... driftSuna.profileNumber, ... @@ -234,7 +234,7 @@ driftCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the SUNA PTS data to compute NITRATE drift measurements of SUNA sensor => NITRATE data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the SUNA PTS data to compute NITRATE drift measurements of SUNA sensor - NITRATE data set to fill value\n', ... g_decArgo_floatNum, ... driftSuna.cycleNumber, ... driftSuna.profileNumber); @@ -269,12 +269,12 @@ driftCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL drift measurements of TRANSISTOR_PH sensor => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL drift measurements of TRANSISTOR_PH sensor - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL drift measurements set to fill value\n', ... g_decArgo_floatNum, ... driftTransPh.cycleNumber, ... driftTransPh.profileNumber); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL drift measurements of TRANSISTOR_PH sensor => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL drift measurements of TRANSISTOR_PH sensor - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL drift measurements set to fill value\n', ... g_decArgo_floatNum, ... driftTransPh.cycleNumber, ... driftTransPh.profileNumber, ... @@ -945,7 +945,7 @@ a_TEMP_fillValue, ... a_PSAL_fillValue); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: BBP processing not implemented yet for lambda = %g => BBP drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: BBP processing not implemented yet for lambda = %g - BBP drift measurements set to fill value\n', ... g_decArgo_floatNum, ... a_driftEco3.cycleNumber, ... a_driftEco3.profileNumber, ... @@ -1558,7 +1558,7 @@ a_driftOptode); otherwise - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY drift measurements set to fill value\n', ... g_decArgo_floatNum, ... a_driftOptode.cycleNumber, ... a_driftOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_drift_derived_parameters_ir_sbd2.m b/decArgo_soft/soft/sub/compute_drift_derived_parameters_ir_sbd2.m index b9fd2cd8..bbad9d93 100644 --- a/decArgo_soft/soft/sub/compute_drift_derived_parameters_ir_sbd2.m +++ b/decArgo_soft/soft/sub/compute_drift_derived_parameters_ir_sbd2.m @@ -56,12 +56,12 @@ driftCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute DOXY drift measurements of OPTODE sensor => DOXY drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute DOXY drift measurements of OPTODE sensor - DOXY drift measurements set to fill value\n', ... g_decArgo_floatNum, ... driftOptode.cycleNumber, ... driftOptode.profileNumber); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute DOXY drift measurements of OPTODE sensor => DOXY drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute DOXY drift measurements of OPTODE sensor - DOXY drift measurements set to fill value\n', ... g_decArgo_floatNum, ... driftOptode.cycleNumber, ... driftOptode.profileNumber, ... @@ -89,12 +89,12 @@ profCtd = a_tabDrift(driftInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute BBP drift measurements of FLBB sensor => BBP drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD drift measurement profile to compute BBP drift measurements of FLBB sensor - BBP drift measurements set to fill value\n', ... g_decArgo_floatNum, ... profFlbb.cycleNumber, ... profFlbb.profileNumber); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute BBP drift measurements of FLBB sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD drift measurement profiles have been found to compute BBP drift measurements of FLBB sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profFlbb.cycleNumber, ... profFlbb.profileNumber, ... @@ -611,7 +611,7 @@ a_TEMP_fillValue, ... a_PSAL_fillValue); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: BBP processing not implemented yet for lambda = %g => BBP drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: BBP processing not implemented yet for lambda = %g - BBP drift measurements set to fill value\n', ... g_decArgo_floatNum, ... a_driftFlbb.cycleNumber, ... a_driftFlbb.profileNumber, ... @@ -892,7 +892,7 @@ a_driftOptode); otherwise - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY drift measurements set to fill value\n', ... g_decArgo_floatNum, ... a_driftOptode.cycleNumber, ... a_driftOptode.profileNumber, ... @@ -982,7 +982,7 @@ a_driftOptode); otherwise - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY drift measurements set to fill value\n', ... g_decArgo_floatNum, ... a_driftOptode.cycleNumber, ... a_driftOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_interpolated_profile_location.m b/decArgo_soft/soft/sub/compute_interpolated_profile_location.m index e155bf3d..cbd10b86 100644 --- a/decArgo_soft/soft/sub/compute_interpolated_profile_location.m +++ b/decArgo_soft/soft/sub/compute_interpolated_profile_location.m @@ -124,7 +124,7 @@ o_profLocLon = []; o_profLocLat = []; - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... a_cycleNum, ... g_decArgo_cycleNum); end diff --git a/decArgo_soft/soft/sub/compute_nva_dates_2001_2002.m b/decArgo_soft/soft/sub/compute_nva_dates_2001_2002.m index 609bf2c6..b9f2f047 100644 --- a/decArgo_soft/soft/sub/compute_nva_dates_2001_2002.m +++ b/decArgo_soft/soft/sub/compute_nva_dates_2001_2002.m @@ -116,7 +116,7 @@ % technical message if (g_decArgo_finalEolMode == 0) if (size(a_tabTech, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d tech message in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d tech message in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); a_tabTech = a_tabTech(end, :); @@ -127,7 +127,7 @@ % create a structure to store the cycle timings cycleTimeStruct = get_nva_cycle_time_init_struct; - + % retrieve the Iridium message times of the current cycle [o_firstMessageDate, o_lastMessageDate] = ... compute_first_last_msg_time_from_iridium_mail(g_decArgo_iridiumMailData, g_decArgo_cycleNum); @@ -140,8 +140,8 @@ if ~((a_tabTech(id, 40+ID_OFFSET) == 0) && ... (fix(a_tabTech(id, 38+ID_OFFSET)) == 214) && ... (fix(a_tabTech(id, 39+ID_OFFSET)) == 214)) - - if (~g_decArgo_eolMode) + + if ((g_decArgo_cycleNum > 0) && ~g_decArgo_eolMode) [dayNum, day, month, year, hour, min, sec] = format_juld_dec_argo(o_firstMessageDate); else [dayNum, day, month, year, hour, min, sec] = format_juld_dec_argo(a_tabTech(id, end)); % in EOL mode, FMT could be far from current TECH msg @@ -163,7 +163,14 @@ end % get the record id to retrieve SBDT of the current cycle - if (g_decArgo_cycleNum < 256) + if (g_decArgo_cycleNum == 0) + idForSbdt = find((g_decArgo_preDecodedData.cycleNum == 255) & ... + (g_decArgo_preDecodedData.used == 0), 1, 'first'); + if (isempty(idForSbdt)) + idForSbdt = find((g_decArgo_preDecodedData.cycleNum == g_decArgo_cycleNum) & ... + (g_decArgo_preDecodedData.used == 0)); + end + elseif (g_decArgo_cycleNum < 256) idForSbdt = find((g_decArgo_preDecodedData.cycleNum == g_decArgo_cycleNum) & ... (g_decArgo_preDecodedData.used == 0)); else @@ -183,7 +190,7 @@ if (~isempty(idForSbdt)) sbdt = g_decArgo_preDecodedData.sbdt(idForSbdt); - if (~g_decArgo_eolMode) + if ((g_decArgo_cycleNum > 0) && ~g_decArgo_eolMode) o_floatClockDrift = o_gpsDate + sbdt/86400 - o_firstMessageDate; else o_floatClockDrift = o_gpsDate + sbdt/86400 - a_tabTech(id, end); diff --git a/decArgo_soft/soft/sub/compute_nva_dates_2003.m b/decArgo_soft/soft/sub/compute_nva_dates_2003.m index 91ca451e..a7280759 100644 --- a/decArgo_soft/soft/sub/compute_nva_dates_2003.m +++ b/decArgo_soft/soft/sub/compute_nva_dates_2003.m @@ -116,7 +116,7 @@ % technical message if (g_decArgo_finalEolMode == 0) if (size(a_tabTech, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d tech message in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d tech message in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); a_tabTech = a_tabTech(end, :); @@ -140,7 +140,7 @@ if ~((a_tabTech(id, 39+ID_OFFSET) == 0) && ... % when DLF == TLF == 0 the GPS time is not consistent and the lat/lon are duplicated from the last good previous value (a_tabTech(id, 40+ID_OFFSET) == 0)) - if (~g_decArgo_eolMode) + if ((g_decArgo_cycleNum > 0) && ~g_decArgo_eolMode) [dayNum, day, month, year, hour, min, sec] = format_juld_dec_argo(o_firstMessageDate); else [dayNum, day, month, year, hour, min, sec] = format_juld_dec_argo(a_tabTech(id, end)); % in EOL mode, FMT could be far from current TECH msg @@ -162,7 +162,14 @@ end % get the record id to retrieve SBDT of the current cycle - if (g_decArgo_cycleNum < 256) + if (g_decArgo_cycleNum == 0) + idForSbdt = find((g_decArgo_preDecodedData.cycleNum == 255) & ... + (g_decArgo_preDecodedData.used == 0), 1, 'first'); + if (isempty(idForSbdt)) + idForSbdt = find((g_decArgo_preDecodedData.cycleNum == g_decArgo_cycleNum) & ... + (g_decArgo_preDecodedData.used == 0)); + end + elseif (g_decArgo_cycleNum < 256) idForSbdt = find((g_decArgo_preDecodedData.cycleNum == g_decArgo_cycleNum) & ... (g_decArgo_preDecodedData.used == 0)); else @@ -182,7 +189,7 @@ if (~isempty(idForSbdt)) sbdt = g_decArgo_preDecodedData.sbdt(idForSbdt); - if (~g_decArgo_eolMode) + if ((g_decArgo_cycleNum > 0) && ~g_decArgo_eolMode) o_floatClockDrift = o_gpsDate + sbdt/86400 - o_firstMessageDate; else o_floatClockDrift = o_gpsDate + sbdt/86400 - a_tabTech(id, end); diff --git a/decArgo_soft/soft/sub/compute_prof_NITRATE_from_MOLAR_105_to_109_111_112_121_to_125.m b/decArgo_soft/soft/sub/compute_prof_NITRATE_from_MOLAR_105_to_109_111_112_121_to_125.m index 579b97c4..5f8b7a9a 100644 --- a/decArgo_soft/soft/sub/compute_prof_NITRATE_from_MOLAR_105_to_109_111_112_121_to_125.m +++ b/decArgo_soft/soft/sub/compute_prof_NITRATE_from_MOLAR_105_to_109_111_112_121_to_125.m @@ -44,7 +44,7 @@ sunaVerticalOffset = get_static_config_value('CONFIG_PX_1_6_0_0_0', 1); if (isempty(sunaVerticalOffset)) sunaVerticalOffset = 0; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA vertical offset is missing => NITRATE data computed with a 0 dbar vertical offset in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA vertical offset is missing - NITRATE data computed with a 0 dbar vertical offset in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_profile_NITRATE_105_to_109_111_112_121_to_125.m b/decArgo_soft/soft/sub/compute_profile_NITRATE_105_to_109_111_112_121_to_125.m index b21b229e..e9e5c186 100644 --- a/decArgo_soft/soft/sub/compute_profile_NITRATE_105_to_109_111_112_121_to_125.m +++ b/decArgo_soft/soft/sub/compute_profile_NITRATE_105_to_109_111_112_121_to_125.m @@ -69,7 +69,7 @@ % check that the 'fitlm' function is available in the Matlab configuration if (isempty(which('fitlm'))) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: the ''fitlm'' function is not available in your Matlab configuration => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: the ''fitlm'' function is not available in your Matlab configuration - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -79,7 +79,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA calibration information are missing => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA calibration information are missing - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -103,7 +103,7 @@ floatPixelBegin = g_decArgo_calibInfo.SUNA.FloatPixelBegin; floatPixelEnd = g_decArgo_calibInfo.SUNA.FloatPixelEnd; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent SUNA calibration information => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent SUNA calibration information - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -114,7 +114,7 @@ % retrieve configuration information if (isempty(sunaVerticalOffset)) sunaVerticalOffset = 0; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA vertical offset is missing => NITRATE data computed with a 0 dbar vertical offset in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA vertical offset is missing - NITRATE data computed with a 0 dbar vertical offset in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -122,7 +122,7 @@ end if (isempty(floatPixelBegin) || isempty(floatPixelBegin)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -153,7 +153,7 @@ pixelBegin = idF1(1); pixelEnd = idF2(end); if ((pixelBegin < floatPixelBegin) || (pixelEnd > floatPixelEnd)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: not enough SUNA transmitted pixels => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: not enough SUNA transmitted pixels - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -171,7 +171,7 @@ tabUvIntensityNitrate = a_UV_INTENSITY_NITRATE(:, pixelBegin-floatPixelBegin+1:pixelBegin-floatPixelBegin+1+(pixelEnd-pixelBegin+1)-1); % if (size(tabUvIntensityRefNitrate, 2) ~= size(tabUvIntensityNitrate, 2)) -% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA data are inconsistent (in size) => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... +% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA data are inconsistent (in size) - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... % g_decArgo_floatNum, ... % a_profSuna.cycleNumber, ... % a_profSuna.profileNumber, ... @@ -249,15 +249,29 @@ % where A13 ... Ar3 = E_NITRATE(r) % then X3 = MOLAR_NITRATE - tabMolarNitrate = ones(size(tabUvIntensityDarkNitrate, 1), 1)*double(a_NITRATE_fill_value); + tabMolarNitrate = nan(size(tabUvIntensityDarkNitrate, 1), 1); tabRmsError = nan(size(tabUvIntensityDarkNitrate, 1), 1); a = [tabOpticalWavelengthUv' tabENitrate']; + nbComplex = 0; for idL = 1:length(tabMolarNitrate) b = absorbanceCorNitrate(idL, :)'; - mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b - tabMolarNitrate(idL) = mdl.Coefficients.Estimate(end); - rawResiduals = mdl.Residuals.Raw; - tabRmsError(idL) = sqrt(sum(rawResiduals.*rawResiduals)/size(absorbanceCorNitrate, 2)); + if (all(imag(b) == 0)) + mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b + tabMolarNitrate(idL) = mdl.Coefficients.Estimate(end); + rawResiduals = mdl.Residuals.Raw; + tabRmsError(idL) = sqrt(sum(rawResiduals.*rawResiduals)/size(absorbanceCorNitrate, 2)); + else + % example: 3902122 #183 + nbComplex = nbComplex + 1; + end + end + if (nbComplex > 0) + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are complex - these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... + g_decArgo_floatNum, ... + a_profSuna.cycleNumber, ... + a_profSuna.profileNumber, ... + nbComplex, ... + a_profSuna.direction); end % Equation #6 @@ -271,20 +285,6 @@ idNoNan = find(~isnan(nitrateValues)); o_NITRATE(idNoDef(idNoNan)) = nitrateValues(idNoNan); o_rmsError(idNoDef) = tabRmsError; - - % replace complex values with fillValue (ex: 6901865 #34) - if (any(imag(o_NITRATE) ~= 0)) - idToDef = find(imag(o_NITRATE) ~= 0); - o_NITRATE(idToDef) = a_NITRATE_fill_value; - o_rmsError(idToDef) = nan; - - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are complex => these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... - g_decArgo_floatNum, ... - a_profSuna.cycleNumber, ... - a_profSuna.profileNumber, ... - length(idToDef), ... - a_profSuna.direction); - end % replace Inf values with fillValue (ex: 3902122 (183, 0)) if (any(isinf(o_NITRATE))) @@ -292,14 +292,13 @@ o_NITRATE(idToDef) = a_NITRATE_fill_value; o_rmsError(idToDef) = nan; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are Inf => these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are Inf - these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... length(idToDef), ... a_profSuna.direction); end - end % print processing steps in .csv output file diff --git a/decArgo_soft/soft/sub/compute_profile_NITRATE_BISULFIDE_from_spectrum_110_113.m b/decArgo_soft/soft/sub/compute_profile_NITRATE_BISULFIDE_from_spectrum_110_113.m index 58114c06..cfc576a9 100644 --- a/decArgo_soft/soft/sub/compute_profile_NITRATE_BISULFIDE_from_spectrum_110_113.m +++ b/decArgo_soft/soft/sub/compute_profile_NITRATE_BISULFIDE_from_spectrum_110_113.m @@ -72,7 +72,7 @@ % check that the 'fitlm' function is available in the Matlab configuration if (isempty(which('fitlm'))) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: the ''fitlm'' function is not available in your Matlab configuration => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: the ''fitlm'' function is not available in your Matlab configuration - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -82,7 +82,7 @@ % get calibration information if (isempty(g_decArgo_calibInfo)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA calibration information are missing => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA calibration information are missing - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -108,7 +108,7 @@ floatPixelBegin = g_decArgo_calibInfo.SUNA.FloatPixelBegin; floatPixelEnd = g_decArgo_calibInfo.SUNA.FloatPixelEnd; else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent SUNA calibration information => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: inconsistent SUNA calibration information - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -119,7 +119,7 @@ % retrieve configuration information if (isempty(sunaVerticalOffset)) sunaVerticalOffset = 0; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA vertical offset is missing => NITRATE data computed with a 0 dbar vertical offset in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA vertical offset is missing - NITRATE data computed with a 0 dbar vertical offset in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -127,7 +127,7 @@ end if (isempty(floatPixelBegin) || isempty(floatPixelBegin)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA information (PIXEL_BEGIN, PIXEL_END) are missing - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -145,7 +145,7 @@ pixelBegin = idF1(1); pixelEnd = idF2(end); if ((pixelBegin < floatPixelBegin) || (pixelEnd > floatPixelEnd)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: not enough SUNA transmitted pixels => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: not enough SUNA transmitted pixels - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... @@ -163,7 +163,7 @@ tabUvIntensityNitrate = a_UV_INTENSITY_NITRATE(:, pixelBegin-floatPixelBegin+1:pixelBegin-floatPixelBegin+1+(pixelEnd-pixelBegin+1)-1); % if (size(tabUvIntensityRefNitrate, 2) ~= size(tabUvIntensityNitrate, 2)) -% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA data are inconsistent (in size) => NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... +% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: SUNA data are inconsistent (in size) - NITRATE data set to fill value in ''%c'' profile of SUNA sensor\n', ... % g_decArgo_floatNum, ... % a_profSuna.cycleNumber, ... % a_profSuna.profileNumber, ... @@ -242,19 +242,33 @@ % where A14 ... Ar4 = E_BISULFIDE(r) % then X3 = MOLAR_NITRATE and X4 = MOLAR_BISULFIDE - tabMolarNitrate = ones(size(tabUvIntensityDarkNitrate, 1), 1)*double(a_NITRATE_fill_value); - tabMolarBisulfide = ones(size(tabUvIntensityDarkNitrate, 1), 1)*double(a_BISULFIDE_fill_value); + tabMolarNitrate = nan(size(tabUvIntensityDarkNitrate, 1), 1); + tabMolarBisulfide = nan(size(tabUvIntensityDarkNitrate, 1), 1); tabRmsError = nan(size(tabUvIntensityDarkNitrate, 1), 1); a = [tabOpticalWavelengthUv' tabENitrate' tabEBisulfide']; + nbComplex = 0; for idL = 1:length(tabMolarNitrate) b = absorbanceCorNitrate(idL, :)'; - mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b - tabMolarNitrate(idL) = mdl.Coefficients.Estimate(3); - tabMolarBisulfide(idL) = mdl.Coefficients.Estimate(4); - rawResiduals = mdl.Residuals.Raw; - tabRmsError(idL) = sqrt(sum(rawResiduals.*rawResiduals)/size(absorbanceCorNitrate, 2)); + if (all(imag(b) == 0)) + mdl = fitlm(double(a), double(b)); % both inputs should be double since R2020b + tabMolarNitrate(idL) = mdl.Coefficients.Estimate(3); + tabMolarBisulfide(idL) = mdl.Coefficients.Estimate(4); + rawResiduals = mdl.Residuals.Raw; + tabRmsError(idL) = sqrt(sum(rawResiduals.*rawResiduals)/size(absorbanceCorNitrate, 2)); + else + % example: 6901865 #34 + nbComplex = nbComplex + 1; + end end - + if (nbComplex > 0) + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE and BISULFIDE values are complex - these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... + g_decArgo_floatNum, ... + a_profSuna.cycleNumber, ... + a_profSuna.profileNumber, ... + nbComplex, ... + a_profSuna.direction); + end + % Equation #6 % compute potential temperature and potential density [measLon, measLat] = get_meas_location(a_profSuna.cycleNumber, a_profSuna.profileNumber, a_profSuna); @@ -270,23 +284,25 @@ o_BISULFIDE(idNoDef(idNoNan)) = bisulfideValues(idNoNan); o_rmsError(idNoDef) = tabRmsError; - % replace complex values with fillValue (ex: 6901865 #34) - if (any(imag(o_NITRATE) ~= 0)) - idToDef = find(imag(o_NITRATE) ~= 0); + % replace Inf values with fillValue + if (any(isinf(o_NITRATE))) + idToDef = find(isinf(o_NITRATE)); o_NITRATE(idToDef) = a_NITRATE_fill_value; + o_rmsError(idToDef) = nan; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are complex => these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d NITRATE values are Inf - these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... length(idToDef), ... a_profSuna.direction); end - if (any(imag(o_BISULFIDE) ~= 0)) - idToDef = find(imag(o_BISULFIDE) ~= 0); + if (any(isinf(o_BISULFIDE))) + idToDef = find(isinf(o_BISULFIDE)); o_BISULFIDE(idToDef) = a_BISULFIDE_fill_value; + o_rmsError(idToDef) = nan; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d BISULFIDE values are complex => these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d BISULFIDE values are Inf - these values are set to fill value in ''%c'' profile of SUNA sensor\n', ... g_decArgo_floatNum, ... a_profSuna.cycleNumber, ... a_profSuna.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_profile_derived_parameters_ir_rudics.m b/decArgo_soft/soft/sub/compute_profile_derived_parameters_ir_rudics.m index 02f0faf0..3a9d9ada 100644 --- a/decArgo_soft/soft/sub/compute_profile_derived_parameters_ir_rudics.m +++ b/decArgo_soft/soft/sub/compute_profile_derived_parameters_ir_rudics.m @@ -58,13 +58,13 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... profOptode.cycleNumber, ... profOptode.profileNumber, ... profOptode.direction); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... profOptode.cycleNumber, ... profOptode.profileNumber, ... @@ -99,13 +99,13 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute BBP parameter for ''%c'' profile of ECO2 sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute BBP parameter for ''%c'' profile of ECO2 sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profEco2.cycleNumber, ... profEco2.profileNumber, ... profEco2.direction); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute BBP parameter for ''%c'' profile of ECO2 sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute BBP parameter for ''%c'' profile of ECO2 sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profEco2.cycleNumber, ... profEco2.profileNumber, ... @@ -140,13 +140,13 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute BBP parameter for ''%c'' profile of ECO3 sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute BBP parameter for ''%c'' profile of ECO3 sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profEco3.cycleNumber, ... profEco3.profileNumber, ... profEco3.direction); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute BBP parameter for ''%c'' profile of ECO3 sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute BBP parameter for ''%c'' profile of ECO3 sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profEco3.cycleNumber, ... profEco3.profileNumber, ... @@ -194,13 +194,13 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute NITRATE parameter for ''%c'' profile of SUNA sensor => we use SUNA PTS data to compute NITRATE\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute NITRATE parameter for ''%c'' profile of SUNA sensor - we use SUNA PTS data to compute NITRATE\n', ... g_decArgo_floatNum, ... profSuna.cycleNumber, ... profSuna.profileNumber, ... profSuna.direction); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute NITRATE parameter for ''%c'' profile of SUNA sensor => we use SUNA PTS data to compute NITRATE\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute NITRATE parameter for ''%c'' profile of SUNA sensor - we use SUNA PTS data to compute NITRATE\n', ... g_decArgo_floatNum, ... profSuna.cycleNumber, ... profSuna.profileNumber, ... @@ -224,13 +224,13 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute NITRATE parameter for ''%c'' profile of SUNA sensor => we use SUNA PTS data to compute NITRATE\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute NITRATE parameter for ''%c'' profile of SUNA sensor - we use SUNA PTS data to compute NITRATE\n', ... g_decArgo_floatNum, ... profSuna.cycleNumber, ... profSuna.profileNumber, ... profSuna.direction); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute NITRATE parameter for ''%c'' profile of SUNA sensor => we use SUNA PTS data to compute NITRATE\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute NITRATE parameter for ''%c'' profile of SUNA sensor - we use SUNA PTS data to compute NITRATE\n', ... g_decArgo_floatNum, ... profSuna.cycleNumber, ... profSuna.profileNumber, ... @@ -251,7 +251,7 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the SUNA PTS data to compute NITRATE parameter for ''%c'' profile of SUNA sensor => NITRATE data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the SUNA PTS data to compute NITRATE parameter for ''%c'' profile of SUNA sensor - NITRATE data set to fill value\n', ... g_decArgo_floatNum, ... profSuna.cycleNumber, ... profSuna.profileNumber, ... @@ -288,13 +288,13 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL parameters for ''%c'' profile of TRANSISTOR_PH sensor => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL parameters for ''%c'' profile of TRANSISTOR_PH sensor - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... g_decArgo_floatNum, ... profTransPh.cycleNumber, ... profTransPh.profileNumber, ... profTransPh.direction); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL parameters for ''%c'' profile of TRANSISTOR_PH sensor => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL parameters for ''%c'' profile of TRANSISTOR_PH sensor - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... g_decArgo_floatNum, ... profTransPh.cycleNumber, ... profTransPh.profileNumber, ... @@ -1086,7 +1086,7 @@ paramTemp.fillValue, ... paramPsal.fillValue); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: BBP processing not implemented yet for lambda = %g => BBP data set to fill value in ''%c'' profile of ECO3 sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: BBP processing not implemented yet for lambda = %g - BBP data set to fill value in ''%c'' profile of ECO3 sensor\n', ... g_decArgo_floatNum, ... a_profEco3.cycleNumber, ... a_profEco3.profileNumber, ... @@ -1099,7 +1099,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute BBP parameter for ''%c'' profile of ECO3 sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute BBP parameter for ''%c'' profile of ECO3 sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... a_profEco3.cycleNumber, ... a_profEco3.profileNumber, ... @@ -1112,7 +1112,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute BBP parameter for ''%c'' profile of ECO3 sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute BBP parameter for ''%c'' profile of ECO3 sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... a_profEco3.cycleNumber, ... a_profEco3.profileNumber, ... @@ -1862,7 +1862,7 @@ a_profOptode); otherwise - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -1876,7 +1876,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -1889,7 +1889,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -2044,7 +2044,7 @@ a_profOptode); otherwise - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -2058,7 +2058,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -2071,7 +2071,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -2322,7 +2322,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL parameters for ''%c'' profile of TRANSISTOR_PH sensor => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL parameters for ''%c'' profile of TRANSISTOR_PH sensor - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... g_decArgo_floatNum, ... a_profTransPh.cycleNumber, ... a_profTransPh.profileNumber, ... @@ -2336,7 +2336,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL parameters for ''%c'' profile of TRANSISTOR_PH sensor => PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute PH_IN_SITU_FREE and PH_IN_SITU_TOTAL parameters for ''%c'' profile of TRANSISTOR_PH sensor - PH_IN_SITU_FREE and PH_IN_SITU_TOTAL data set to fill value\n', ... g_decArgo_floatNum, ... a_profTransPh.cycleNumber, ... a_profTransPh.profileNumber, ... @@ -2764,7 +2764,7 @@ % a_profOptode); % % otherwise -% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... +% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... % g_decArgo_floatNum, ... % a_profOptode.cycleNumber, ... % a_profOptode.profileNumber, ... @@ -2778,7 +2778,7 @@ % % else % -% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... +% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... % g_decArgo_floatNum, ... % a_profOptode.cycleNumber, ... % a_profOptode.profileNumber, ... @@ -2791,7 +2791,7 @@ % % else % -% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... +% fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... % g_decArgo_floatNum, ... % a_profOptode.cycleNumber, ... % a_profOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_profile_derived_parameters_ir_sbd2.m b/decArgo_soft/soft/sub/compute_profile_derived_parameters_ir_sbd2.m index 38048a5b..7a131de8 100644 --- a/decArgo_soft/soft/sub/compute_profile_derived_parameters_ir_sbd2.m +++ b/decArgo_soft/soft/sub/compute_profile_derived_parameters_ir_sbd2.m @@ -56,13 +56,13 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... profOptode.cycleNumber, ... profOptode.profileNumber, ... profOptode.direction); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... profOptode.cycleNumber, ... profOptode.profileNumber, ... @@ -92,13 +92,13 @@ profCtd = a_tabProfiles(profInfo(idF, 1)); else if (isempty(idF)) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute BBP parameter for ''%c'' profile of FLBB sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: unable to find the associated CTD profile to compute BBP parameter for ''%c'' profile of FLBB sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profFlbb.cycleNumber, ... profFlbb.profileNumber, ... profFlbb.direction); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute BBP parameter for ''%c'' profile of FLBB sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: %d associated CTD profiles have been found to compute BBP parameter for ''%c'' profile of FLBB sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... profFlbb.cycleNumber, ... profFlbb.profileNumber, ... @@ -644,7 +644,7 @@ paramTemp.fillValue, ... paramPsal.fillValue); else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: BBP processing not implemented yet for lambda = %g => BBP data set to fill value in ''%c'' profile of FLBB sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: BBP processing not implemented yet for lambda = %g - BBP data set to fill value in ''%c'' profile of FLBB sensor\n', ... g_decArgo_floatNum, ... a_profFlbb.cycleNumber, ... a_profFlbb.profileNumber, ... @@ -657,7 +657,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute BBP parameter for ''%c'' profile of FLBB sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute BBP parameter for ''%c'' profile of FLBB sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... a_profFlbb.cycleNumber, ... a_profFlbb.profileNumber, ... @@ -670,7 +670,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute BBP parameter for ''%c'' profile of FLBB sensor => BBP data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute BBP parameter for ''%c'' profile of FLBB sensor - BBP data set to fill value\n', ... g_decArgo_floatNum, ... a_profFlbb.cycleNumber, ... a_profFlbb.profileNumber, ... @@ -955,7 +955,7 @@ a_profOptode); otherwise - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -969,7 +969,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -982,7 +982,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -1078,7 +1078,7 @@ a_profOptode); otherwise - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -1092,7 +1092,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available interpolated CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... @@ -1105,7 +1105,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor => DOXY data set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: no available CTD data to compute DOXY parameter for ''%c'' profile of OPTODE sensor - DOXY data set to fill value\n', ... g_decArgo_floatNum, ... a_profOptode.cycleNumber, ... a_profOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/compute_prv_dates_1_3_4_11_12_17_19_24_25_27_to_29_31.m b/decArgo_soft/soft/sub/compute_prv_dates_1_3_4_11_12_17_19_24_25_27_to_29_31.m index 5f0b53c4..63d38a44 100644 --- a/decArgo_soft/soft/sub/compute_prv_dates_1_3_4_11_12_17_19_24_25_27_to_29_31.m +++ b/decArgo_soft/soft/sub/compute_prv_dates_1_3_4_11_12_17_19_24_25_27_to_29_31.m @@ -91,7 +91,7 @@ g_decArgo_cycleAnomalyFlag = 0; if ((a_meanParkPres < NO_DIVE_THRESHOLD) || (a_maxProfPres < NO_DIVE_THRESHOLD)) g_decArgo_cycleAnomalyFlag = 1; - fprintf('DEC_WARNING: Float #%d Cycle #%d: cycle anomaly detected (the float stayed near the surface) => cycle dates can be inconsistent\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: cycle anomaly detected (the float stayed near the surface) - cycle dates can be inconsistent\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end @@ -209,14 +209,14 @@ while (a_launchDate - (fix(a_refDay) + a_tabTech(1)*6/1440 + nbDay) > 6/1440) nbDay = nbDay + 1; end - fprintf('DEC_WARNING: Float #%d Cycle #%d: launch date > descent start date => %d day added to theoretical descent start date (based on ref day)\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: launch date > descent start date - %d day added to theoretical descent start date (based on ref day)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, nbDay); o_descentStartDate = o_descentStartDate + nbDay; end nbDay = floor(o_descentStartDate - a_launchDate); if (nbDay > 0) - fprintf('DEC_WARNING: Float #%d Cycle #%d: descent start date too far from launch date => %d day substracted to descent start date\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: descent start date too far from launch date - %d day substracted to descent start date\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, nbDay); o_descentStartDate = o_descentStartDate - nbDay; end @@ -231,7 +231,7 @@ % while ((o_descentStartDate - nbDay) - o_descentToProfStartDate > 0) % nbDay = nbDay + 1; % end - % fprintf('WARNING: Float #%d Cycle #%d: descent to profile start date > descent start date => %d day substracted to descent start date\n', ... + % fprintf('WARNING: Float #%d Cycle #%d: descent to profile start date > descent start date - %d day substracted to descent start date\n', ... % g_decArgo_floatNum, g_decArgo_cycleNum, nbDay); % o_descentStartDate = o_descentStartDate - nbDay; % end @@ -253,31 +253,31 @@ if (print == 1) floatClockDrift = round(a_floatClockDrift*1440)/1440; fprintf('Float #%d cycle #%d:\n', g_decArgo_floatNum, g_decArgo_cycleNum); - fprintf('CLOCK FLOAT DRIFT : %s => %s\n', ... + fprintf('CLOCK FLOAT DRIFT : %s - %s\n', ... format_time_dec_argo(a_floatClockDrift*24), ... format_time_dec_argo(floatClockDrift*24)); - fprintf('DESCENT START DATE : %s => %s\n', ... + fprintf('DESCENT START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_descentStartDate), ... julian_2_gregorian_dec_argo(o_descentStartDate-floatClockDrift)); - fprintf('FIRST STAB DATE : %s => %s\n', ... + fprintf('FIRST STAB DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_firstStabDate), ... julian_2_gregorian_dec_argo(o_firstStabDate-floatClockDrift)); - fprintf('DESCENT END DATE : %s => %s\n', ... + fprintf('DESCENT END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_descentEndDate), ... julian_2_gregorian_dec_argo(o_descentEndDate-floatClockDrift)); - fprintf('DESCENT TO PROF START DATE: %s => %s\n', ... + fprintf('DESCENT TO PROF START DATE: %s - %s\n', ... julian_2_gregorian_dec_argo(o_descentToProfStartDate), ... julian_2_gregorian_dec_argo(o_descentToProfStartDate-floatClockDrift)); - fprintf('DESCENT TO PROF END DATE : %s => %s\n', ... + fprintf('DESCENT TO PROF END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_descentToProfEndDate), ... julian_2_gregorian_dec_argo(o_descentToProfEndDate-floatClockDrift)); - fprintf('ASCENT START DATE : %s => %s\n', ... + fprintf('ASCENT START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_ascentStartDate), ... julian_2_gregorian_dec_argo(o_ascentStartDate-floatClockDrift)); - fprintf('ASCENT END DATE : %s => %s\n', ... + fprintf('ASCENT END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_ascentEndDate), ... julian_2_gregorian_dec_argo(o_ascentEndDate-floatClockDrift)); - fprintf('TRANS START DATE : %s => %s\n', ... + fprintf('TRANS START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_transStartDate), ... julian_2_gregorian_dec_argo(o_transStartDate-floatClockDrift)); end diff --git a/decArgo_soft/soft/sub/compute_prv_dates_201_to_203.m b/decArgo_soft/soft/sub/compute_prv_dates_201_to_203.m index 6a4c45c0..d4278c2d 100644 --- a/decArgo_soft/soft/sub/compute_prv_dates_201_to_203.m +++ b/decArgo_soft/soft/sub/compute_prv_dates_201_to_203.m @@ -206,7 +206,7 @@ o_ascentEndDate = o_transStartDate - 10/1440 - PT4Seconds/86400; refDate = o_ascentEndDate; else - fprintf('WARNING: Float #%d cycle #%d: PT04 is unknown => AET cannot be computed\n', ... + fprintf('WARNING: Float #%d cycle #%d: PT04 is unknown - AET cannot be computed\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end diff --git a/decArgo_soft/soft/sub/compute_prv_dates_30_32.m b/decArgo_soft/soft/sub/compute_prv_dates_30_32.m index f6cda28f..aaf965ef 100644 --- a/decArgo_soft/soft/sub/compute_prv_dates_30_32.m +++ b/decArgo_soft/soft/sub/compute_prv_dates_30_32.m @@ -89,7 +89,7 @@ g_decArgo_cycleAnomalyFlag = 0; if ((a_meanParkPres < NO_DIVE_THRESHOLD) || (a_maxProfPres < NO_DIVE_THRESHOLD)) g_decArgo_cycleAnomalyFlag = 1; - fprintf('DEC_WARNING: Float #%d Cycle #%d: cycle anomaly detected (the float stayed near the surface) => cycle dates can be inconsistent\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: cycle anomaly detected (the float stayed near the surface) - cycle dates can be inconsistent\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end @@ -240,14 +240,14 @@ while (a_launchDate - (fix(a_refDay) + a_tabTech2(5)/1440 + nbDay) > 1/1440) nbDay = nbDay + 1; end - fprintf('DEC_WARNING: Float #%d Cycle #%d: launch date > cycle start date => %d day added to theoretical cycle start date (based on ref day)\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: launch date > cycle start date - %d day added to theoretical cycle start date (based on ref day)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, nbDay); o_cycleStartDate = o_cycleStartDate + nbDay; end nbDay = floor(o_cycleStartDate - a_launchDate); if (nbDay > 0) - fprintf('DEC_WARNING: Float #%d Cycle #%d: cycle start date too far from launch date => %d day substracted to descent start date\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: cycle start date too far from launch date - %d day substracted to descent start date\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, nbDay); o_cycleStartDate = o_cycleStartDate - nbDay; end @@ -258,7 +258,7 @@ if ((a_tabTech2(3) ~= dd) || (a_tabTech2(4) ~= mm)) newCycleStartDate = gregorian_2_julian_dec_argo(sprintf('%04d/%02d/%02d %02d:%02d:%02d', ... yyyy, a_tabTech2(4), a_tabTech2(3), HH, MI, SS)); - fprintf('WARNING: Float #%d Cycle #%d: computed cycle start date (%s) doesn''t match technical information ((DD/MM) = (%02d/%02d)) => cycle start date set to %s\n', ... + fprintf('WARNING: Float #%d Cycle #%d: computed cycle start date (%s) doesn''t match technical information ((DD/MM) = (%02d/%02d)) - cycle start date set to %s\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... julian_2_gregorian_dec_argo(o_cycleStartDate), ... a_tabTech2(3), a_tabTech2(4), ... @@ -325,34 +325,34 @@ if (print == 1) floatClockDrift = round(a_floatClockDrift*1440)/1440; fprintf('Float #%d cycle #%d:\n', g_decArgo_floatNum, g_decArgo_cycleNum); - fprintf('CLOCK FLOAT DRIFT : %s => %s\n', ... + fprintf('CLOCK FLOAT DRIFT : %s - %s\n', ... format_time_dec_argo(a_floatClockDrift*24), ... format_time_dec_argo(floatClockDrift*24)); - fprintf('CYCLE START DATE : %s => %s\n', ... + fprintf('CYCLE START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_cycleStartDate), ... julian_2_gregorian_dec_argo(o_cycleStartDate-floatClockDrift)); - fprintf('DESCENT START DATE : %s => %s\n', ... + fprintf('DESCENT START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_descentStartDate), ... julian_2_gregorian_dec_argo(o_descentStartDate-floatClockDrift)); - fprintf('FIRST STAB DATE : %s => %s\n', ... + fprintf('FIRST STAB DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_firstStabDate), ... julian_2_gregorian_dec_argo(o_firstStabDate-floatClockDrift)); - fprintf('DESCENT END DATE : %s => %s\n', ... + fprintf('DESCENT END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_descentEndDate), ... julian_2_gregorian_dec_argo(o_descentEndDate-floatClockDrift)); - fprintf('DESCENT TO PROF START DATE: %s => %s\n', ... + fprintf('DESCENT TO PROF START DATE: %s - %s\n', ... julian_2_gregorian_dec_argo(o_descentToProfStartDate), ... julian_2_gregorian_dec_argo(o_descentToProfStartDate-floatClockDrift)); - fprintf('DESCENT TO PROF END DATE : %s => %s\n', ... + fprintf('DESCENT TO PROF END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_descentToProfEndDate), ... julian_2_gregorian_dec_argo(o_descentToProfEndDate-floatClockDrift)); - fprintf('ASCENT START DATE : %s => %s\n', ... + fprintf('ASCENT START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_ascentStartDate), ... julian_2_gregorian_dec_argo(o_ascentStartDate-floatClockDrift)); - fprintf('ASCENT END DATE : %s => %s\n', ... + fprintf('ASCENT END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_ascentEndDate), ... julian_2_gregorian_dec_argo(o_ascentEndDate-floatClockDrift)); - fprintf('TRANS START DATE : %s => %s\n', ... + fprintf('TRANS START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(o_transStartDate), ... julian_2_gregorian_dec_argo(o_transStartDate-floatClockDrift)); end diff --git a/decArgo_soft/soft/sub/compute_prv_dates_ir_rudics_105_to_110_112_sbd2.m b/decArgo_soft/soft/sub/compute_prv_dates_ir_rudics_105_to_110_112_sbd2.m index 96b843a2..d5e7add7 100644 --- a/decArgo_soft/soft/sub/compute_prv_dates_ir_rudics_105_to_110_112_sbd2.m +++ b/decArgo_soft/soft/sub/compute_prv_dates_ir_rudics_105_to_110_112_sbd2.m @@ -365,37 +365,37 @@ floatClockDrift = round(a_floatClockDrift*1440)/1440; fprintf('Float #%d cycle #%d prof #%d phase %s:\n', ... g_decArgo_floatNum, a_tabTech(idP, 4), a_tabTech(idP, 5), get_phase_name(a_tabTech(idP, 8))); - fprintf('FLOAT CLOCK DRIFT : %s => %s\n', ... + fprintf('FLOAT CLOCK DRIFT : %s - %s\n', ... format_time_dec_argo(a_floatClockDrift*24), ... format_time_dec_argo(floatClockDrift*24)); - fprintf('CYCLE START DATE : %s => %s\n', ... + fprintf('CYCLE START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(cycleStartDate), ... julian_2_gregorian_dec_argo(cycleStartDate-floatClockDrift)); - fprintf('BUOY RED START DATE : %s => %s\n', ... + fprintf('BUOY RED START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(buoyancyRedStartDate), ... julian_2_gregorian_dec_argo(buoyancyRedStartDate-floatClockDrift)); - fprintf('DESCENT TO PARK START DATE : %s => %s\n', ... + fprintf('DESCENT TO PARK START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(descentToParkStartDate), ... julian_2_gregorian_dec_argo(descentToParkStartDate-floatClockDrift)); - fprintf('FIRST STAB DATE : %s => %s\n', ... + fprintf('FIRST STAB DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(firstStabDate), ... julian_2_gregorian_dec_argo(firstStabDate-floatClockDrift)); - fprintf('DESCENT TO PARK END DATE : %s => %s\n', ... + fprintf('DESCENT TO PARK END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(descentToParkEndDate), ... julian_2_gregorian_dec_argo(descentToParkEndDate-floatClockDrift)); - fprintf('DESCENT TO PROF START DATE : %s => %s\n', ... + fprintf('DESCENT TO PROF START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(descentToProfStartDate), ... julian_2_gregorian_dec_argo(descentToProfStartDate-floatClockDrift)); - fprintf('DESCENT TO PROF END DATE : %s => %s\n', ... + fprintf('DESCENT TO PROF END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(descentToProfEndDate), ... julian_2_gregorian_dec_argo(descentToProfEndDate-floatClockDrift)); - fprintf('ASCENT START DATE : %s => %s\n', ... + fprintf('ASCENT START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(ascentStartDate), ... julian_2_gregorian_dec_argo(ascentStartDate-floatClockDrift)); - fprintf('ASCENT END DATE : %s => %s\n', ... + fprintf('ASCENT END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(ascentEndDate), ... julian_2_gregorian_dec_argo(ascentEndDate-floatClockDrift)); - fprintf('TRANSMISSION START DATE : %s => %s\n', ... + fprintf('TRANSMISSION START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(transStartDate), ... julian_2_gregorian_dec_argo(transStartDate-floatClockDrift)); end diff --git a/decArgo_soft/soft/sub/compute_prv_dates_ir_rudics_111_113.m b/decArgo_soft/soft/sub/compute_prv_dates_ir_rudics_111_113.m index 0c535847..e1fba5f1 100644 --- a/decArgo_soft/soft/sub/compute_prv_dates_ir_rudics_111_113.m +++ b/decArgo_soft/soft/sub/compute_prv_dates_ir_rudics_111_113.m @@ -477,49 +477,49 @@ floatClockDrift = round(a_floatClockDrift*1440)/1440; fprintf('Float #%d cycle #%d prof #%d phase %s:\n', ... g_decArgo_floatNum, a_tabTech(idP, 4), a_tabTech(idP, 5), get_phase_name(a_tabTech(idP, 8))); - fprintf('FLOAT CLOCK DRIFT : %s => %s\n', ... + fprintf('FLOAT CLOCK DRIFT : %s - %s\n', ... format_time_dec_argo(a_floatClockDrift*24), ... format_time_dec_argo(floatClockDrift*24)); - fprintf('CYCLE START DATE : %s => %s\n', ... + fprintf('CYCLE START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(cycleStartDate), ... julian_2_gregorian_dec_argo(cycleStartDate-floatClockDrift)); - fprintf('BUOY REDUCTION START DATE : %s => %s\n', ... + fprintf('BUOY REDUCTION START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(buoyancyRedStartDate), ... julian_2_gregorian_dec_argo(buoyancyRedStartDate-floatClockDrift)); - fprintf('DESCENT TO PARK START DATE : %s => %s\n', ... + fprintf('DESCENT TO PARK START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(descentToParkStartDate), ... julian_2_gregorian_dec_argo(descentToParkStartDate-floatClockDrift)); - fprintf('FIRST STABILIZATION DATE : %s => %s\n', ... + fprintf('FIRST STABILIZATION DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(firstStabDate), ... julian_2_gregorian_dec_argo(firstStabDate-floatClockDrift)); - fprintf('DESCENT TO PARK END DATE : %s => %s\n', ... + fprintf('DESCENT TO PARK END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(descentToParkEndDate), ... julian_2_gregorian_dec_argo(descentToParkEndDate-floatClockDrift)); - fprintf('DESCENT TO PROF START DATE : %s => %s\n', ... + fprintf('DESCENT TO PROF START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(descentToProfStartDate), ... julian_2_gregorian_dec_argo(descentToProfStartDate-floatClockDrift)); - fprintf('DESCENT TO PROF END DATE : %s => %s\n', ... + fprintf('DESCENT TO PROF END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(descentToProfEndDate), ... julian_2_gregorian_dec_argo(descentToProfEndDate-floatClockDrift)); - fprintf('ASCENT START DATE : %s => %s\n', ... + fprintf('ASCENT START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(ascentStartDate), ... julian_2_gregorian_dec_argo(ascentStartDate-floatClockDrift)); - fprintf('ASCENT END DATE : %s => %s\n', ... + fprintf('ASCENT END DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(ascentEndDate), ... julian_2_gregorian_dec_argo(ascentEndDate-floatClockDrift)); - fprintf('TRANSMISSION START DATE : %s => %s\n', ... + fprintf('TRANSMISSION START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(transStartDate), ... julian_2_gregorian_dec_argo(transStartDate-floatClockDrift)); - fprintf('BUOY INVERSION START DATE : %s => %s\n', ... + fprintf('BUOY INVERSION START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(buoyancyInvStartDate), ... julian_2_gregorian_dec_argo(buoyancyInvStartDate-floatClockDrift)); - fprintf('FIRST GROUNDING START DATE : %s => %s\n', ... + fprintf('FIRST GROUNDING START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(firstGroundDate), ... julian_2_gregorian_dec_argo(firstGroundDate-floatClockDrift)); - fprintf('FIRST HANGING START DATE : %s => %s\n', ... + fprintf('FIRST HANGING START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(firstHangDate), ... julian_2_gregorian_dec_argo(firstHangDate-floatClockDrift)); - fprintf('FIRST EMERGENCY START DATE : %s => %s\n', ... + fprintf('FIRST EMERGENCY START DATE : %s - %s\n', ... julian_2_gregorian_dec_argo(firstEmergencyAscentDate), ... julian_2_gregorian_dec_argo(firstEmergencyAscentDate-floatClockDrift)); end diff --git a/decArgo_soft/soft/sub/compute_qctest_hex.m b/decArgo_soft/soft/sub/compute_qctest_hex.m index 9bf9c6f3..0c1e6eda 100644 --- a/decArgo_soft/soft/sub/compute_qctest_hex.m +++ b/decArgo_soft/soft/sub/compute_qctest_hex.m @@ -28,7 +28,7 @@ tabDec = zeros(1, 16); for idTest = 1:length(a_testNumList) if (a_testNumList(idTest) > 63) - fprintf('RTQC_ERROR: Unable to manage test numbers > 63 => test number ignored\n'); + fprintf('RTQC_ERROR: Unable to manage test numbers > 63 - test number ignored\n'); else id = floor(a_testNumList(idTest)/4) + 1; tabDec(id) = tabDec(id) + 2^(a_testNumList(idTest)-(id-1)*4); diff --git a/decArgo_soft/soft/sub/compute_rt_adjusted_param.m b/decArgo_soft/soft/sub/compute_rt_adjusted_param.m index 241fe7d5..6bd33b92 100644 --- a/decArgo_soft/soft/sub/compute_rt_adjusted_param.m +++ b/decArgo_soft/soft/sub/compute_rt_adjusted_param.m @@ -165,7 +165,7 @@ 'with DM adjustment, DOXY_ADJUSTED_ERROR is recomputed from a ' ... 'PPOX_ERROR = %g mbar.'], doAdjError); otherwise - fprintf('ERROR: Float #%d Cycle #%d%c: input CALIB_RT_ADJ_ERROR_METHOD (''%s'') of DOXY adjustment is not implemented yet => SCIENTIFIC_CALIB_COMMENT of DOXY parameter not set\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: input CALIB_RT_ADJ_ERROR_METHOD (''%s'') of DOXY adjustment is not implemented yet - SCIENTIFIC_CALIB_COMMENT of DOXY parameter not set\n', ... g_decArgo_floatNum, ... profile.outputCycleNumber, profile.direction, doAdjErrMethod); end @@ -314,7 +314,7 @@ psalValues = ctdIntData(:, 3); doxyValues = a_profile.data(:, idDoxy); else - fprintf('WARNING: Float #%d Cycle #%d%c: unable to find the associated CTD profile to adjust DOXY parameter => DOXY data cannot be adjusted\n', ... + fprintf('WARNING: Float #%d Cycle #%d%c: unable to find the associated CTD profile to adjust DOXY parameter - DOXY data cannot be adjusted\n', ... g_decArgo_floatNum, ... a_profile.outputCycleNumber, a_profile.direction); end @@ -605,14 +605,14 @@ profile = a_tabProfiles(idProf); if (profInfoCur(10) == -1) - fprintf('WARNING: Float #%d Cycle #%d%c: RMS error too large => NITRATE data cannot be adjusted\n', ... + fprintf('WARNING: Float #%d Cycle #%d%c: RMS error too large - NITRATE data cannot be adjusted\n', ... g_decArgo_floatNum, ... profile.outputCycleNumber, profile.direction); continue end if (profInfoCur(10) == -2) - fprintf('WARNING: Float #%d Cycle #%d%c: the profile is not dated => NITRATE data cannot be adjusted\n', ... + fprintf('WARNING: Float #%d Cycle #%d%c: the profile is not dated - NITRATE data cannot be adjusted\n', ... g_decArgo_floatNum, ... profile.outputCycleNumber, profile.direction); continue @@ -709,7 +709,7 @@ end end else - fprintf('WARNING: Float #%d: not enough offset to compute med_offset (%d offsets while at least %d are expected) => NITRATE data cannot be adjusted\n', ... + fprintf('WARNING: Float #%d: not enough offset to compute med_offset (%d offsets while at least %d are expected) - NITRATE data cannot be adjusted\n', ... g_decArgo_floatNum, ... length(idNoDef), NB_OFFSET_MIN); end diff --git a/decArgo_soft/soft/sub/compute_surface_derived_parameters_ir_rudics_cts5.m b/decArgo_soft/soft/sub/compute_surface_derived_parameters_ir_rudics_cts5.m index 2667fc19..7ee73d8c 100644 --- a/decArgo_soft/soft/sub/compute_surface_derived_parameters_ir_rudics_cts5.m +++ b/decArgo_soft/soft/sub/compute_surface_derived_parameters_ir_rudics_cts5.m @@ -225,7 +225,7 @@ a_surfOptode); otherwise - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d => DOXY drift measurements set to fill value\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: DOXY processing not implemented yet for decoderId #%d - DOXY drift measurements set to fill value\n', ... g_decArgo_floatNum, ... a_surfOptode.cycleNumber, ... a_surfOptode.profileNumber, ... diff --git a/decArgo_soft/soft/sub/concatenate_files.m b/decArgo_soft/soft/sub/concatenate_files.m index b43022fe..8e7c2234 100644 --- a/decArgo_soft/soft/sub/concatenate_files.m +++ b/decArgo_soft/soft/sub/concatenate_files.m @@ -73,17 +73,17 @@ if (compRes == 1) % files are identical - fprintf('DEC_INFO: Files %s and %s are identical => not concatenated\n', a_baseFile, a_newFile); + fprintf('DEC_INFO: Files %s and %s are identical - not concatenated\n', a_baseFile, a_newFile); elseif (compRes == 3) % new file contents is included in base file - fprintf('DEC_INFO: File %s includes file %s contents => not concatenated\n', a_baseFile, a_newFile); + fprintf('DEC_INFO: File %s includes file %s contents - not concatenated\n', a_baseFile, a_newFile); elseif (compRes == 4) % base file contents is included in new file - fprintf('DEC_INFO: File %s includes file %s contents => replace %s by %s\n', a_newFile, a_baseFile, a_baseFile, a_newFile); + fprintf('DEC_INFO: File %s includes file %s contents - replace %s by %s\n', a_newFile, a_baseFile, a_baseFile, a_newFile); if (copy_file(a_newFile, a_baseFile) == 0) o_ok = 0; diff --git a/decArgo_soft/soft/sub/convert_sbd_files_apex_apf11_iridium_sbd.m b/decArgo_soft/soft/sub/convert_sbd_files_apex_apf11_iridium_sbd.m index 5d226abf..dea447bb 100644 --- a/decArgo_soft/soft/sub/convert_sbd_files_apex_apf11_iridium_sbd.m +++ b/decArgo_soft/soft/sub/convert_sbd_files_apex_apf11_iridium_sbd.m @@ -79,7 +79,7 @@ % check if an existing current float file could be finalized if (~isempty(currentData)) if (currentData.nbSbdFileExpected ~= currentData.nbSbdFileUsed) - fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Incomplete file : %s => ignored\n', currentData.floatFileName{:}); + fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Incomplete file : %s - ignored\n', currentData.floatFileName{:}); else dataList = [dataList; currentData]; end @@ -109,19 +109,19 @@ % is chosen according to float date, thus the header SBD file could have % been ignored) if (isempty(prevData) && isempty(currentData)) - fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Starting with SBD with no header in file : %s => ignored\n', sbdFileName); + fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Starting with SBD with no header in file : %s - ignored\n', sbdFileName); continue end % SBD file contents transmitted twice if (~isempty(prevData) && (length(sbdData) == length(prevData)) && ~any(sbdData ~= prevData)) - fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Duplicated data in file : %s => ignored\n', sbdFileName); + fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Duplicated data in file : %s - ignored\n', sbdFileName); continue end % not needed additional SBD file if (currentData.nbSbdFileExpected == currentData.nbSbdFileUsed) - fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Useless data in file : %s => ignored\n', sbdFileName); + fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Useless data in file : %s - ignored\n', sbdFileName); continue end @@ -132,7 +132,7 @@ prevData = sbdData; else - fprintf('WARNING: convert_sbd_files_apex_apf11_iridium_sbd: Anomaly in file : %s => ignored\n', sbdFileName); + fprintf('WARNING: convert_sbd_files_apex_apf11_iridium_sbd: Anomaly in file : %s - ignored\n', sbdFileName); continue end @@ -160,7 +160,7 @@ % flush last SBD file data if (~isempty(currentData)) if (currentData.nbSbdFileExpected ~= currentData.nbSbdFileUsed) - fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Incomplete file : %s => ignored\n', currentData.floatFileName{:}); + fprintf('INFO: convert_sbd_files_apex_apf11_iridium_sbd: Incomplete file : %s - ignored\n', currentData.floatFileName{:}); else dataList = [dataList; currentData]; end diff --git a/decArgo_soft/soft/sub/convert_sbd_files_apex_iridium_sbd.m b/decArgo_soft/soft/sub/convert_sbd_files_apex_iridium_sbd.m index 9301a120..b4e1473c 100644 --- a/decArgo_soft/soft/sub/convert_sbd_files_apex_iridium_sbd.m +++ b/decArgo_soft/soft/sub/convert_sbd_files_apex_iridium_sbd.m @@ -124,7 +124,7 @@ end end - fprintf('WARNING: %d duplicates in .msg or .log files => cleared\n', nbDel); + fprintf('WARNING: %d duplicates in .msg or .log files - cleared\n', nbDel); end % generate raw .msg and .log ASCII files in the output directory diff --git a/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_121_to_123.m b/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_121_to_123.m index 7cd4b787..394f0b49 100644 --- a/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_121_to_123.m +++ b/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_121_to_123.m @@ -2,7 +2,7 @@ % Create configuration parameter lists of decoder names and NetCDF names. % % SYNTAX : -% [o_decArgoConfParamNames, o_ncConfParamNames] = create_config_param_names_ir_rudics_cts5 +% [o_decArgoConfParamNames, o_ncConfParamNames] = create_config_param_names_ir_rudics_cts5_121_to_123 % % INPUT PARAMETERS : % @@ -18,7 +18,7 @@ % RELEASES : % 02/20/2017 - RNU - creation % ------------------------------------------------------------------------------ -function [o_decArgoConfParamNames, o_ncConfParamNames] = create_config_param_names_ir_rudics_cts5 +function [o_decArgoConfParamNames, o_ncConfParamNames] = create_config_param_names_ir_rudics_cts5_121_to_123 % output parameters initialization o_decArgoConfParamNames = []; @@ -189,7 +189,7 @@ sensorNum = convert_payload_sensor_number(sensorNum); sensorNumId = find([payloadSensorList{:, 1}] == sensorNum, 1); if (isempty(sensorNumId)) - fprintf('ERROR: Float #%d: Sensor number #%d not declared in payloadSensorList of create_config_param_names_ir_rudics_cts5\n', ... + fprintf('ERROR: Float #%d: Sensor number #%d not declared in payloadSensorList of create_config_param_names_ir_rudics_cts5_121_to_123\n', ... g_decArgo_floatNum, ... sensorNum); end @@ -197,10 +197,10 @@ phaseNum = str2num(configName(posSensor+9:posSensor+10)); if (ismember(phaseNum, vpList)) paramId = paramIdListSensorVp(find(paramNumListSensorVp == paramNum, 1)); - templateName = ''; + templateName = ''; elseif (ismember(phaseNum, hpList)) paramId = paramIdListSensorHp(find(paramNumListSensorHp == paramNum, 1)); - templateName = ''; + templateName = ''; end decConfNames{end+1} = configName; idParamName = find(g_decArgo_outputNcConfParamId == paramId); diff --git a/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_124_125.m b/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_124_125.m index 030e4f6d..fe8945fa 100644 --- a/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_124_125.m +++ b/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_124_125.m @@ -200,10 +200,10 @@ phaseNum = str2num(configName(posSensor+9:posSensor+10)); if (ismember(phaseNum, vpList)) paramId = paramIdListSensorVp(find(paramNumListSensorVp == paramNum, 1)); - templateName = ''; + templateName = ''; elseif (ismember(phaseNum, hpList)) paramId = paramIdListSensorHp(find(paramNumListSensorHp == paramNum, 1)); - templateName = ''; + templateName = ''; end decConfNames{end+1} = configName; idParamName = find(g_decArgo_outputNcConfParamId == paramId); diff --git a/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_126.m b/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_126.m index 4cd96d4f..8b8b974a 100644 --- a/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_126.m +++ b/decArgo_soft/soft/sub/create_config_param_names_ir_rudics_cts5_126.m @@ -12,7 +12,7 @@ % % EXAMPLES : % -% SEE ALSO : +% SEE ALSO : % AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) % ------------------------------------------------------------------------------ % RELEASES : @@ -92,6 +92,9 @@ for idS = 1:length(apmtSensorList) paramNumList = 1:9; paramIdList = 175:183; + if (idS == 8) % = 'Uvp' + paramIdList = paramIdList + 1000; + end for idZ = 1:5 for idP = 1:length(paramNumList) decConfNames{end+1} = sprintf('CONFIG_APMT_%s%02d_P%02d', section, idS, (idZ-1)*9 + paramNumList(idP)); @@ -103,6 +106,9 @@ end paramNumList = 46; paramIdList = 184; + if (idS == 8) % = 'Uvp' + paramIdList = paramIdList + 1000; + end for idZ = 1:4 for idP = 1:length(paramNumList) decConfNames{end+1} = sprintf('CONFIG_APMT_%s%02d_P%02d', section, idS, (idZ-1) + paramNumList(idP)); @@ -114,6 +120,9 @@ end paramNumList = [50:52 60]; paramIdList = [185:187 251]; + if (idS == 8) % = 'Uvp' + paramIdList = paramIdList + 1000; + end for idP = 1:length(paramNumList) decConfNames{end+1} = sprintf('CONFIG_APMT_%s%02d_P%02d', section, idS, paramNumList(idP)); idParamName = find(g_decArgo_outputNcConfParamId == paramIdList(idP)); @@ -121,7 +130,7 @@ [{''} {apmtSensorList{idS}}]); ncConfNames{end+1} = paramName; end - if (idS == 1) + if (idS == 1) % = 'Ctd' paramNumList = [54 55]; paramIdList = [188 243]; for idP = 1:length(paramNumList) @@ -129,7 +138,7 @@ idParamName = find(g_decArgo_outputNcConfParamId == paramIdList(idP)); ncConfNames{end+1} = g_decArgo_outputNcConfParamLabel{idParamName}; end - elseif (idS == 8) + elseif (idS == 8) % = 'Uvp' paramNumList = 54; paramIdList = 252; for idZ = 1:5 @@ -137,7 +146,7 @@ decConfNames{end+1} = sprintf('CONFIG_APMT_%s%02d_P%02d', section, idS, (idZ-1) + paramNumList(idP)); idParamName = find(g_decArgo_outputNcConfParamId == paramIdList(idP)); paramName = create_param_name_ir_rudics_sbd2(g_decArgo_outputNcConfParamLabel{idParamName}, ... - [{''} {apmtSensorList{idS}} {''} {num2str(idZ)}]); + [{''} {num2str(idZ)}]); ncConfNames{end+1} = paramName; end end diff --git a/decArgo_soft/soft/sub/create_decoding_buffers_212_214_216_217_218.m b/decArgo_soft/soft/sub/create_decoding_buffers_212_214_216_217_218.m index c57c20e9..5a1cf70b 100644 --- a/decArgo_soft/soft/sub/create_decoding_buffers_212_214_216_217_218.m +++ b/decArgo_soft/soft/sub/create_decoding_buffers_212_214_216_217_218.m @@ -226,7 +226,7 @@ end % specific -if (ismember(g_decArgo_floatNum, [6902814 6903230 3901963 6903265 3901645 6903006 6901880])) +if (ismember(g_decArgo_floatNum, [6902814 6903230 3901963 6903265 3901645 6903006 6901880 6902957])) switch g_decArgo_floatNum case 6903230 % packet type 0 4 5 transmitted after data packets @@ -292,6 +292,14 @@ id = find((tabCyNum == 40) & (tabPackType == 0), 1); tabSession(id:end) = tabSession(id:end) - 1; tabBase(id) = 0; + case 6902957 + % packet type 0 4 5 transmitted after data packets + id = find(tabCyNum == 119); + tabSession(id) = max(tabSession(id)); + tabBase(id) = 0; + id = find(tabCyNum == 121); + tabSession(id) = max(tabSession(id)); + tabBase(id) = 0; end end @@ -523,7 +531,7 @@ piDecStr = ''; if (tabGo(idRankCy) == 2) - piDecStr = ' => DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; + piDecStr = ' - DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; end fprintf('BUFF_INFO: Float #%d Cycle #%3d : %3d SBD - %s - %s - %s%s%s\n', ... diff --git a/decArgo_soft/soft/sub/create_decoding_buffers_221.m b/decArgo_soft/soft/sub/create_decoding_buffers_221.m index 03f6cb3c..959cd309 100644 --- a/decArgo_soft/soft/sub/create_decoding_buffers_221.m +++ b/decArgo_soft/soft/sub/create_decoding_buffers_221.m @@ -130,7 +130,7 @@ end if (optodeActivatedFlag == -1) - fprintf('WARNING: Float #%d: unable to find if the optode is activated during cycle #%d => set to ''yes''\n', ... + fprintf('WARNING: Float #%d: unable to find if the optode is activated during cycle #%d - set to ''yes''\n', ... g_decArgo_floatNum, ... cyNum); nbMeasPerPacket = 7; @@ -473,7 +473,7 @@ piDecStr = ''; if (tabGo(idRankCy) == 2) - piDecStr = ' => DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; + piDecStr = ' - DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; end fprintf('BUFF_INFO: Float #%d Cycle #%3d : %3d SBD - %s - %s - %s%s%s\n', ... diff --git a/decArgo_soft/soft/sub/create_decoding_buffers_222_223.m b/decArgo_soft/soft/sub/create_decoding_buffers_222_223.m index a5fe9e2f..4f75e639 100644 --- a/decArgo_soft/soft/sub/create_decoding_buffers_222_223.m +++ b/decArgo_soft/soft/sub/create_decoding_buffers_222_223.m @@ -409,7 +409,7 @@ piDecStr = ''; if (tabGo(idRankCy) == 2) - piDecStr = ' => DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; + piDecStr = ' - DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; end fprintf('BUFF_INFO: Float #%d Cycle #%3d : %3d SBD - %s - %s - %s%s%s\n', ... diff --git a/decArgo_soft/soft/sub/create_decoding_buffers_arvor_c.m b/decArgo_soft/soft/sub/create_decoding_buffers_arvor_c.m index 0c0b2949..038600d8 100644 --- a/decArgo_soft/soft/sub/create_decoding_buffers_arvor_c.m +++ b/decArgo_soft/soft/sub/create_decoding_buffers_arvor_c.m @@ -168,9 +168,9 @@ piDecStr = ''; if (tabGo(idCy) == 2) - piDecStr = ' => DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; + piDecStr = ' - DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; elseif (tabGo(idCy) == 3) - piDecStr = ' => DECODED (TOO OLD)'; + piDecStr = ' - DECODED (TOO OLD)'; end fprintf('BUFF_INFO: Float #%d Cycle #%3d : %3d SBD - %s - %s%s\n', ... diff --git a/decArgo_soft/soft/sub/create_decoding_buffers_cts4.m b/decArgo_soft/soft/sub/create_decoding_buffers_cts4.m index 95b2c350..56e1c0d1 100644 --- a/decArgo_soft/soft/sub/create_decoding_buffers_cts4.m +++ b/decArgo_soft/soft/sub/create_decoding_buffers_cts4.m @@ -535,7 +535,7 @@ piDecStr = ''; if (tabGo(idRankCy) == 2) - piDecStr = ' => DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; + piDecStr = ' - DECODED WITH ''PROCESS_REMAINING_BUFFERS'' FLAG'; end fprintf('BUFF_INFO: Float #%d Cycle #%3d: FloatCy #%3d FloatProf #%2d: %4d SBD - %s - %s - %s%s%s\n', ... diff --git a/decArgo_soft/soft/sub/create_float_config_apx_argos.m b/decArgo_soft/soft/sub/create_float_config_apx_argos.m index 3214af71..5d4c17c4 100644 --- a/decArgo_soft/soft/sub/create_float_config_apx_argos.m +++ b/decArgo_soft/soft/sub/create_float_config_apx_argos.m @@ -113,7 +113,7 @@ function create_float_config_apx_argos(a_decMetaData, a_decoderId) dataStruct.techParamId, 1, dataStruct.techParamValue, dataStruct.techParamCode); end - fprintf('WARNING: Float #%d: Meta-data ''%s'': decoder value (''%s'') and configuration value (''%s'') differ => BDD contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: Meta-data ''%s'': decoder value (''%s'') and configuration value (''%s'') differ - BDD contents should be updated (see %s)\n', ... g_decArgo_floatNum, ... dataStruct.metaConfigLabel, ... dataStruct.techParamValue, ... @@ -161,7 +161,7 @@ function create_float_config_apx_argos(a_decMetaData, a_decoderId) g_decArgo_floatNum, ... dataStruct.techParamId, idF, dataStruct.techParamValue, dataStruct.techParamCode); - fprintf('WARNING: Float #%d: Meta-data ''%s.%s'': decoder value (''%s'') and configuration value (''%s'') differ => BDD contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: Meta-data ''%s.%s'': decoder value (''%s'') and configuration value (''%s'') differ - BDD contents should be updated (see %s)\n', ... g_decArgo_floatNum, ... dataStruct.metaConfigLabel, ... fieldNames{idF}, ... @@ -216,7 +216,7 @@ function create_float_config_apx_argos(a_decMetaData, a_decoderId) g_decArgo_floatNum, ... dataStruct.techParamId, idF, dataStruct.techParamValue, 'SENSOR_SERIAL_NO'); - fprintf('WARNING: Float #%d: Meta-data ''%s.%s'': decoder value (''%s'') and configuration value (''%s'') differ => BDD contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: Meta-data ''%s.%s'': decoder value (''%s'') and configuration value (''%s'') differ - BDD contents should be updated (see %s)\n', ... g_decArgo_floatNum, ... dataStruct.metaConfigLabel, ... fieldNames{idF}, ... @@ -275,7 +275,7 @@ function create_float_config_apx_argos(a_decMetaData, a_decoderId) dataStruct.techParamId, 1, dataStruct.techParamValue, dataStruct.techParamCode); end - fprintf('WARNING: Float #%d: Meta-data ''%s'': decoder value (''%s'') and configuration value (''%s'') differ => BDD contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: Meta-data ''%s'': decoder value (''%s'') and configuration value (''%s'') differ - BDD contents should be updated (see %s)\n', ... g_decArgo_floatNum, ... dataStruct.metaConfigLabel, ... dataStruct.techParamValue, ... @@ -369,7 +369,7 @@ function create_float_config_apx_argos(a_decMetaData, a_decoderId) dataStruct.techParamId, 1, dataStruct.techParamValue, dataStruct.techParamCode); end - fprintf('WARNING: Float #%d: Configuration ''%s'': decoder value (''%s'') and configuration value (''%s'') differ => BDD contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: Configuration ''%s'': decoder value (''%s'') and configuration value (''%s'') differ - BDD contents should be updated (see %s)\n', ... g_decArgo_floatNum, ... dataStruct.metaConfigLabel, ... dataStruct.value, ... @@ -403,7 +403,7 @@ function create_float_config_apx_argos(a_decMetaData, a_decoderId) % is it a DPF float ? idDPF = find(strcmp(configNames, 'CONFIG_DPF_DeepProfileFirstFloat')); if (isnan(configValues(idDPF))) - fprintf('ERROR: Float #%d: Configuration parameter ''%s'' is mandatory => temporarily set to 0 for this run\n', ... + fprintf('ERROR: Float #%d: Configuration parameter ''%s'' is mandatory - temporarily set to 0 for this run\n', ... g_decArgo_floatNum, 'CONFIG_DPF_DeepProfileFirstFloat'); configValues(idDPF) = 0; end @@ -427,7 +427,7 @@ function create_float_config_apx_argos(a_decMetaData, a_decoderId) idN = find(strcmp(configNames, 'CONFIG_N_ParkAndProfileCycleLength')); if (isnan(configValues(idN))) if (isempty(a_decMetaData)) - fprintf('ERROR: Float #%d: Configuration parameter ''%s'' is mandatory => temporarily set to 1 for this run\n', ... + fprintf('ERROR: Float #%d: Configuration parameter ''%s'' is mandatory - temporarily set to 1 for this run\n', ... g_decArgo_floatNum, 'CONFIG_N_ParkAndProfileCycleLength'); end configValues(idN) = 1; diff --git a/decArgo_soft/soft/sub/create_float_config_apx_ir.m b/decArgo_soft/soft/sub/create_float_config_apx_ir.m index 4f1bd5c6..9a6529bb 100644 --- a/decArgo_soft/soft/sub/create_float_config_apx_ir.m +++ b/decArgo_soft/soft/sub/create_float_config_apx_ir.m @@ -144,7 +144,7 @@ function create_float_config_apx_ir(a_configInfoLog, a_configInfoMsg, a_decoderI jsonValue = jsonMetaData.(inputMetaNames{idMeta}); if (~strcmp(jsonValue, inputMetaValues{idMeta})) bddInfo = get_bdd_info(inputMetaNames{idMeta}); - fprintf('WARNING: Float #%d Cycle #%d: Meta-data ''%s'': BDD (''%s'') value (''%s'') and decoded value (''%s'') differ => BDD contents should be updated\n', ... + fprintf('WARNING: Float #%d Cycle #%d: Meta-data ''%s'': BDD (''%s'') value (''%s'') and decoded value (''%s'') differ - BDD contents should be updated\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... inputMetaNames{idMeta}, ... @@ -206,7 +206,7 @@ function create_float_config_apx_ir(a_configInfoLog, a_configInfoMsg, a_decoderI inputConfValueStr = num2str(inputConfValues(idConf)); if (~strcmp(inputConfValueStr, jsonMetaData.CONFIG_PARAMETER_VALUE.(jsonConfFieldValues{idF}))) bddInfo = get_bdd_info(inputConfNames{idConf}); - fprintf('WARNING: Float #%d Cycle #%d: Config param ''%s'': BDD (''%s'') value (''%s'') and decoded value (''%s'') differ => BDD contents should be updated\n', ... + fprintf('WARNING: Float #%d Cycle #%d: Config param ''%s'': BDD (''%s'') value (''%s'') and decoded value (''%s'') differ - BDD contents should be updated\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... inputConfNames{idConf}, ... @@ -315,7 +315,7 @@ function create_float_config_apx_ir(a_configInfoLog, a_configInfoMsg, a_decoderI % is it a DPF float ? idF = find(strcmp(configNames, 'CONFIG_DPF_DeepProfileFirstFloat')); if (isnan(configValues(idF))) - fprintf('ERROR: Float #%d Cycle #%d: Configuration parameter ''%s'' is mandatory => temporarily set to 1 for this run\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Configuration parameter ''%s'' is mandatory - temporarily set to 1 for this run\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... 'CONFIG_DPF_DeepProfileFirstFloat'); @@ -358,13 +358,13 @@ function create_float_config_apx_ir(a_configInfoLog, a_configInfoMsg, a_decoderI idFL = find(strcmp(g_decArgo_floatConfig.NAMES, 'CONFIG_N_ParkAndProfileCycleLength')); prevConfVal = g_decArgo_floatConfig.VALUES(idFL, confNum+1); if (~isnan(prevConfVal)) - fprintf('WARNNG: Float #%d Cycle #%d: Configuration parameter ''%s'' is mandatory => set to previous value: %d\n', ... + fprintf('WARNNG: Float #%d Cycle #%d: Configuration parameter ''%s'' is mandatory - set to previous value: %d\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... 'CONFIG_N_ParkAndProfileCycleLength', prevConfVal); configValues(idF) = prevConfVal; else - fprintf('WARNNG: Float #%d Cycle #%d: Configuration parameter ''%s'' is mandatory => temporarily set to 1\n', ... + fprintf('WARNNG: Float #%d Cycle #%d: Configuration parameter ''%s'' is mandatory - temporarily set to 1\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... 'CONFIG_N_ParkAndProfileCycleLength'); diff --git a/decArgo_soft/soft/sub/create_float_config_argos.m b/decArgo_soft/soft/sub/create_float_config_argos.m index 76ad3eff..344581b5 100644 --- a/decArgo_soft/soft/sub/create_float_config_argos.m +++ b/decArgo_soft/soft/sub/create_float_config_argos.m @@ -176,7 +176,7 @@ function create_float_config_argos(a_floatParam, a_decoderId) ctdPumpSwitchOffPres = configValues(idPosTc18); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/create_nc_meta_file_3_1.m b/decArgo_soft/soft/sub/create_nc_meta_file_3_1.m index ef047b6b..3c303912 100644 --- a/decArgo_soft/soft/sub/create_nc_meta_file_3_1.m +++ b/decArgo_soft/soft/sub/create_nc_meta_file_3_1.m @@ -2441,7 +2441,7 @@ function create_nc_meta_file_3_1(a_decoderId, a_structConfig) % for id = nbSensor+1:length(fNames) % metaData.(fieldName) = rmfield(metaData.(fieldName), fNames{id}); % end - % fprintf('INFO: %s file generation: too many fields for the %s structure in the Json meta-data file => considering only the %d first ones\n', ... + % fprintf('INFO: %s file generation: too many fields for the %s structure in the Json meta-data file - considering only the %d first ones\n', ... % ncFileName, fieldName, nbSensor); % end % end @@ -2454,7 +2454,7 @@ function create_nc_meta_file_3_1(a_decoderId, a_structConfig) % for id = nbParam+1:length(fNames) % metaData.(fieldName) = rmfield(metaData.(fieldName), fNames{id}); % end - % fprintf('INFO: %s file generation: too many fields for the %s structure in the Json meta-data file => considering only the %d first ones\n', ... + % fprintf('INFO: %s file generation: too many fields for the %s structure in the Json meta-data file - considering only the %d first ones\n', ... % ncFileName, fieldName, nbParam); % end % end diff --git a/decArgo_soft/soft/sub/create_nc_mono_prof_aux_files.m b/decArgo_soft/soft/sub/create_nc_mono_prof_aux_files.m index ad2b565b..558bfb1c 100644 --- a/decArgo_soft/soft/sub/create_nc_mono_prof_aux_files.m +++ b/decArgo_soft/soft/sub/create_nc_mono_prof_aux_files.m @@ -251,7 +251,7 @@ function create_nc_mono_prof_aux_files( ... if (g_decArgo_realtimeFlag == 1) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: no strategy to generate or not profile NetCDF files => generating all profile fles\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: no strategy to generate or not profile NetCDF files - generating all profile fles\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber); end end @@ -957,7 +957,7 @@ function create_nc_mono_prof_aux_files( ... valueStr = parameterList(idParam).name; if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end @@ -1031,7 +1031,7 @@ function create_nc_mono_prof_aux_files( ... netcdf.putVar(fCdf, historyDateVarId, ... fliplr([0 0 0]), fliplr([size(histoDate, 3) size(histoDate, 2) size(histoDate, 1)]), histoDate); else - fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file => history information not copied when updating file %s\n', ... + fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file - history information not copied when updating file %s\n', ... g_decArgo_floatNum, size(histoInstitution, 2), nbProfInFile, ncPathFileName); end end @@ -1092,7 +1092,7 @@ function create_nc_mono_prof_aux_files( ... % vertical sampling scheme vertSampScheme = prof.vertSamplingScheme; if (length(vertSampScheme) > verticalSamplingSchemeLength) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) => vertical sampling scheme ''%s'' truncated to ''%s''\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) - vertical sampling scheme ''%s'' truncated to ''%s''\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... length(vertSampScheme), verticalSamplingSchemeLength, ... vertSampScheme, ... diff --git a/decArgo_soft/soft/sub/create_nc_mono_prof_b_files_3_1.m b/decArgo_soft/soft/sub/create_nc_mono_prof_b_files_3_1.m index d42122ed..365ec668 100644 --- a/decArgo_soft/soft/sub/create_nc_mono_prof_b_files_3_1.m +++ b/decArgo_soft/soft/sub/create_nc_mono_prof_b_files_3_1.m @@ -149,7 +149,7 @@ function create_nc_mono_prof_b_files_3_1( ... cyNum, direction, ... tabProfiles, a_decoderId); - fprintf('DEC_INFO: Float #%d Output Cycle #%d ''%c'': no primary sampling profile => adding a ''default'' one\n', ... + fprintf('DEC_INFO: Float #%d Output Cycle #%d ''%c'': no primary sampling profile - adding a ''default'' one\n', ... g_decArgo_floatNum, cyNum, defaultPrimaryProfile.direction); % add it to the profiles to process @@ -361,7 +361,7 @@ function create_nc_mono_prof_b_files_3_1( ... if (g_decArgo_realtimeFlag == 1) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: no strategy to generate or not profile NetCDF files => generating all profile fles\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: no strategy to generate or not profile NetCDF files - generating all profile fles\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber); end end @@ -1135,7 +1135,7 @@ function create_nc_mono_prof_b_files_3_1( ... valueStr = parameterList(idParam).name; if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end @@ -1209,7 +1209,7 @@ function create_nc_mono_prof_b_files_3_1( ... netcdf.putVar(fCdf, historyDateVarId, ... fliplr([0 0 0]), fliplr([size(histoDate, 3) size(histoDate, 2) size(histoDate, 1)]), histoDate); else - fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file => history information not copied when updating file %s\n', ... + fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file - history information not copied when updating file %s\n', ... g_decArgo_floatNum, size(histoInstitution, 2), nbProfInFile, ncPathFileName); end end @@ -1289,7 +1289,7 @@ function create_nc_mono_prof_b_files_3_1( ... % vertical sampling scheme vertSampScheme = prof.vertSamplingScheme; if (length(vertSampScheme) > verticalSamplingSchemeLength) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) => vertical sampling scheme ''%s'' truncated to ''%s''\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) - vertical sampling scheme ''%s'' truncated to ''%s''\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... length(vertSampScheme), verticalSamplingSchemeLength, ... vertSampScheme, ... @@ -1401,7 +1401,7 @@ function create_nc_mono_prof_b_files_3_1( ... dbAdjustedParamIdList = [dbAdjustedParamIdList idPosParam-1]; dbAdjustedParamNameList = [dbAdjustedParamNameList {profParamName}]; else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... profParamName, idP); end @@ -1432,7 +1432,7 @@ function create_nc_mono_prof_b_files_3_1( ... decAdjustedParamNameList = [decAdjustedParamNameList {profParamName}]; end else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... profParamName, idP); end @@ -1543,7 +1543,7 @@ function create_nc_mono_prof_b_files_3_1( ... dbAdjustedParamIdList = [dbAdjustedParamIdList idPosParam-1]; dbAdjustedParamNameList = [dbAdjustedParamNameList {profParamName}]; else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... profParamName, idP); end @@ -1574,7 +1574,7 @@ function create_nc_mono_prof_b_files_3_1( ... decAdjustedParamNameList = [decAdjustedParamNameList {profParamName}]; end else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... profParamName, idP); end @@ -1621,7 +1621,7 @@ function create_nc_mono_prof_b_files_3_1( ... dbAdjustedParamIdList = [dbAdjustedParamIdList idPosParam-1]; dbAdjustedParamNameList = [dbAdjustedParamNameList {profParamName}]; else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... profParamName, idP); end @@ -1656,7 +1656,7 @@ function create_nc_mono_prof_b_files_3_1( ... decAdjustedParamNameList = [decAdjustedParamNameList {profParamName}]; end else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d Output Cycle #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... profParamName, idP); end diff --git a/decArgo_soft/soft/sub/create_nc_mono_prof_c_files_3_1.m b/decArgo_soft/soft/sub/create_nc_mono_prof_c_files_3_1.m index 0dba352d..f93742f0 100644 --- a/decArgo_soft/soft/sub/create_nc_mono_prof_c_files_3_1.m +++ b/decArgo_soft/soft/sub/create_nc_mono_prof_c_files_3_1.m @@ -137,7 +137,7 @@ function create_nc_mono_prof_c_files_3_1( ... cyNum, direction, ... tabProfiles, a_decoderId); - fprintf('DEC_INFO: Float #%d Output Cycle #%d ''%c'': no primary sampling profile => adding a ''default'' one\n', ... + fprintf('DEC_INFO: Float #%d Output Cycle #%d ''%c'': no primary sampling profile - adding a ''default'' one\n', ... g_decArgo_floatNum, cyNum, defaultPrimaryProfile.direction); % add it to the profiles to process @@ -307,7 +307,7 @@ function create_nc_mono_prof_c_files_3_1( ... if (g_decArgo_realtimeFlag == 1) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: no strategy to generate or not profile NetCDF files => generating all profile fles\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: no strategy to generate or not profile NetCDF files - generating all profile fles\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber); end end @@ -979,7 +979,7 @@ function create_nc_mono_prof_c_files_3_1( ... valueStr = parameterList(idParam).name; if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end @@ -1063,7 +1063,7 @@ function create_nc_mono_prof_c_files_3_1( ... netcdf.putVar(fCdf, historyDateVarId, ... fliplr([0 0 0]), fliplr([size(histoDate, 3) size(histoDate, 2) size(histoDate, 1)]), histoDate); else - fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file => history information not copied when updating file %s\n', ... + fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file - history information not copied when updating file %s\n', ... g_decArgo_floatNum, size(histoInstitution, 2), nbProfInFile, ncPathFileName); end end @@ -1122,7 +1122,7 @@ function create_nc_mono_prof_c_files_3_1( ... % vertical sampling scheme vertSampScheme = prof.vertSamplingScheme; if (length(vertSampScheme) > verticalSamplingSchemeLength) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) => vertical sampling scheme ''%s'' truncated to ''%s''\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) - vertical sampling scheme ''%s'' truncated to ''%s''\n', ... g_decArgo_floatNum, cycleNumber, profileNumber, outputCycleNumber, ... length(vertSampScheme), verticalSamplingSchemeLength, ... vertSampScheme, ... diff --git a/decArgo_soft/soft/sub/create_nc_multi_prof_b_file_3_1.m b/decArgo_soft/soft/sub/create_nc_multi_prof_b_file_3_1.m index ee9c110c..d8afb4d7 100644 --- a/decArgo_soft/soft/sub/create_nc_multi_prof_b_file_3_1.m +++ b/decArgo_soft/soft/sub/create_nc_multi_prof_b_file_3_1.m @@ -833,7 +833,7 @@ function create_nc_multi_prof_b_file_3_1( ... valueStr = parameterList(idParam).name; if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end @@ -905,7 +905,7 @@ function create_nc_multi_prof_b_file_3_1( ... netcdf.putVar(fCdf, historyDateVarId, ... fliplr([0 0 0]), fliplr([size(histoDate, 3) size(histoDate, 2) size(histoDate, 1)]), histoDate); else - fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file => history information not copied when updating file %s\n', ... + fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file - history information not copied when updating file %s\n', ... g_decArgo_floatNum, size(histoInstitution, 2), nbProfInFile, ncPathFileName); end end @@ -988,7 +988,7 @@ function create_nc_multi_prof_b_file_3_1( ... % vertical sampling scheme vertSampScheme = prof.vertSamplingScheme; if (length(vertSampScheme) > verticalSamplingSchemeLength) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) => vertical sampling scheme ''%s'' truncated to ''%s''\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) - vertical sampling scheme ''%s'' truncated to ''%s''\n', ... g_decArgo_floatNum, prof.cycleNumber, prof.profileNumber, prof.outputCycleNumber, ... length(vertSampScheme), verticalSamplingSchemeLength, ... vertSampScheme, ... @@ -1098,7 +1098,7 @@ function create_nc_multi_prof_b_file_3_1( ... dbAdjustedParamIdList = [dbAdjustedParamIdList idPosParam-1]; dbAdjustedParamNameList = [dbAdjustedParamNameList {profParamName}]; else - fprintf('ERROR: Float #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, ... profParamName, idP); end @@ -1129,7 +1129,7 @@ function create_nc_multi_prof_b_file_3_1( ... decAdjustedParamNameList = [decAdjustedParamNameList {profParamName}]; end else - fprintf('ERROR: Float #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, ... profParamName, idP); end @@ -1239,7 +1239,7 @@ function create_nc_multi_prof_b_file_3_1( ... dbAdjustedParamIdList = [dbAdjustedParamIdList idPosParam-1]; dbAdjustedParamNameList = [dbAdjustedParamNameList {profParamName}]; else - fprintf('ERROR: Float #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, ... profParamName, idP); end @@ -1278,7 +1278,7 @@ function create_nc_multi_prof_b_file_3_1( ... decAdjustedParamNameList = [decAdjustedParamNameList {profParamName}]; end else - fprintf('ERROR: Float #%d: unable to get idPosParam for ''%s'' parameter in profile #%d => SCIENTIFIC_CALIB_* not set\n', ... + fprintf('ERROR: Float #%d: unable to get idPosParam for ''%s'' parameter in profile #%d - SCIENTIFIC_CALIB_* not set\n', ... g_decArgo_floatNum, ... profParamName, idP); end diff --git a/decArgo_soft/soft/sub/create_nc_multi_prof_c_file_3_1.m b/decArgo_soft/soft/sub/create_nc_multi_prof_c_file_3_1.m index 71a376c8..f6e0dde6 100644 --- a/decArgo_soft/soft/sub/create_nc_multi_prof_c_file_3_1.m +++ b/decArgo_soft/soft/sub/create_nc_multi_prof_c_file_3_1.m @@ -788,7 +788,7 @@ function create_nc_multi_prof_c_file_3_1( ... netcdf.putVar(fCdf, historyDateVarId, ... fliplr([0 0 0]), fliplr([size(histoDate, 3) size(histoDate, 2) size(histoDate, 1)]), histoDate); else - fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file => history information not copied when updating file %s\n', ... + fprintf('WARNING: Float #%d : N_PROF=%d in existing file, N_PROF=%d in updated file - history information not copied when updating file %s\n', ... g_decArgo_floatNum, size(histoInstitution, 2), nbProfInFile, ncPathFileName); end end @@ -850,7 +850,7 @@ function create_nc_multi_prof_c_file_3_1( ... % vertical sampling scheme vertSampScheme = prof.vertSamplingScheme; if (length(vertSampScheme) > verticalSamplingSchemeLength) - fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) => vertical sampling scheme ''%s'' truncated to ''%s''\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d Output Cycle #%d: vertical sampling scheme too long (length = %d > %d) - vertical sampling scheme ''%s'' truncated to ''%s''\n', ... g_decArgo_floatNum, prof.cycleNumber, prof.profileNumber, prof.outputCycleNumber, ... length(vertSampScheme), verticalSamplingSchemeLength, ... vertSampScheme, ... diff --git a/decArgo_soft/soft/sub/create_nc_tech_aux_file.m b/decArgo_soft/soft/sub/create_nc_tech_aux_file.m index c5655cc9..86575683 100644 --- a/decArgo_soft/soft/sub/create_nc_tech_aux_file.m +++ b/decArgo_soft/soft/sub/create_nc_tech_aux_file.m @@ -437,7 +437,7 @@ function create_nc_tech_aux_file(a_decoderId, ... valueStr = measUniqueParamName{idParam}; if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end diff --git a/decArgo_soft/soft/sub/create_nc_traj_aux_file.m b/decArgo_soft/soft/sub/create_nc_traj_aux_file.m index d093d051..390143af 100644 --- a/decArgo_soft/soft/sub/create_nc_traj_aux_file.m +++ b/decArgo_soft/soft/sub/create_nc_traj_aux_file.m @@ -819,7 +819,7 @@ function create_nc_traj_aux_file( ... valueStr = char(measUniqueParamName(idParam)); if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end @@ -873,7 +873,7 @@ function create_nc_traj_aux_file( ... netcdf.putVar(fCdf, historyDateVarId, ... fliplr([0 0]), fliplr([size(histoDate, 2) size(histoDate, 1)]), histoDate); else - fprintf('WARNING: Float #%d : N_CYCLE=%d in existing file, N_CYCLE=%d in updated file => history information not copied when updating file %s\n', ... + fprintf('WARNING: Float #%d : N_CYCLE=%d in existing file, N_CYCLE=%d in updated file - history information not copied when updating file %s\n', ... g_decArgo_floatNum, length(ncDataMode), length(cycles), ncPathFileName); end end diff --git a/decArgo_soft/soft/sub/create_nc_traj_b_file_3_1.m b/decArgo_soft/soft/sub/create_nc_traj_b_file_3_1.m index f3174249..bf329905 100644 --- a/decArgo_soft/soft/sub/create_nc_traj_b_file_3_1.m +++ b/decArgo_soft/soft/sub/create_nc_traj_b_file_3_1.m @@ -894,7 +894,7 @@ function create_nc_traj_b_file_3_1( ... valueStr = char(measUniqueParamName(idParam)); if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end @@ -951,7 +951,7 @@ function create_nc_traj_b_file_3_1( ... netcdf.putVar(fCdf, historyDateVarId, ... fliplr([0 0]), fliplr([size(histoDate, 2) size(histoDate, 1)]), histoDate); else - fprintf('WARNING: Float #%d : N_CYCLE=%d in existing file, N_CYCLE=%d in updated file => history information not copied when updating file %s\n', ... + fprintf('WARNING: Float #%d : N_CYCLE=%d in existing file, N_CYCLE=%d in updated file - history information not copied when updating file %s\n', ... g_decArgo_floatNum, length(ncDataMode), length(cycles), ncPathFileName); end end diff --git a/decArgo_soft/soft/sub/create_nc_traj_c_file_3_1.m b/decArgo_soft/soft/sub/create_nc_traj_c_file_3_1.m index b240ef98..22143043 100644 --- a/decArgo_soft/soft/sub/create_nc_traj_c_file_3_1.m +++ b/decArgo_soft/soft/sub/create_nc_traj_c_file_3_1.m @@ -1282,7 +1282,7 @@ function create_nc_traj_c_file_3_1( ... valueStr = measUniqueParamName{idParam}; if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end @@ -1296,7 +1296,7 @@ function create_nc_traj_c_file_3_1( ... valueStr = measAddParamName{idParam}; if (length(valueStr) > paramNameLength) - fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) => name truncated\n', ... + fprintf('ERROR: Float #%d : NetCDF variable name %s too long (> %d) - name truncated\n', ... g_decArgo_floatNum, valueStr, paramNameLength); valueStr = valueStr(1:paramNameLength); end @@ -1353,7 +1353,7 @@ function create_nc_traj_c_file_3_1( ... netcdf.putVar(fCdf, historyDateVarId, ... fliplr([0 0]), fliplr([size(histoDate, 2) size(histoDate, 1)]), histoDate); else - fprintf('WARNING: Float #%d : N_CYCLE=%d in existing file, N_CYCLE=%d in updated file => history information not copied when updating file %s\n', ... + fprintf('WARNING: Float #%d : N_CYCLE=%d in existing file, N_CYCLE=%d in updated file - history information not copied when updating file %s\n', ... g_decArgo_floatNum, length(ncDataMode), length(cycles), ncPathFileName); end end diff --git a/decArgo_soft/soft/sub/create_output_float_config_apx_ir.m b/decArgo_soft/soft/sub/create_output_float_config_apx_ir.m index af01aabf..f782d932 100644 --- a/decArgo_soft/soft/sub/create_output_float_config_apx_ir.m +++ b/decArgo_soft/soft/sub/create_output_float_config_apx_ir.m @@ -81,8 +81,8 @@ {'PT'} {'Ctd'}; ... {'PTS'} {'Ctd'}; ... {'CTD'} {'Ctd'}; ... - {'PTSH'} {'Ph'}; ... - {'PH'} {'Ph'}; ... + {'PTSH'} {'Sfet'}; ... + {'PH'} {'Sfet'}; ... {'OPT'} {'Optode'}; ... {'FLBB'} {'Eco'}; ... {'IRAD'} {'Ocr'}; ... @@ -141,25 +141,25 @@ idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE01') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {sensorNameOut} ... - {''} {phaseName}]); + {''} {phaseName}]); case 'StartPressure' idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE02') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {sensorNameOut} ... - {''} {phaseName} ... + {''} {phaseName} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); case 'StopPressure' idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE03') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {sensorNameOut} ... - {''} {phaseName} ... + {''} {phaseName} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); case 'DepthInterval' if (~any(finalConfigValue(idConfParam, :) == 0)) idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE04') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {sensorNameOut} ... - {''} {phaseName} ... + {''} {phaseName} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); else % retrieve CONFIG_ATI_AscentTimerInterval information @@ -168,14 +168,14 @@ idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE05') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {sensorNameOut} ... - {''} {phaseName} ... + {''} {phaseName} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); end case 'NumberOfSamples' idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE06') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {sensorNameOut} ... - {''} {phaseName} ... + {''} {phaseName} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); otherwise fprintf('WARNING: Float #%d: Configuration parameter (*%s) not managed yet for decoderId #%d\n', ... diff --git a/decArgo_soft/soft/sub/create_output_float_config_argos.m b/decArgo_soft/soft/sub/create_output_float_config_argos.m index b76812fd..594fcd12 100644 --- a/decArgo_soft/soft/sub/create_output_float_config_argos.m +++ b/decArgo_soft/soft/sub/create_output_float_config_argos.m @@ -74,25 +74,25 @@ idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE01') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {'Ctd'} ... - {''} {'AscentPhase'}]); + {''} {'AscentPhase'}]); case 'StartPressure' idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE02') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {'Ctd'} ... - {''} {'AscentPhase'} ... + {''} {'AscentPhase'} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); case 'StopPressure' idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE03') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {'Ctd'} ... - {''} {'AscentPhase'} ... + {''} {'AscentPhase'} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); case 'DepthInterval' if (~any(finalConfigValue(idConfParam, :) == 0)) idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE04') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {'Ctd'} ... - {''} {'AscentPhase'} ... + {''} {'AscentPhase'} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); else % retrieve CONFIG_ATI_AscentTimerInterval information @@ -101,14 +101,14 @@ idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE05') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {'Ctd'} ... - {''} {'AscentPhase'} ... + {''} {'AscentPhase'} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); end case 'NumberOfSamples' idF2 = find(strcmp(a_decArgoConfParamNames, 'CONFIG_SAMPLE06') == 1); finalConfigName{idConfParam} = create_param_name_ir_rudics_sbd2(a_ncConfParamNames{idF2}, ... [{''} {'Ctd'} ... - {''} {'AscentPhase'} ... + {''} {'AscentPhase'} ... {''} {num2str(finalConfigName{idConfParam}(idFUs(4)+1:idFUs(5)-1))}]); otherwise fprintf('WARNING: Float #%d: Configuration parameter (*%s) not managed yet for decoderId #%d\n', ... diff --git a/decArgo_soft/soft/sub/create_output_float_config_ir_rudics_cts4_105_to_110_112.m b/decArgo_soft/soft/sub/create_output_float_config_ir_rudics_cts4_105_to_110_112.m index 11ad09f2..d741f301 100644 --- a/decArgo_soft/soft/sub/create_output_float_config_ir_rudics_cts4_105_to_110_112.m +++ b/decArgo_soft/soft/sub/create_output_float_config_ir_rudics_cts4_105_to_110_112.m @@ -62,7 +62,7 @@ (inputUsedProf(idC) == finalProfNum)); if (inputUsedCyOut(idC) ~= -1) if (inputUsedCyOut(idC) ~= idF) - fprintf('ERROR: Float #%d: Inconsistency (output cycle number already set (to %d)) => set to %d\n', ... + fprintf('ERROR: Float #%d: Inconsistency (output cycle number already set (to %d)) - set to %d\n', ... g_decArgo_floatNum, ... inputUsedCyOut(idC), ... idF); diff --git a/decArgo_soft/soft/sub/create_output_float_config_ir_rudics_cts4_111_113.m b/decArgo_soft/soft/sub/create_output_float_config_ir_rudics_cts4_111_113.m index c8cebfa5..426caaba 100644 --- a/decArgo_soft/soft/sub/create_output_float_config_ir_rudics_cts4_111_113.m +++ b/decArgo_soft/soft/sub/create_output_float_config_ir_rudics_cts4_111_113.m @@ -64,7 +64,7 @@ (inputUsedProf(idC) == finalProfNum)); if (inputUsedCyOut(idC) ~= -1) if (inputUsedCyOut(idC) ~= idF) - fprintf('ERROR: Float #%d: Inconsistency (output cycle number already set (to %d)) => set to %d\n', ... + fprintf('ERROR: Float #%d: Inconsistency (output cycle number already set (to %d)) - set to %d\n', ... g_decArgo_floatNum, ... inputUsedCyOut(idC), ... idF); diff --git a/decArgo_soft/soft/sub/create_output_float_config_ir_sbd2.m b/decArgo_soft/soft/sub/create_output_float_config_ir_sbd2.m index 5e0557b2..8462331a 100644 --- a/decArgo_soft/soft/sub/create_output_float_config_ir_sbd2.m +++ b/decArgo_soft/soft/sub/create_output_float_config_ir_sbd2.m @@ -65,7 +65,7 @@ (inputUsedProf(idC) == finalProfNum)); if (inputUsedCyOut(idC) ~= -1) if (inputUsedCyOut(idC) ~= idF) - fprintf('ERROR: Float #%d: Inconsistency (output cycle number already set (to %d)) => set to %d\n', ... + fprintf('ERROR: Float #%d: Inconsistency (output cycle number already set (to %d)) - set to %d\n', ... g_decArgo_floatNum, ... inputUsedCyOut(idC), ... idF); diff --git a/decArgo_soft/soft/sub/create_prv_drift_1_11_12.m b/decArgo_soft/soft/sub/create_prv_drift_1_11_12.m index c2a86306..18fae279 100644 --- a/decArgo_soft/soft/sub/create_prv_drift_1_11_12.m +++ b/decArgo_soft/soft/sub/create_prv_drift_1_11_12.m @@ -251,7 +251,7 @@ fprintf('DEC_INFO: Float #%d Cycle #%d: number of drift measurements: done (%d) < theoretical (%d)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, a_nbDriftMeas, length(parkDateHour)); else - fprintf('DEC_ERROR: Float #%d Cycle #%d: number of drift measurements: done (%d) > theoretical (%d) => unable to date %d drift measurements\n', ... + fprintf('DEC_ERROR: Float #%d Cycle #%d: number of drift measurements: done (%d) > theoretical (%d) - unable to date %d drift measurements\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, a_nbDriftMeas, length(parkDateHour), a_nbDriftMeas-length(parkDateHour)); end end @@ -320,7 +320,7 @@ end end else - fprintf('DEC_ERROR: Float #%d Cycle #%d: unable to determine drift measurements dates => unable to define drift measurements order\n', ... + fprintf('DEC_ERROR: Float #%d Cycle #%d: unable to determine drift measurements dates - unable to define drift measurements order\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); return end diff --git a/decArgo_soft/soft/sub/create_prv_drift_4_19.m b/decArgo_soft/soft/sub/create_prv_drift_4_19.m index 133a76b1..9690d504 100644 --- a/decArgo_soft/soft/sub/create_prv_drift_4_19.m +++ b/decArgo_soft/soft/sub/create_prv_drift_4_19.m @@ -257,7 +257,7 @@ fprintf('DEC_INFO: Float #%d Cycle #%d: number of drift measurements: done (%d) < theoretical (%d)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, a_nbDriftMeas, length(parkDateHour)); else - fprintf('DEC_ERROR: Float #%d Cycle #%d: number of drift measurements: done (%d) > theoretical (%d) => unable to date %d drift measurements\n', ... + fprintf('DEC_ERROR: Float #%d Cycle #%d: number of drift measurements: done (%d) > theoretical (%d) - unable to date %d drift measurements\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, a_nbDriftMeas, length(parkDateHour), a_nbDriftMeas-length(parkDateHour)); end end @@ -329,7 +329,7 @@ end end else - fprintf('DEC_ERROR: Float #%d Cycle #%d: unable to determine drift measurements dates => unable to define drift measurements order\n', ... + fprintf('DEC_ERROR: Float #%d Cycle #%d: unable to determine drift measurements dates - unable to define drift measurements order\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); return end diff --git a/decArgo_soft/soft/sub/create_sampling_configuration.m b/decArgo_soft/soft/sub/create_sampling_configuration.m index e1ebdb17..a362495d 100644 --- a/decArgo_soft/soft/sub/create_sampling_configuration.m +++ b/decArgo_soft/soft/sub/create_sampling_configuration.m @@ -80,9 +80,9 @@ end end elseif (strcmp(sampType, 'MEASURE')) - o_configSampName{end+1} = ['CONFIG_MEASURE_' phaseName '_' sensorName '_' num2str(idL) '_NumberOfSamples']; + o_configSampName{end+1} = ['CONFIG_MEASURE_' phaseName '_' sensorName '_NumberOfSamples']; o_configSampVal{end+1} = num2str(10); - o_configSampName{end+1} = ['CONFIG_MEASURE_' phaseName '_' sensorName '_' num2str(idL) '_TimeInterval']; + o_configSampName{end+1} = ['CONFIG_MEASURE_' phaseName '_' sensorName '_TimeInterval']; o_configSampVal{end+1} = num2str(15); else fprintf('ERROR: Unexpected sample type ''%s'' in the sample configuration file\n', sampType); diff --git a/decArgo_soft/soft/sub/create_technical_time_series_apx_apf11_ir.m b/decArgo_soft/soft/sub/create_technical_time_series_apx_apf11_ir.m index 7b03fa7e..03254f84 100644 --- a/decArgo_soft/soft/sub/create_technical_time_series_apx_apf11_ir.m +++ b/decArgo_soft/soft/sub/create_technical_time_series_apx_apf11_ir.m @@ -107,7 +107,7 @@ paramList = [paramFirmwareWatchdogCount]; else - fprintf('WARNING: Float #%d Cycle #%d: Field ''%s'' not expected in vitals data structure => data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: Field ''%s'' not expected in vitals data structure - data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, fieldName); continue end diff --git a/decArgo_soft/soft/sub/decode_apex.m b/decArgo_soft/soft/sub/decode_apex.m index 6576a6eb..d3cc77bb 100644 --- a/decArgo_soft/soft/sub/decode_apex.m +++ b/decArgo_soft/soft/sub/decode_apex.m @@ -127,7 +127,7 @@ function decode_apex(a_floatList) if (g_decArgo_realtimeFlag == 0) idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -157,7 +157,7 @@ function decode_apex(a_floatList) floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatNum, []); if (isempty(floatArgosId)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -168,7 +168,7 @@ function decode_apex(a_floatList) % check that it is an APEX float if ~((floatDecId > 1000) && (floatDecId < 2000)) - fprintf('ERROR: Float #%d is not an Apex float => not decoded\n', floatNum); + fprintf('ERROR: Float #%d is not an Apex float - not decoded\n', floatNum); continue end diff --git a/decArgo_soft/soft/sub/decode_apex_argos_data.m b/decArgo_soft/soft/sub/decode_apex_argos_data.m index a55c8278..73ff996b 100644 --- a/decArgo_soft/soft/sub/decode_apex_argos_data.m +++ b/decArgo_soft/soft/sub/decode_apex_argos_data.m @@ -372,9 +372,9 @@ [o_tabProfiles] = compute_rt_adjusted_param(o_tabProfiles, g_decArgo_floatSurfData.launchDate, 1); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); - + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); + % create output float configuration [o_structConfig] = create_output_float_config_argos(decArgoConfParamNames, ncConfParamNames, a_decoderId); diff --git a/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data.m b/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data.m index 5746f007..c9c7dce2 100644 --- a/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data.m +++ b/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data.m @@ -77,7 +77,7 @@ a_floatLaunchDate, a_floatEndDate); otherwise - fprintf('ERROR: decode_apex_iridium_rudics_data not defined yet for decId #%d => exit\n', a_decoderId); + fprintf('ERROR: decode_apex_iridium_rudics_data not defined yet for decId #%d - exit\n', a_decoderId); return end diff --git a/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data_apf11.m b/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data_apf11.m index f6398bd8..5cd23b4a 100644 --- a/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data_apf11.m +++ b/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data_apf11.m @@ -470,8 +470,8 @@ [o_tabProfiles] = compute_rt_adjusted_param(o_tabProfiles, a_floatLaunchDate, 1); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % create output float configuration [o_structConfig] = create_output_float_config_apx_ir( ... diff --git a/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data_apf9_navis.m b/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data_apf9_navis.m index 68c61835..15c7c832 100644 --- a/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data_apf9_navis.m +++ b/decArgo_soft/soft/sub/decode_apex_iridium_rudics_data_apf9_navis.m @@ -429,8 +429,8 @@ [o_tabProfiles] = compute_rt_adjusted_param(o_tabProfiles, a_floatLaunchDate, 1); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % create output float configuration [o_structConfig] = create_output_float_config_apx_ir( ... diff --git a/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data.m b/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data.m index 788f6e83..f43c87c2 100644 --- a/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data.m +++ b/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data.m @@ -71,7 +71,7 @@ a_floatLaunchDate, a_floatEndDate); otherwise - fprintf('ERROR: decode_apex_iridium_sbd_data not defined yet for decId #%d => exit\n', a_decoderId); + fprintf('ERROR: decode_apex_iridium_sbd_data not defined yet for decId #%d - exit\n', a_decoderId); return end diff --git a/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data_1314.m b/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data_1314.m index b3b9d7f3..3aaec2f7 100644 --- a/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data_1314.m +++ b/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data_1314.m @@ -531,8 +531,8 @@ o_tabProfiles, o_tabTrajNMeas, o_tabTrajNCycle); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % create output float configuration [o_structConfig] = create_output_float_config_apx_ir( ... diff --git a/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data_apf11.m b/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data_apf11.m index 7f91e45b..2fb04cd9 100644 --- a/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data_apf11.m +++ b/decArgo_soft/soft/sub/decode_apex_iridium_sbd_data_apf11.m @@ -541,8 +541,8 @@ [o_tabProfiles] = compute_rt_adjusted_param(o_tabProfiles, a_floatLaunchDate, 1); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % create output float configuration [o_structConfig] = create_output_float_config_apx_ir( ... diff --git a/decArgo_soft/soft/sub/decode_apx_apf11_ir.m b/decArgo_soft/soft/sub/decode_apx_apf11_ir.m index 8e4d4428..03535565 100644 --- a/decArgo_soft/soft/sub/decode_apx_apf11_ir.m +++ b/decArgo_soft/soft/sub/decode_apx_apf11_ir.m @@ -183,7 +183,7 @@ if (~isempty(a_criticalLogFileList)) filePathNames = sprintf('%s,', a_criticalLogFileList{:}); - fprintf('INFO: Float #%d Cycle #%d: Not managed critical log file(s): %s => ignored\n', ... + fprintf('INFO: Float #%d Cycle #%d: Not managed critical log file(s): %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, filePathNames(1:end-1)); end diff --git a/decArgo_soft/soft/sub/decode_apx_ir_HR_profile_data.m b/decArgo_soft/soft/sub/decode_apx_ir_HR_profile_data.m index 01d8c981..a2a0b83d 100644 --- a/decArgo_soft/soft/sub/decode_apx_ir_HR_profile_data.m +++ b/decArgo_soft/soft/sub/decode_apx_ir_HR_profile_data.m @@ -132,7 +132,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr(idF:end), 'Sbe41cpSerNo[%d] NSample[%d] NBin[%d]'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while parsing HR profile header ''%s'' => ignored\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while parsing HR profile header ''%s'' - ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... dataStr); @@ -142,7 +142,7 @@ o_profHrInfo.ProfNbSample = val(2); o_profHrInfo.ProfNbBin = val(3); else - fprintf('DEC_INFO: Float #%d Cycle #%d: Inconsistent HR profile header ''%s'' => ignored\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Inconsistent HR profile header ''%s'' - ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... dataStr); @@ -158,7 +158,7 @@ end if (length(dataStr) ~= 18) - fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while decoding HR profile data => some measurements are missing\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while decoding HR profile data - some measurements are missing\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end @@ -309,7 +309,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr(idF:end), 'Sbe41cpSerNo[%d] NSample[%d] NBin[%d]'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while parsing HR profile header ''%s'' => ignored\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while parsing HR profile header ''%s'' - ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... dataStr); @@ -319,7 +319,7 @@ o_profHrInfo.ProfNbSample = val(2); o_profHrInfo.ProfNbBin = val(3); else - fprintf('DEC_INFO: Float #%d Cycle #%d: Inconsistent HR profile header ''%s'' => ignored\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Inconsistent HR profile header ''%s'' - ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... dataStr); @@ -335,7 +335,7 @@ end if (length(dataStr) ~= 14) - fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while decoding HR profile data => some measurements are missing\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while decoding HR profile data - some measurements are missing\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end @@ -473,7 +473,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr(idF:end), 'Sbe41cpSerNo[%d] NSample[%d] NBin[%d]'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while parsing HR profile header ''%s'' => ignored\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while parsing HR profile header ''%s'' - ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... dataStr); @@ -483,7 +483,7 @@ o_profHrInfo.ProfNbSample = val(2); o_profHrInfo.ProfNbBin = val(3); else - fprintf('DEC_INFO: Float #%d Cycle #%d: Inconsistent HR profile header ''%s'' => ignored\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Inconsistent HR profile header ''%s'' - ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... dataStr); @@ -499,7 +499,7 @@ end if (length(dataStr) ~= 14) - fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while decoding HR profile data => some measurements are missing\n', ... + fprintf('DEC_INFO: Float #%d Cycle #%d: Anomaly detected while decoding HR profile data - some measurements are missing\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end diff --git a/decArgo_soft/soft/sub/decode_argo.m b/decArgo_soft/soft/sub/decode_argo.m index f5c48293..9d013170 100644 --- a/decArgo_soft/soft/sub/decode_argo.m +++ b/decArgo_soft/soft/sub/decode_argo.m @@ -33,7 +33,7 @@ function decode_argo(a_floatList) floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatNum, []); if (isempty(floatArgosId)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -46,7 +46,7 @@ function decode_argo(a_floatList) elseif ((floatDecId > 3000) && (floatDecId < 4000)) decode_nemo(floatNum); else - fprintf('ERROR: DecId #%d unavailable => nothing done\n', floatDecId); + fprintf('ERROR: DecId #%d unavailable - nothing done\n', floatDecId); end end diff --git a/decArgo_soft/soft/sub/decode_arvor_c_iridium_sbd.m b/decArgo_soft/soft/sub/decode_arvor_c_iridium_sbd.m index d5afb5d9..2cafec21 100644 --- a/decArgo_soft/soft/sub/decode_arvor_c_iridium_sbd.m +++ b/decArgo_soft/soft/sub/decode_arvor_c_iridium_sbd.m @@ -371,8 +371,8 @@ o_tabTrajNMeas, o_tabTrajNCycle, a_decoderId); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % add ICE detected flag in TECH variables and finalize TECH data [o_tabNcTechIndex, o_tabNcTechVal] = finalize_technical_data_ir_sbd( ... diff --git a/decArgo_soft/soft/sub/decode_data_apx_10.m b/decArgo_soft/soft/sub/decode_data_apx_10.m index 8a713ca8..4843b7e8 100644 --- a/decArgo_soft/soft/sub/decode_data_apx_10.m +++ b/decArgo_soft/soft/sub/decode_data_apx_10.m @@ -577,7 +577,7 @@ o_miscInfo{end+1} = dataStruct; dataStruct = get_apx_misc_data_init_struct('Data msg', msgNum, msgRed, msgDate); - dataStruct.label = '=> transmission start time'; + dataStruct.label = '- transmission start time'; dataStruct.value = julian_2_gregorian_dec_argo(rtcTime + timeDelay/1440); dataStruct.format = ' %s'; dataStruct.unit = 'RTC time'; diff --git a/decArgo_soft/soft/sub/decode_data_apx_11.m b/decArgo_soft/soft/sub/decode_data_apx_11.m index 2bbf6b76..074a7a2d 100644 --- a/decArgo_soft/soft/sub/decode_data_apx_11.m +++ b/decArgo_soft/soft/sub/decode_data_apx_11.m @@ -586,7 +586,7 @@ o_miscInfo{end+1} = dataStruct; dataStruct = get_apx_misc_data_init_struct('Data msg', msgNum, msgRed, msgDate); - dataStruct.label = '=> transmission start time'; + dataStruct.label = '- transmission start time'; dataStruct.value = julian_2_gregorian_dec_argo(rtcTime + timeDelay/1440); dataStruct.format = ' %s'; dataStruct.unit = 'RTC time'; diff --git a/decArgo_soft/soft/sub/decode_data_apx_12.m b/decArgo_soft/soft/sub/decode_data_apx_12.m index 38ce21f7..13066798 100644 --- a/decArgo_soft/soft/sub/decode_data_apx_12.m +++ b/decArgo_soft/soft/sub/decode_data_apx_12.m @@ -572,7 +572,7 @@ o_miscInfo{end+1} = dataStruct; dataStruct = get_apx_misc_data_init_struct('Data msg', msgNum, msgRed, msgDate); - dataStruct.label = '=> transmission start time'; + dataStruct.label = '- transmission start time'; dataStruct.value = julian_2_gregorian_dec_argo(rtcTime + timeDelay/1440); dataStruct.format = ' %s'; dataStruct.unit = 'RTC time'; diff --git a/decArgo_soft/soft/sub/decode_data_apx_21.m b/decArgo_soft/soft/sub/decode_data_apx_21.m index 995bc74c..0dc6c395 100644 --- a/decArgo_soft/soft/sub/decode_data_apx_21.m +++ b/decArgo_soft/soft/sub/decode_data_apx_21.m @@ -115,7 +115,7 @@ if (msgNum == 9) % emergency message % emergency msg - fprintf('ERROR: Float #%d Cycle #%d: emergency message decoding is implemented but never checked => not used\n', ... + fprintf('ERROR: Float #%d Cycle #%d: emergency message decoding is implemented but never checked - not used\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); if (0) @@ -1216,7 +1216,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d: unexpected message #%d received (with a redundancy of %d) => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: unexpected message #%d received (with a redundancy of %d) - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum, msgRed); end end diff --git a/decArgo_soft/soft/sub/decode_data_apx_22.m b/decArgo_soft/soft/sub/decode_data_apx_22.m index c71da394..01aba364 100644 --- a/decArgo_soft/soft/sub/decode_data_apx_22.m +++ b/decArgo_soft/soft/sub/decode_data_apx_22.m @@ -115,7 +115,7 @@ if (msgNum == 9) % emergency message % emergency msg - fprintf('ERROR: Float #%d Cycle #%d: emergency message decoding is implemented but never checked => not used\n', ... + fprintf('ERROR: Float #%d Cycle #%d: emergency message decoding is implemented but never checked - not used\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); if (0) @@ -1216,7 +1216,7 @@ else - fprintf('WARNING: Float #%d Cycle #%d: unexpected message #%d received (with a redundancy of %d) => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: unexpected message #%d received (with a redundancy of %d) - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum, msgRed); end end diff --git a/decArgo_soft/soft/sub/decode_data_apx_3.m b/decArgo_soft/soft/sub/decode_data_apx_3.m index 0fac8d33..ee7d6b08 100644 --- a/decArgo_soft/soft/sub/decode_data_apx_3.m +++ b/decArgo_soft/soft/sub/decode_data_apx_3.m @@ -973,7 +973,7 @@ end if (nbLevProf == -1) - fprintf('DEC_WARNING: Float #%d Cycle #%d: ''DDDD'' delimiter not found and profile length not received => profile not decoded\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: ''DDDD'' delimiter not found and profile length not received - profile not decoded\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); elseif (nbLevProf > 0) @@ -1057,7 +1057,7 @@ end if (nbLevProfCcNst == -1) - fprintf('DEC_WARNING: Float #%d Cycle #%d: ''EEEE'' delimiter not found and cross calibration NST profile length not received => cross calibration NST profile not decoded\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: ''EEEE'' delimiter not found and cross calibration NST profile length not received - cross calibration NST profile not decoded\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); elseif (nbLevProfCcNst > 0) @@ -1138,7 +1138,7 @@ nbLevProfNst = profileNstLength; end if (profileNstLength == -1) - fprintf('DEC_WARNING: Float #%d Cycle #%d: NST profile length has not been received => NST profile not decoded\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: NST profile length has not been received - NST profile not decoded\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); elseif (nbLevProfNst > 0) diff --git a/decArgo_soft/soft/sub/decode_log_apx_ir.m b/decArgo_soft/soft/sub/decode_log_apx_ir.m index be63cb80..13d3ffa1 100644 --- a/decArgo_soft/soft/sub/decode_log_apx_ir.m +++ b/decArgo_soft/soft/sub/decode_log_apx_ir.m @@ -77,7 +77,7 @@ % read input file [error, events] = read_apx_ir_log_file(logFilePathName, a_decoderId); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, logFilePathName); return end diff --git a/decArgo_soft/soft/sub/decode_msg_apx_ir.m b/decArgo_soft/soft/sub/decode_msg_apx_ir.m index dcca37f4..31236824 100644 --- a/decArgo_soft/soft/sub/decode_msg_apx_ir.m +++ b/decArgo_soft/soft/sub/decode_msg_apx_ir.m @@ -83,7 +83,7 @@ end if (length(a_msgFileList) > 1) - fprintf('DEC_WARNING: Float #%d Cycle #%d: multiple (%d) msg file for this cycle => only the last one is considered (except for GPS fixes which are retrieved from all files)\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: multiple (%d) msg file for this cycle - only the last one is considered (except for GPS fixes which are retrieved from all files)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, length(a_msgFileList)); end @@ -103,7 +103,7 @@ nearSurfaceDataStr ... ] = read_apx_ir_msg_file(msgFilePathName, a_decoderId, 1); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgFilePathName); return end diff --git a/decArgo_soft/soft/sub/decode_nemo.m b/decArgo_soft/soft/sub/decode_nemo.m index 86ab8716..6a6ad76f 100644 --- a/decArgo_soft/soft/sub/decode_nemo.m +++ b/decArgo_soft/soft/sub/decode_nemo.m @@ -127,7 +127,7 @@ function decode_nemo(a_floatList) if (g_decArgo_realtimeFlag == 0) idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -157,7 +157,7 @@ function decode_nemo(a_floatList) floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatNum, []); if (isempty(floatArgosId)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -168,7 +168,7 @@ function decode_nemo(a_floatList) % check that it is a NEMO float if ~((floatDecId > 3000) && (floatDecId < 4000)) - fprintf('ERROR: Float #%d is not a NEMO float => not decoded\n', floatNum); + fprintf('ERROR: Float #%d is not a NEMO float - not decoded\n', floatNum); continue end diff --git a/decArgo_soft/soft/sub/decode_nemo_data.m b/decArgo_soft/soft/sub/decode_nemo_data.m index 4ed012c6..a3edbd32 100644 --- a/decArgo_soft/soft/sub/decode_nemo_data.m +++ b/decArgo_soft/soft/sub/decode_nemo_data.m @@ -349,8 +349,8 @@ o_tabProfiles, o_tabTrajNMeas, o_tabTrajNCycle); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % create output float configuration [o_structConfig] = create_output_float_config_nemo( ... diff --git a/decArgo_soft/soft/sub/decode_nemo_profile_file.m b/decArgo_soft/soft/sub/decode_nemo_profile_file.m index 379f9f59..a58fa565 100644 --- a/decArgo_soft/soft/sub/decode_nemo_profile_file.m +++ b/decArgo_soft/soft/sub/decode_nemo_profile_file.m @@ -70,7 +70,7 @@ secondOrderInformationStr ... ] = read_nemo_profile_file(a_profileFile); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', a_profileFile); + fprintf('ERROR: Error in file: %s - ignored\n', a_profileFile); return elseif (error == 2) return diff --git a/decArgo_soft/soft/sub/decode_nova.m b/decArgo_soft/soft/sub/decode_nova.m index 9ae6972d..3ff09286 100644 --- a/decArgo_soft/soft/sub/decode_nova.m +++ b/decArgo_soft/soft/sub/decode_nova.m @@ -127,7 +127,7 @@ function decode_nova(a_floatList) if ((g_decArgo_realtimeFlag == 0) && (g_decArgo_delayedModeFlag == 0)) idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -157,7 +157,7 @@ function decode_nova(a_floatList) floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatNum, []); if (isempty(floatArgosId)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -168,7 +168,7 @@ function decode_nova(a_floatList) % check that it is a NOVA float if ~((floatDecId > 2000) && (floatDecId < 3000)) - fprintf('ERROR: Float #%d is not a Nova float => not decoded\n', floatNum); + fprintf('ERROR: Float #%d is not a Nova float - not decoded\n', floatNum); continue end diff --git a/decArgo_soft/soft/sub/decode_nova_iridium_sbd.m b/decArgo_soft/soft/sub/decode_nova_iridium_sbd.m index 8e21aee2..8c5c75bc 100644 --- a/decArgo_soft/soft/sub/decode_nova_iridium_sbd.m +++ b/decArgo_soft/soft/sub/decode_nova_iridium_sbd.m @@ -866,7 +866,7 @@ g_decArgo_floatNum, ... length(tabNewFileNames)); else - fprintf('BUFF_INFO: Float #%d: Last step => processing buffer contents, %d SBD files:\n', ... + fprintf('BUFF_INFO: Float #%d: Last step - processing buffer contents, %d SBD files:\n', ... g_decArgo_floatNum, ... length(tabNewFileNames)); end @@ -996,7 +996,7 @@ % process all the remaining files if (VERBOSE_MODE_BUFF == 1) - fprintf('BUFF_INFO: Float #%d: Final EOL mode detected => processing %d SBD files:\n', ... + fprintf('BUFF_INFO: Float #%d: Final EOL mode detected - processing %d SBD files:\n', ... g_decArgo_floatNum, ... length(tabFileNames)); end @@ -1061,8 +1061,8 @@ o_tabTrajNMeas, o_tabTrajNCycle, a_decoderId); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % create output float configuration [o_structConfig] = create_output_float_config_ir_sbd( ... @@ -1414,7 +1414,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TRAJ NetCDF file - + % process trajectory data for TRAJ NetCDF file [tabTrajNMeas, tabTrajNCycle, tabTechNMeas] = process_trajectory_data_2001_2003( ... g_decArgo_cycleNum, deepCycle, ... diff --git a/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2001.m b/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2001.m index 2ecdcc6d..0751485e 100644 --- a/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2001.m +++ b/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2001.m @@ -385,10 +385,10 @@ if (g_decArgo_finalEolMode == 0) if (isempty(o_dataCTD)) - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (no CTD data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (no CTD data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); else - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (CTD data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (CTD data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); end @@ -401,10 +401,10 @@ else if (isempty(o_dataCTD)) - fprintf('WARNING: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (no CTD data lost)\n', ... + fprintf('WARNING: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (no CTD data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); else - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (CTD data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (CTD data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); end diff --git a/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2002.m b/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2002.m index 7c77780c..5767d490 100644 --- a/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2002.m +++ b/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2002.m @@ -388,10 +388,10 @@ if (g_decArgo_finalEolMode == 0) if (isempty(o_dataCTDO)) - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (no CTDO data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (no CTDO data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); else - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (CTDO data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (CTDO data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); end @@ -404,10 +404,10 @@ else if (isempty(o_dataCTDO)) - fprintf('WARNING: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (no CTDO data lost)\n', ... + fprintf('WARNING: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (no CTDO data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); else - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (CTDO data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (CTDO data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); end diff --git a/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2003.m b/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2003.m index 8dbb3ea4..8f175fe8 100644 --- a/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2003.m +++ b/decArgo_soft/soft/sub/decode_nva_data_ir_sbd_2003.m @@ -378,10 +378,10 @@ if (g_decArgo_finalEolMode == 0) if (isempty(o_dataCTD)) - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (no CTD data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (no CTD data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); else - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (CTD data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (CTD data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); end @@ -394,10 +394,10 @@ else if (isempty(o_dataCTD)) - fprintf('WARNING: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (no CTD data lost)\n', ... + fprintf('WARNING: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (no CTD data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); else - fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received => buffer ignored (CTD data lost)\n', ... + fprintf('ERROR: Float #%d: Multiple cycle numbers (%s) have been received - buffer ignored (CTD data lost)\n', ... g_decArgo_floatNum, cycleListStr(1:end-1)); end diff --git a/decArgo_soft/soft/sub/decode_payload_data.m b/decArgo_soft/soft/sub/decode_payload_data.m index 7239e9d4..ddbe922b 100644 --- a/decArgo_soft/soft/sub/decode_payload_data.m +++ b/decArgo_soft/soft/sub/decode_payload_data.m @@ -124,7 +124,7 @@ payloadData = cat(1, payloadData, newCell); data(1:idF3+length(ptn3)-1) = []; else - fprintf('ERROR: Inconsistent payload data => ignored\n'); + fprintf('ERROR: Inconsistent payload data - ignored\n'); return end elseif ((length(data) >= length(ptn7)) && (strcmp(char(data(1:length(ptn7))), ptn7))) @@ -149,7 +149,7 @@ payloadData = cat(1, payloadData, newCell); data(1:idF8+length(ptn8)-1) = []; else - fprintf('ERROR: Inconsistent payload data => ignored\n'); + fprintf('ERROR: Inconsistent payload data - ignored\n'); return end elseif ((length(data) >= length(ptn4)) && (strcmp(char(data(1:length(ptn4))), ptn4))) @@ -172,7 +172,7 @@ data(1:idF5+length(ptn5)-1) = []; textData = ''; else - fprintf('ERROR: Inconsistent payload data => ignored\n'); + fprintf('ERROR: Inconsistent payload data - ignored\n'); return end elseif ((length(data) >= length(ptn1)) && (strcmp(char(data(1:length(ptn1))), ptn1))) @@ -256,11 +256,11 @@ payloadData{idTagBegin, 5} = payloadData{idTagEnd(idT), 5}; payloadData{idTagEnd(idT), 5} = ''; else - fprintf('WARNING: Inconsistent payload data => ignored\n'); + fprintf('WARNING: Inconsistent payload data - ignored\n'); return end else - fprintf('WARNING: Inconsistent payload data => ignored\n'); + fprintf('WARNING: Inconsistent payload data - ignored\n'); return end end @@ -291,7 +291,7 @@ end payloadData{idL, 4} = data; else - fprintf('ERROR: Inconsistent payload data => ignored\n'); + fprintf('ERROR: Inconsistent payload data - ignored\n'); return end end diff --git a/decArgo_soft/soft/sub/decode_production_log_apx_apf11_ir.m b/decArgo_soft/soft/sub/decode_production_log_apx_apf11_ir.m index 6373a2c2..f3973154 100644 --- a/decArgo_soft/soft/sub/decode_production_log_apx_apf11_ir.m +++ b/decArgo_soft/soft/sub/decode_production_log_apx_apf11_ir.m @@ -46,7 +46,7 @@ % read input file [error, events] = read_apx_apf11_ir_production_log_file(prodFilePathName); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, prodFilePathName); return end diff --git a/decArgo_soft/soft/sub/decode_provor.m b/decArgo_soft/soft/sub/decode_provor.m index a6f92fd8..6a833cd8 100644 --- a/decArgo_soft/soft/sub/decode_provor.m +++ b/decArgo_soft/soft/sub/decode_provor.m @@ -126,7 +126,7 @@ function decode_provor(a_floatList) if ((g_decArgo_realtimeFlag == 0) && (g_decArgo_delayedModeFlag == 0)) idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -171,7 +171,7 @@ function decode_provor(a_floatList) floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatNum, []); if (isempty(floatArgosId)) - fprintf('ERROR: No information on float #%d => nothing done\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done\n', floatNum); continue end @@ -182,7 +182,7 @@ function decode_provor(a_floatList) % check that it is a PROVOR float if (floatDecId > 1000) - fprintf('ERROR: Float #%d is not a Provor float => not decoded\n', floatNum); + fprintf('ERROR: Float #%d is not a Provor float - not decoded\n', floatNum); continue end @@ -375,61 +375,53 @@ function decode_provor(a_floatList) if (isempty(g_decArgo_outputCsvFileId)) % save decoded data in NetCDF files - if ~(isempty(tabProfiles) && ... - isempty(tabTrajNMeas) && ... - isempty(tabTrajNCycle) && ... - isempty(tabNcTechIndex) && ... - isempty(tabTechNMeas) && ... - isempty(structConfig) && ... - isempty(tabProfiles)) - - % meta-data used in TRAJ, PROF and TECH NetCDF files - % when creating the META NetcCDF file the JSON meta-data file is opened - % and all needed information are copied - wantedMetaNames = [ ... - {'PROJECT_NAME'} ... - {'DATA_CENTRE'} ... - {'PI_NAME'} ... - {'FLOAT_SERIAL_NO'} ... - {'FIRMWARE_VERSION'} ... - {'CALIB_RT_PARAMETER'} ... - {'CALIB_RT_EQUATION'} ... - {'CALIB_RT_COEFFICIENT'} ... - {'CALIB_RT_COMMENT'} ... - {'CALIB_RT_DATE'} ... - ]; - - % retrieve information from json meta-data file - [additionalMetaData] = get_meta_data_from_json_file(floatNum, wantedMetaNames); - - % NetCDF MONO-PROFILE files - if (g_decArgo_generateNcMonoProf ~= 0) - create_nc_mono_prof_files(floatDecId, ... - tabProfiles, additionalMetaData); - end - - % NetCDF MULTI-PROFILE files - if (g_decArgo_generateNcMultiProf ~= 0) - create_nc_multi_prof_file(floatDecId, ... - tabProfiles, additionalMetaData); - end - - % NetCDF TRAJ file - if (g_decArgo_generateNcTraj ~= 0) - create_nc_traj_file(floatDecId, ... - tabTrajNMeas, tabTrajNCycle, additionalMetaData); - end - - % NetCDF TECHNICAL file - if (g_decArgo_generateNcTech ~= 0) - create_nc_tech_file(floatDecId, ... - tabNcTechIndex, tabNcTechVal, tabTechNMeas, g_decArgo_outputNcParamLabelInfo, additionalMetaData); - end - - % NetCDF META-DATA file - if (g_decArgo_generateNcMeta ~= 0) - create_nc_meta_file(floatDecId, structConfig); - end + % meta-data used in TRAJ, PROF and TECH NetCDF files + % when creating the META NetcCDF file the JSON meta-data file is opened + % and all needed information are copied + wantedMetaNames = [ ... + {'PROJECT_NAME'} ... + {'DATA_CENTRE'} ... + {'PI_NAME'} ... + {'FLOAT_SERIAL_NO'} ... + {'FIRMWARE_VERSION'} ... + {'CALIB_RT_PARAMETER'} ... + {'CALIB_RT_EQUATION'} ... + {'CALIB_RT_COEFFICIENT'} ... + {'CALIB_RT_COMMENT'} ... + {'CALIB_RT_DATE'} ... + ]; + + % retrieve information from json meta-data file + [additionalMetaData] = get_meta_data_from_json_file(floatNum, wantedMetaNames); + + % NetCDF MONO-PROFILE files + if ((g_decArgo_generateNcMonoProf ~= 0) && ~isempty(tabProfiles)) + create_nc_mono_prof_files(floatDecId, ... + tabProfiles, additionalMetaData); + end + + % NetCDF MULTI-PROFILE files + if ((g_decArgo_generateNcMultiProf ~= 0) && ~isempty(tabProfiles)) + create_nc_multi_prof_file(floatDecId, ... + tabProfiles, additionalMetaData); + end + + % NetCDF TRAJ file + if ((g_decArgo_generateNcTraj ~= 0) && ~isempty(tabTrajNMeas)) + create_nc_traj_file(floatDecId, ... + tabTrajNMeas, tabTrajNCycle, additionalMetaData); + end + + % NetCDF TECHNICAL file + if ((g_decArgo_generateNcTech ~= 0) && ... + ~(isempty(tabNcTechIndex) && isempty(tabTechNMeas))) + create_nc_tech_file(floatDecId, ... + tabNcTechIndex, tabNcTechVal, tabTechNMeas, g_decArgo_outputNcParamLabelInfo, additionalMetaData); + end + + % NetCDF META-DATA file + if (g_decArgo_generateNcMeta ~= 0) + create_nc_meta_file(floatDecId, structConfig); end if (isempty(g_decArgo_outputCsvFileId) && (g_decArgo_applyRtqc == 1)) diff --git a/decArgo_soft/soft/sub/decode_provor_argos_data.m b/decArgo_soft/soft/sub/decode_provor_argos_data.m index 38cea166..5bb115c2 100644 --- a/decArgo_soft/soft/sub/decode_provor_argos_data.m +++ b/decArgo_soft/soft/sub/decode_provor_argos_data.m @@ -286,7 +286,7 @@ else if (~isempty(tabDriftCTD)) - fprintf('WARNING: Float #%d Cycle #%d: technical message not received => unable to define drift measurements order\n', ... + fprintf('WARNING: Float #%d Cycle #%d: technical message not received - unable to define drift measurements order\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); elseif (~isempty(tabProfCTD)) fprintf('WARNING: Float #%d Cycle #%d: technical message not received\n', ... @@ -509,7 +509,7 @@ else if (~isempty(tabDriftCTDO)) - fprintf('WARNING: Float #%d Cycle #%d: technical message not received => unable to define drift measurements order\n', ... + fprintf('WARNING: Float #%d Cycle #%d: technical message not received - unable to define drift measurements order\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); elseif (~isempty(tabProfCTDO)) fprintf('WARNING: Float #%d Cycle #%d: technical message not received\n', ... @@ -806,7 +806,7 @@ else if (~isempty(tabDriftCTD)) - fprintf('WARNING: Float #%d Cycle #%d: technical message not received => unable to define drift measurements order\n', ... + fprintf('WARNING: Float #%d Cycle #%d: technical message not received - unable to define drift measurements order\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); elseif (~isempty(tabProfCTD)) fprintf('WARNING: Float #%d Cycle #%d: technical message not received\n', ... @@ -1061,7 +1061,7 @@ else if (~isempty(tabDriftCTDO)) - fprintf('WARNING: Float #%d Cycle #%d: technical message not received => unable to define drift measurements order\n', ... + fprintf('WARNING: Float #%d Cycle #%d: technical message not received - unable to define drift measurements order\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); elseif (~isempty(tabProfCTDO)) fprintf('WARNING: Float #%d Cycle #%d: technical message not received\n', ... @@ -1288,8 +1288,8 @@ o_tabTrajNMeas, o_tabTrajNCycle); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % create output float configuration [o_structConfig] = create_output_float_config_argos(decArgoConfParamNames, ncConfParamNames, a_decoderId); diff --git a/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts4.m b/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts4.m index ba924eca..ca9ac67a 100644 --- a/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts4.m +++ b/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts4.m @@ -718,7 +718,7 @@ g_decArgo_floatNum, ... length(tabNewFileNames)); else - fprintf('BUFF_INFO: Float #%d: Last step => processing buffer contents, %d SBD files\n', ... + fprintf('BUFF_INFO: Float #%d: Last step - processing buffer contents, %d SBD files\n', ... g_decArgo_floatNum, ... length(tabNewFileNames)); @@ -960,8 +960,8 @@ o_tabProfiles, o_tabTrajNMeas, o_tabTrajNCycle, o_tabTechNMeas); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % set QC parameters to '3' when the sensor state is ko [o_tabProfiles, o_tabTrajNMeas] = update_qc_from_sensor_state_ir_rudics_sbd2( ... diff --git a/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts4_delayed.m b/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts4_delayed.m index 4dbd39a0..43d03d15 100644 --- a/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts4_delayed.m +++ b/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts4_delayed.m @@ -372,8 +372,8 @@ o_tabProfiles, o_tabTrajNMeas, o_tabTrajNCycle, o_tabTechNMeas); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % set QC parameters to '3' when the sensor state is ko [o_tabProfiles, o_tabTrajNMeas] = update_qc_from_sensor_state_ir_rudics_sbd2( ... diff --git a/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts5_payload.m b/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts5_payload.m index 51cf9a77..24d669bf 100644 --- a/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts5_payload.m +++ b/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts5_payload.m @@ -375,7 +375,7 @@ if (idFlCy == length(floatCycleList)) idDel = [idDel idFile]; if (g_decArgo_realtimeFlag) - fprintf('INFO: Float #%d: expected file not received yet %s => stop\n', ... + fprintf('INFO: Float #%d: expected file not received yet %s - stop\n', ... g_decArgo_floatNum, expectedFileName); stop = 1; break @@ -517,12 +517,12 @@ existingNum = [existingNum str2num(existingFileName(idFUs(4)+1:idFUs(5)-1))]; end if (~any(existingNum > max(missingNum))) - fprintf('INFO: expected files not received yet => stop\n'); + fprintf('INFO: expected files not received yet - stop\n'); stop = 1; break end else - fprintf('INFO: expected files not received yet => stop\n'); + fprintf('INFO: expected files not received yet - stop\n'); stop = 1; break end @@ -702,8 +702,8 @@ o_tabTrajNMeas, o_tabTrajNCycle); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % v + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % perform DOXY, CHLA and NITRATE adjustment [o_tabProfiles] = compute_rt_adjusted_param(o_tabProfiles, a_launchDate, 1); @@ -891,6 +891,7 @@ trajDataFromApmtTech = []; timeDataFromApmtTech = []; payloadConfigFileOnly = 0; +apmtTimeFromTech = []; for typeNum = typeOrderList if (typeNum == 1) diff --git a/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts5_usea.m b/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts5_usea.m index 5f05da61..306cbf99 100644 --- a/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts5_usea.m +++ b/decArgo_soft/soft/sub/decode_provor_iridium_rudics_cts5_usea.m @@ -464,8 +464,8 @@ o_tabTrajNMeas, o_tabTrajNCycle); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % perform DOXY, CHLA and NITRATE adjustment [o_tabProfiles] = compute_rt_adjusted_param(o_tabProfiles, a_launchDate, 1); diff --git a/decArgo_soft/soft/sub/decode_provor_iridium_sbd.m b/decArgo_soft/soft/sub/decode_provor_iridium_sbd.m index dab88184..55836f75 100644 --- a/decArgo_soft/soft/sub/decode_provor_iridium_sbd.m +++ b/decArgo_soft/soft/sub/decode_provor_iridium_sbd.m @@ -845,7 +845,7 @@ % - in RT to process all received data for the current rsync run % (if additionnal data will be received next rsync run, it will % be procecced together with the preceeding ones) - fprintf('BUFF_INFO: Float #%d: Last step => processing buffer contents (all received data), %d SBD files\n', ... + fprintf('BUFF_INFO: Float #%d: Last step - processing buffer contents (all received data), %d SBD files\n', ... g_decArgo_floatNum, ... length(tabNewFileNames)); end @@ -908,8 +908,8 @@ o_tabTrajNMeas, o_tabTrajNCycle, a_decoderId); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % create output float configuration [o_structConfig] = create_output_float_config_ir_sbd( ... diff --git a/decArgo_soft/soft/sub/decode_provor_iridium_sbd2.m b/decArgo_soft/soft/sub/decode_provor_iridium_sbd2.m index a78c98ea..19c7d732 100644 --- a/decArgo_soft/soft/sub/decode_provor_iridium_sbd2.m +++ b/decArgo_soft/soft/sub/decode_provor_iridium_sbd2.m @@ -738,7 +738,7 @@ g_decArgo_floatNum, ... length(tabNewFileNames)); else - fprintf('BUFF_INFO: Float #%d: Last step => processing buffer contents, %d SBD files\n', ... + fprintf('BUFF_INFO: Float #%d: Last step - processing buffer contents, %d SBD files\n', ... g_decArgo_floatNum, ... length(tabNewFileNames)); @@ -761,15 +761,15 @@ for idM = 1:size(cycleProfToProcess, 1) cycle = cycleProfToProcess(idM, 1); profile = cycleProfToProcess(idM, 2); - fprintf('BUFF_INFO: => Float #%d: Processing cycle #%d profile #%d\n', ... + fprintf('BUFF_INFO: - Float #%d: Processing cycle #%d profile #%d\n', ... g_decArgo_floatNum, ... cycle, profile); end elseif (cycleProfToProcess == g_decArgo_phaseSurfWait) - fprintf('BUFF_INFO: => Float #%d: Processing surface data\n', ... + fprintf('BUFF_INFO: - Float #%d: Processing surface data\n', ... g_decArgo_floatNum); elseif (cycleProfToProcess == g_decArgo_phaseEndOfLife) - fprintf('BUFF_INFO: => Float #%d: Processing EOL data\n', ... + fprintf('BUFF_INFO: - Float #%d: Processing EOL data\n', ... g_decArgo_floatNum); end end @@ -992,8 +992,8 @@ o_tabProfiles, o_tabTrajNMeas, o_tabTrajNCycle, o_tabTechNMeas); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % set QC parameters to '3' when the sensor state is ko [o_tabProfiles, o_tabTrajNMeas] = update_qc_from_sensor_state_ir_rudics_sbd2( ... diff --git a/decArgo_soft/soft/sub/decode_provor_iridium_sbd_delayed.m b/decArgo_soft/soft/sub/decode_provor_iridium_sbd_delayed.m index 7cfe65a4..c235cdd4 100644 --- a/decArgo_soft/soft/sub/decode_provor_iridium_sbd_delayed.m +++ b/decArgo_soft/soft/sub/decode_provor_iridium_sbd_delayed.m @@ -169,6 +169,16 @@ % delay to recover config messages before launch date global g_decArgo_maxIntervalToRecoverConfigMessageBeforeLaunchDate; +% from +% - decId 223 for Arvor +% - decId 221 for Arvor Deep +% configuration parameters are not transmitted each cycle +% consequently we must update the configuration of the second deep cycle with +% initial parameters, this should be done once (except if alterneated profil or +% auto-increment flag are set) +global g_decArgo_doneOnceFlag; +g_decArgo_doneOnceFlag = 0; + % create the float directory floatIriDirName = [g_decArgo_iridiumDataDirectory '/' num2str(a_floatImei) '_' num2str(a_floatNum) '/']; @@ -432,8 +442,8 @@ o_tabTrajNMeas, o_tabTrajNCycle, a_decoderId); % update N_CYCLE arrays so that N_CYCLE and N_MEASUREMENT arrays are - % consistency - [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNCycle, o_tabTrajNMeas); + % consistent + [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency(o_tabTrajNMeas, o_tabTrajNCycle); % add ICE detected flag in TECH variables and finalize TECH data [o_tabNcTechIndex, o_tabNcTechVal] = finalize_technical_data_ir_sbd( ... diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_rudics_cts4_105_to_110_112.m b/decArgo_soft/soft/sub/decode_prv_data_ir_rudics_cts4_105_to_110_112.m index 9e199f73..f8f01634 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_rudics_cts4_105_to_110_112.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_rudics_cts4_105_to_110_112.m @@ -548,7 +548,7 @@ % CTD (mean & raw) if (~ismember(0, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 0); continue @@ -573,7 +573,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -615,7 +615,7 @@ % CTD (stDev & median) if (~ismember(0, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 0); continue @@ -640,7 +640,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -684,7 +684,7 @@ % OXYGEN (mean & raw) if (~ismember(1, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 1); continue @@ -709,7 +709,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -755,7 +755,7 @@ % OXYGEN (stDev & median) if (~ismember(1, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 1); continue @@ -780,7 +780,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -828,7 +828,7 @@ % ECO3 (mean & raw) if (~ismember(3, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 3); continue @@ -853,7 +853,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -900,7 +900,7 @@ % ECO3 (stDev & median) if (~ismember(3, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 3); continue @@ -925,7 +925,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -973,7 +973,7 @@ % OCR (mean & raw) if (~ismember(2, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 2); continue @@ -998,7 +998,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1049,7 +1049,7 @@ % OCR (stDev & median) if (~ismember(2, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 2); continue @@ -1074,7 +1074,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1128,7 +1128,7 @@ % FLNTU (mean & raw) if (~ismember(4, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 4); continue @@ -1153,7 +1153,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1195,7 +1195,7 @@ % FLNTU (stDev & median) if (~ismember(4, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 4); continue @@ -1220,7 +1220,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1261,7 +1261,7 @@ % cROVER (mean & raw) if (~ismember(5, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 5); continue @@ -1286,7 +1286,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1324,7 +1324,7 @@ % cRover (stDev & median) if (~ismember(5, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 5); continue @@ -1349,7 +1349,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1383,7 +1383,7 @@ % SUNA (mean & raw) if (~ismember(6, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 6); continue @@ -1408,7 +1408,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1446,7 +1446,7 @@ % SUNA (stDev & median) if (~ismember(6, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 6); continue @@ -1471,7 +1471,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1505,7 +1505,7 @@ % SUNA (APF) if (~ismember(6, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 6); continue @@ -1530,7 +1530,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1606,7 +1606,7 @@ sensorType = tabSensors(idMes, 2); if (~ismember(sensorType, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor TECH packet received (for sensor #%d which is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor TECH packet received (for sensor #%d which is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorType); continue @@ -1648,7 +1648,7 @@ end if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -2060,7 +2060,7 @@ cycleNum = values(1); if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -2116,7 +2116,7 @@ cycleNum = tabTech(9); if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -2200,7 +2200,7 @@ cycleNum = values(7); if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -2257,7 +2257,7 @@ cycleNum = values(7); if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -2312,7 +2312,7 @@ if (length(idTech) > 1) idDelInTech = [idDelInTech; idTech(1:end-1)]; - fprintf('WARNING: Float #%d: %d duplicated float technical messages for cycle #%d and profile #%d => only the last one is considered\n', ... + fprintf('WARNING: Float #%d: %d duplicated float technical messages for cycle #%d and profile #%d - only the last one is considered\n', ... g_decArgo_floatNum, length(idTech), cy, prof); end end diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_rudics_cts4_111_113.m b/decArgo_soft/soft/sub/decode_prv_data_ir_rudics_cts4_111_113.m index cc3b3138..593b009a 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_rudics_cts4_111_113.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_rudics_cts4_111_113.m @@ -82,7 +82,7 @@ % CTD (mean & raw) if (~ismember(0, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 0); return @@ -133,7 +133,7 @@ % CTD (stDev & median) if (~ismember(0, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 0); return @@ -194,7 +194,7 @@ % OXYGEN (mean & raw) if (~ismember(1, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 1); return @@ -248,7 +248,7 @@ % OXYGEN (stDev & median) if (~ismember(1, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 1); return @@ -313,7 +313,7 @@ % ECO2 (mean & raw) if (~ismember(3, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 3); return @@ -365,7 +365,7 @@ % ECO2 (stDev & median) if (~ismember(3, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 3); return @@ -424,7 +424,7 @@ % ECO3 (mean & raw) if (~ismember(3, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 3); return @@ -479,7 +479,7 @@ % ECO3 (stDev & median) if (~ismember(3, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 3); return @@ -544,7 +544,7 @@ % OCR (mean & raw) if (~ismember(2, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 2); return @@ -602,7 +602,7 @@ % OCR (stDev & median) if (~ismember(2, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 2); return @@ -673,7 +673,7 @@ % FLNTU (mean & raw) if (~ismember(4, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 4); return @@ -724,7 +724,7 @@ % FLNTU (stDev & median) if (~ismember(4, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 4); return @@ -782,7 +782,7 @@ % cROVER (mean & raw) if (~ismember(5, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 5); return @@ -830,7 +830,7 @@ % cRover (stDev & median) if (~ismember(5, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 5); return @@ -881,7 +881,7 @@ % SUNA (mean & raw) if (~ismember(6, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 6); return @@ -929,7 +929,7 @@ % SUNA (stDev & median) if (~ismember(6, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 6); return @@ -980,7 +980,7 @@ % SUNA (APF) if (~ismember(6, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 6); return @@ -1043,7 +1043,7 @@ % SEAFET (mean & raw) if (~ismember(4, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 4); return @@ -1091,7 +1091,7 @@ % SEAFET (stDev & median) if (~ismember(4, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor DATA packet received (#%d while sensor #%d is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorDataType, 4); return @@ -1269,7 +1269,7 @@ sensorType = tabData(2); if (~ismember(sensorType, g_decArgo_sensorList)) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor TECH packet received (for sensor #%d which is not mounted on the float) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent sensor TECH packet received (for sensor #%d which is not mounted on the float) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... sensorType); return diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd2_301.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd2_301.m index e7f2ad7d..5ea54040 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd2_301.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd2_301.m @@ -294,7 +294,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -347,7 +347,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -410,7 +410,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -466,7 +466,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -533,7 +533,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -586,7 +586,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -674,7 +674,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -973,7 +973,7 @@ % anomaly management (ex: 2902087 cycle #38) profNum = tabTech(10); if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -1059,7 +1059,7 @@ profNum = values(8); if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -1078,7 +1078,7 @@ cycleNum = values(7); if (cycleNum ~= g_decArgo_cycleNum) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent cycle number (#%d instead of #%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... cycleNum, g_decArgo_cycleNum); continue @@ -1135,7 +1135,7 @@ profNum = values(8); if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -1198,7 +1198,7 @@ if (length(idTech) > 1) idDelInTech = [idDelInTech; idTech(1:end-1)]; - fprintf('WARNING: Float #%d: %d duplicated float technical messages for cycle #%d and profile #%d => only the last one is considered\n', ... + fprintf('WARNING: Float #%d: %d duplicated float technical messages for cycle #%d and profile #%d - only the last one is considered\n', ... g_decArgo_floatNum, length(idTech), cy, prof); end end diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd2_302_303.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd2_302_303.m index 4c748d4c..8c6cf85b 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd2_302_303.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd2_302_303.m @@ -365,7 +365,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -418,7 +418,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -481,7 +481,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -534,7 +534,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -594,7 +594,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -647,7 +647,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -707,7 +707,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -757,7 +757,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -810,7 +810,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue @@ -860,7 +860,7 @@ g_decArgo_cycleNum = cycleNum; if (profNum > 9) - fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) => ignoring packet data\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: inconsistent profile number (#%d) - ignoring packet data\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... profNum); continue diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_209.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_209.m index e8d680f5..1e53ddb7 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_209.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_209.m @@ -218,7 +218,7 @@ (((packType == 8) || (packType == 9) || (packType == 10)) && (optodeType == 1)) || ... (((packType == 11) || (packType == 12) || (packType == 13)) && (optodeType == 4)) || ... (((packType == 14) || (packType == 15) || (packType == 16)) && (optodeType == 5))) - fprintf('ERROR: Float #%d: Inconsistency between optode type (PM17 = %d) and received data type (= %d) => received data will be ignored\n', ... + fprintf('ERROR: Float #%d: Inconsistency between optode type (PM17 = %d) and received data type (= %d) - received data will be ignored\n', ... g_decArgo_floatNum, optodeType, packType); end end diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_210_211.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_210_211.m index 73828bb9..e4c2883c 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_210_211.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_210_211.m @@ -124,11 +124,11 @@ if (a_procLevel == 1) if (length(idEq) == 2) - fprintf('INFO: Float #%d: %s received twice => only one is decoded\n', ... + fprintf('INFO: Float #%d: %s received twice - only one is decoded\n', ... g_decArgo_floatNum, ... packetName); else - fprintf('INFO: Float #%d: %s received %d times => only one is decoded\n', ... + fprintf('INFO: Float #%d: %s received %d times - only one is decoded\n', ... g_decArgo_floatNum, ... packetName, ... length(idEq)); @@ -241,7 +241,7 @@ ([g_decArgo_iridiumMailData.timeOfSessionJuld] <= max(a_tabDataDates)) & ... ([g_decArgo_iridiumMailData.cepRadius] ~= 0)); if (isempty(idF)) - fprintf('ERROR: Float #%d: Unable to retrieve associated Iridium file => GPS location orientation can be erroneous\n', ... + fprintf('ERROR: Float #%d: Unable to retrieve associated Iridium file - GPS location orientation can be erroneous\n', ... g_decArgo_floatNum); else % we use the more reliable Iridium location (for the 3901872 #12 @@ -569,7 +569,7 @@ end else ignoredPacketTypes = sprintf('%d ', sort(a_tabData(:, 1))); - fprintf('WARNING: Float #%d: Cycle number cannot be determined => ignore data of current buffer (packet types: %s)\n', ... + fprintf('WARNING: Float #%d: Cycle number cannot be determined - ignore data of current buffer (packet types: %s)\n', ... g_decArgo_floatNum, ... ignoredPacketTypes(1:end-1)); @@ -600,7 +600,7 @@ o_evAct = []; o_pumpAct = []; o_deepCycle = 0; - fprintf('INFO: Float #%d Cycle #%d: Deep data received twice in EOL mode => deep data of second transmission ignored\n', ... + fprintf('INFO: Float #%d Cycle #%d: Deep data received twice in EOL mode - deep data of second transmission ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_212.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_212.m index f4fe9b7d..b164a265 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_212.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_212.m @@ -89,6 +89,9 @@ cycleNum = tabTech1(1); + % check decoder Id + check_decoder_id(tabTech1(3), 212, g_decArgo_floatNum); + % compute the offset between float days and julian days julD2FloatDayOffset = -1; startDateInfo = [tabTech1(5:7); tabTech1(9)]; diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_213.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_213.m index 23b2592e..18a72978 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_213.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_213.m @@ -119,11 +119,11 @@ if (a_procLevel == 1) if (length(idEq) == 2) - fprintf('INFO: Float #%d: %s received twice => only one is decoded\n', ... + fprintf('INFO: Float #%d: %s received twice - only one is decoded\n', ... g_decArgo_floatNum, ... packetName); else - fprintf('INFO: Float #%d: %s received %d times => only one is decoded\n', ... + fprintf('INFO: Float #%d: %s received %d times - only one is decoded\n', ... g_decArgo_floatNum, ... packetName, ... length(idEq)); @@ -268,7 +268,7 @@ tabTech2 = get_bits(firstBit, tabNbBits, msgData); % float 3901863 has been programmed with no CTD acquisition during 2 - % cycles => we cannot manage that for a subsurface cycle (detection of + % cycles - we cannot manage that for a subsurface cycle (detection of % surface/subsurface cycle is done with the number of CTD packets) if ((g_decArgo_floatNum == 3901863) && ... ~isempty(g_decArgo_cycleNum) && ... @@ -289,7 +289,7 @@ % BE CAREFUL % there is an issue with grounding day when the grounding occured % during the descent to profile depth phase (i.e. phase #5) - % => the decoded value should be 256 - transmitted value + % - the decoded value should be 256 - transmitted value if ((tabTech2(21) > 0) && (tabTech2(25) == 5)) tabTech2(23) = 256 - tabTech2(23); end diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_214_217.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_214_217.m index 482a360b..536216a2 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_214_217.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_214_217.m @@ -3,13 +3,14 @@ % % SYNTAX : % [o_decodedData] = decode_prv_data_ir_sbd_214_217( ... -% a_tabData, a_sbdFileName, a_sbdFileDate, a_launchDate) +% a_tabData, a_sbdFileName, a_sbdFileDate, a_launchDate, a_decoderId) % % INPUT PARAMETERS : % a_tabData : data packet to decode % a_sbdFileName : SBD file name % a_sbdFileDate : SBD file date % a_launchDate : float launch date +% a_decoderId : float decoder Id % % OUTPUT PARAMETERS : % o_decodedData : decoded data @@ -23,7 +24,7 @@ % 12/17/2018 - RNU - creation % ------------------------------------------------------------------------------ function [o_decodedData] = decode_prv_data_ir_sbd_214_217( ... - a_tabData, a_sbdFileName, a_sbdFileDate, a_launchDate) + a_tabData, a_sbdFileName, a_sbdFileDate, a_launchDate, a_decoderId) % output parameters initialization o_decodedData = []; @@ -90,6 +91,9 @@ cycleNum = tabTech1(1); + % check decoder Id + check_decoder_id(tabTech1(3), a_decoderId, g_decArgo_floatNum); + % compute the offset between float days and julian days julD2FloatDayOffset = -1; startDateInfo = [tabTech1(5:7); tabTech1(9)]; diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_216.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_216.m index b03469e1..e22b3299 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_216.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_216.m @@ -92,7 +92,7 @@ tabTech1 = get_bits(firstBit, tabNbBits, msgData); cycleNum = tabTech1(1); - + % compute float time floatTime = datenum(sprintf('%02d%02d%02d%02d%02d%02d', tabTech1(38:43)), 'HHMMSSddmmyy') - g_decArgo_janFirst1950InMatlab; diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_221.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_221.m index f262a34f..0e3b1418 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_221.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_221.m @@ -323,6 +323,9 @@ % compute float time floatTime = datenum(sprintf('%02d%02d%02d%02d%02d%02d', tabParam1(1:6)), 'HHMMSSddmmyy') - g_decArgo_janFirst1950InMatlab; + % alternated profile pressure + tabParam1(43) = tabParam1(43)*10; + % calibration coefficients tabParam1(62) = tabParam1(62)/1000; tabParam1(63) = -tabParam1(63); diff --git a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_222_223.m b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_222_223.m index 9c94a5f9..526c0895 100644 --- a/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_222_223.m +++ b/decArgo_soft/soft/sub/decode_prv_data_ir_sbd_222_223.m @@ -3,13 +3,14 @@ % % SYNTAX : % [o_decodedData] = decode_prv_data_ir_sbd_222_223( ... -% a_tabData, a_sbdFileName, a_sbdFileDate, a_launchDate) +% a_tabData, a_sbdFileName, a_sbdFileDate, a_launchDate, a_decoderId) % % INPUT PARAMETERS : % a_tabData : data packet to decode % a_sbdFileName : SBD file name % a_sbdFileName : SBD file date % a_launchDate : float launch date +% a_decoderId : float decoder Id % % OUTPUT PARAMETERS : % o_decodedData : decoded data @@ -23,7 +24,7 @@ % 02/06/2020 - RNU - creation % ------------------------------------------------------------------------------ function [o_decodedData] = decode_prv_data_ir_sbd_222_223( ... - a_tabData, a_sbdFileName, a_sbdFileDate, a_launchDate) + a_tabData, a_sbdFileName, a_sbdFileDate, a_launchDate, a_decoderId) % output parameters initialization o_decodedData = []; @@ -92,6 +93,9 @@ cycleNum = tabTech1(1); + % check decoder Id + check_decoder_id(tabTech1(3), a_decoderId, g_decArgo_floatNum); + % compute the offset between float days and julian days julD2FloatDayOffset = -1; startDateInfo = [tabTech1(5:7); tabTech1(9)]; diff --git a/decArgo_soft/soft/sub/decode_sbd_file.m b/decArgo_soft/soft/sub/decode_sbd_file.m index 30184999..61623152 100644 --- a/decArgo_soft/soft/sub/decode_sbd_file.m +++ b/decArgo_soft/soft/sub/decode_sbd_file.m @@ -87,7 +87,7 @@ % decode the collected data decodedData = decode_prv_data_ir_sbd_214_217(sbdDataTab(idMsg, :), ... - a_sbdFileName, a_sbdFileDate, a_launchDate); + a_sbdFileName, a_sbdFileDate, a_launchDate, a_decoderId); o_decodedData = [o_decodedData decodedData]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -129,7 +129,7 @@ % decode the collected data decodedData = decode_prv_data_ir_sbd_222_223(sbdDataTab(idMsg, :), ... - a_sbdFileName, a_sbdFileDate, a_launchDate); + a_sbdFileName, a_sbdFileDate, a_launchDate, a_decoderId); o_decodedData = [o_decodedData decodedData]; otherwise diff --git a/decArgo_soft/soft/sub/decode_science_log_apx_apf11_ir_1121_to_1123_1321.m b/decArgo_soft/soft/sub/decode_science_log_apx_apf11_ir_1121_to_1123_1321.m index 9c7ecca5..f2b2e023 100644 --- a/decArgo_soft/soft/sub/decode_science_log_apx_apf11_ir_1121_to_1123_1321.m +++ b/decArgo_soft/soft/sub/decode_science_log_apx_apf11_ir_1121_to_1123_1321.m @@ -131,7 +131,7 @@ end [error, data] = read_apx_apf11_ir_binary_log_file(sciFilePathName, 'science', fromLaunchFlag, 0); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, sciFilePathName); return end @@ -140,7 +140,7 @@ if (~isempty(data.CTD_P)) if (any(data.CTD_P(:, 2) == -999)) idF = find(data.CTD_P(:, 2) == -999); - fprintf('WARNING: Float #%d Cycle #%d: %d CTD_P measurements (with PRES = -999) in file: %s => removed\n', ... + fprintf('WARNING: Float #%d Cycle #%d: %d CTD_P measurements (with PRES = -999) in file: %s - removed\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, length(idF), sciFilePathName); data.CTD_P(idF, :) = []; end @@ -150,7 +150,7 @@ if (~isempty(data.CTD_PT)) if (any((data.CTD_PT(:, 2) == 0) & (data.CTD_PT(:, 3) == 0))) idF = find((data.CTD_PT(:, 2) == 0) & (data.CTD_PT(:, 3) == 0)); - fprintf('WARNING: Float #%d Cycle #%d: %d CTD_PT measurements (with PRES = 0 and TEMP = 0) in file: %s => removed\n', ... + fprintf('WARNING: Float #%d Cycle #%d: %d CTD_PT measurements (with PRES = 0 and TEMP = 0) in file: %s - removed\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, length(idF), sciFilePathName); data.CTD_PT(idF, :) = []; end @@ -195,13 +195,13 @@ o_cycleTimeData.ascentEndDateSci = msg{idM, 1}; o_cycleTimeData.ascentEndDate = o_cycleTimeData.ascentEndDateSci; otherwise - fprintf('WARNING: Float #%d Cycle #%d: Message #%d is not managed => ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: Message #%d is not managed - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgId); end else idF = cellfun(@(x) strfind(msgData, x), ignoredMessages, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('ERROR: Float #%d Cycle #%d: Not managed ''%s'' information (''%s'') in file: %s => ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Not managed ''%s'' information (''%s'') in file: %s - ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, 'Message', msgData, sciFilePathName); continue end @@ -271,7 +271,7 @@ ocr504I = [ocr504I; data.(fieldName)]; end else - fprintf('ERROR: Float #%d Cycle #%d: Field ''%s'' not expected in file: %s => ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Field ''%s'' not expected in file: %s - ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, fieldName, sciFilePathName); end end diff --git a/decArgo_soft/soft/sub/decode_science_log_apx_apf11_ir_1322.m b/decArgo_soft/soft/sub/decode_science_log_apx_apf11_ir_1322.m index 20ecbe00..412f699a 100644 --- a/decArgo_soft/soft/sub/decode_science_log_apx_apf11_ir_1322.m +++ b/decArgo_soft/soft/sub/decode_science_log_apx_apf11_ir_1322.m @@ -129,7 +129,7 @@ end [error, data] = read_apx_apf11_ir_binary_log_file(sciFilePathName, 'science', fromLaunchFlag, 0); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, sciFilePathName); return end @@ -138,7 +138,7 @@ if (~isempty(data.CTD_P)) if (any(data.CTD_P(:, 2) == -999)) idF = find(data.CTD_P(:, 2) == -999); - fprintf('WARNING: Float #%d Cycle #%d: %d CTD_P measurements (with PRES = -999) in file: %s => removed\n', ... + fprintf('WARNING: Float #%d Cycle #%d: %d CTD_P measurements (with PRES = -999) in file: %s - removed\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, length(idF), sciFilePathName); data.CTD_P(idF, :) = []; end @@ -148,7 +148,7 @@ if (~isempty(data.CTD_PT)) if (any((data.CTD_PT(:, 2) == 0) & (data.CTD_PT(:, 3) == 0))) idF = find((data.CTD_PT(:, 2) == 0) & (data.CTD_PT(:, 3) == 0)); - fprintf('WARNING: Float #%d Cycle #%d: %d CTD_PT measurements (with PRES = 0 and TEMP = 0) in file: %s => removed\n', ... + fprintf('WARNING: Float #%d Cycle #%d: %d CTD_PT measurements (with PRES = 0 and TEMP = 0) in file: %s - removed\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, length(idF), sciFilePathName); data.CTD_PT(idF, :) = []; end @@ -193,13 +193,13 @@ o_cycleTimeData.ascentEndDateSci = msg{idM, 1}; o_cycleTimeData.ascentEndDate = o_cycleTimeData.ascentEndDateSci; otherwise - fprintf('WARNING: Float #%d Cycle #%d: Message #%d is not managed => ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: Message #%d is not managed - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgId); end else idF = cellfun(@(x) strfind(msgData, x), ignoredMessages, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('ERROR: Float #%d Cycle #%d: Not managed ''%s'' information (''%s'') in file: %s => ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Not managed ''%s'' information (''%s'') in file: %s - ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, 'Message', msgData, sciFilePathName); continue end @@ -269,7 +269,7 @@ ocr504I = [ocr504I; data.(fieldName)]; end else - fprintf('ERROR: Float #%d Cycle #%d: Field ''%s'' not expected in file: %s => ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Field ''%s'' not expected in file: %s - ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, fieldName, sciFilePathName); end end diff --git a/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1121_1321_1322.m b/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1121_1321_1322.m index d21a03d4..fa1474af 100644 --- a/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1121_1321_1322.m +++ b/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1121_1321_1322.m @@ -91,7 +91,7 @@ end [error, events] = read_apx_apf11_ir_system_log_file(sysFilePathName, fromLaunchFlag); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, sysFilePathName); return end @@ -115,9 +115,14 @@ end % configuration information - idEvts = find(strcmp({events.functionName}, 'MissionCfg') | strcmp({events.functionName}, 'SampleCfg')); + idEvts = find( ... + strcmp({events.functionName}, 'MissionCfg') | ... + strcmp({events.functionName}, 'mission_cfg') | ... + strcmp({events.functionName}, 'SampleCfg') | ... + strcmp({events.functionName}, 'sample_cfg') ... + ); if (~isempty(idEvts)) - [missionCfg, sampleCfg] = process_apx_apf11_ir_config_evts_1121_1321_1322(events(idEvts)); + [missionCfg, sampleCfg] = process_apx_apf11_ir_config_evts(events(idEvts)); o_missionCfg = [o_missionCfg; missionCfg]; o_sampleCfg = [o_sampleCfg; sampleCfg]; @@ -176,7 +181,7 @@ idEvts = find(strcmp({events.functionName}, 'PARKDESCENT') | ... strcmp({events.functionName}, 'DEEPDESCENT')); if (~isempty(idEvts)) - grounding = process_apx_apf11_ir_grounding_evts_1121_1123_1321_1322(events(idEvts)); + grounding = process_apx_apf11_ir_grounding_evts(events(idEvts)); if (~isempty(grounding)) dataStruct = get_apx_misc_data_init_struct('Grounding', [], [], []); dataStruct.label = 'Grounding date & pressure'; diff --git a/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1122.m b/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1122.m index ef48928e..29be178b 100644 --- a/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1122.m +++ b/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1122.m @@ -91,7 +91,7 @@ end [error, events] = read_apx_apf11_ir_system_log_file(sysFilePathName, fromLaunchFlag); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, sysFilePathName); return end @@ -114,9 +114,14 @@ end % configuration information - idEvts = find(strcmp({events.functionName}, 'mission_cfg') | strcmp({events.functionName}, 'sample_cfg')); + idEvts = find( ... + strcmp({events.functionName}, 'MissionCfg') | ... + strcmp({events.functionName}, 'mission_cfg') | ... + strcmp({events.functionName}, 'SampleCfg') | ... + strcmp({events.functionName}, 'sample_cfg') ... + ); if (~isempty(idEvts)) - [missionCfg, sampleCfg] = process_apx_apf11_ir_config_evts_1122(events(idEvts)); + [missionCfg, sampleCfg] = process_apx_apf11_ir_config_evts(events(idEvts)); o_missionCfg = [o_missionCfg; missionCfg]; o_sampleCfg = [o_sampleCfg; sampleCfg]; @@ -174,7 +179,7 @@ idEvts = find(strcmp({events.functionName}, 'PARKDESCENT') | ... strcmp({events.functionName}, 'DEEPDESCENT')); if (~isempty(idEvts)) - grounding = process_apx_apf11_ir_grounding_evts_1122(events(idEvts)); + grounding = process_apx_apf11_ir_grounding_evts(events(idEvts)); if (~isempty(grounding)) dataStruct = get_apx_misc_data_init_struct('Grounding', [], [], []); dataStruct.label = 'Grounding date & pressure'; diff --git a/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1123.m b/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1123.m index c96a3549..bd3945c5 100644 --- a/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1123.m +++ b/decArgo_soft/soft/sub/decode_system_log_apx_apf11_ir_1123.m @@ -91,7 +91,7 @@ end [error, events] = read_apx_apf11_ir_system_log_file(sysFilePathName, fromLaunchFlag); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, sysFilePathName); return end @@ -115,9 +115,14 @@ end % configuration information - idEvts = find(strcmp({events.functionName}, 'MissionCfg') | strcmp({events.functionName}, 'sample_cfg')); + idEvts = find( ... + strcmp({events.functionName}, 'MissionCfg') | ... + strcmp({events.functionName}, 'mission_cfg') | ... + strcmp({events.functionName}, 'SampleCfg') | ... + strcmp({events.functionName}, 'sample_cfg') ... + ); if (~isempty(idEvts)) - [missionCfg, sampleCfg] = process_apx_apf11_ir_config_evts_1123(events(idEvts)); + [missionCfg, sampleCfg] = process_apx_apf11_ir_config_evts(events(idEvts)); o_missionCfg = [o_missionCfg; missionCfg]; o_sampleCfg = [o_sampleCfg; sampleCfg]; @@ -176,7 +181,7 @@ idEvts = find(strcmp({events.functionName}, 'PARKDESCENT') | ... strcmp({events.functionName}, 'DEEPDESCENT')); if (~isempty(idEvts)) - grounding = process_apx_apf11_ir_grounding_evts_1121_1123_1321_1322(events(idEvts)); + grounding = process_apx_apf11_ir_grounding_evts(events(idEvts)); if (~isempty(grounding)) dataStruct = get_apx_misc_data_init_struct('Grounding', [], [], []); dataStruct.label = 'Grounding date & pressure'; @@ -266,7 +271,6 @@ o_techData{end+1} = dataStruct; end - % buoyancy activity % buoyancy activity idEvts = find(strcmp({events.functionName}, 'BuoyEngine')); if (~isempty(idEvts)) diff --git a/decArgo_soft/soft/sub/decode_test_apx_1.m b/decArgo_soft/soft/sub/decode_test_apx_1.m index ab9f72ec..98957ca8 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_1.m +++ b/decArgo_soft/soft/sub/decode_test_apx_1.m @@ -914,7 +914,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_10.m b/decArgo_soft/soft/sub/decode_test_apx_10.m index 24034223..082c9b98 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_10.m +++ b/decArgo_soft/soft/sub/decode_test_apx_10.m @@ -986,7 +986,7 @@ o_techData{end+1} = dataStruct; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_11.m b/decArgo_soft/soft/sub/decode_test_apx_11.m index 89e02346..f0a6b118 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_11.m +++ b/decArgo_soft/soft/sub/decode_test_apx_11.m @@ -1015,7 +1015,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_12.m b/decArgo_soft/soft/sub/decode_test_apx_12.m index 804a7560..5f584c6b 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_12.m +++ b/decArgo_soft/soft/sub/decode_test_apx_12.m @@ -1039,7 +1039,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_13_15.m b/decArgo_soft/soft/sub/decode_test_apx_13_15.m index da0789ab..1688af72 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_13_15.m +++ b/decArgo_soft/soft/sub/decode_test_apx_13_15.m @@ -870,7 +870,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_16.m b/decArgo_soft/soft/sub/decode_test_apx_16.m index 74055df7..b0895993 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_16.m +++ b/decArgo_soft/soft/sub/decode_test_apx_16.m @@ -904,7 +904,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_21_22.m b/decArgo_soft/soft/sub/decode_test_apx_21_22.m index 25d0eaf0..119a77c6 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_21_22.m +++ b/decArgo_soft/soft/sub/decode_test_apx_21_22.m @@ -887,7 +887,7 @@ o_techData{end+1} = dataStruct; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_2_3.m b/decArgo_soft/soft/sub/decode_test_apx_2_3.m index 934df60f..850b517f 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_2_3.m +++ b/decArgo_soft/soft/sub/decode_test_apx_2_3.m @@ -871,7 +871,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_4.m b/decArgo_soft/soft/sub/decode_test_apx_4.m index 4f2cc25d..4ed176c1 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_4.m +++ b/decArgo_soft/soft/sub/decode_test_apx_4.m @@ -890,7 +890,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_5.m b/decArgo_soft/soft/sub/decode_test_apx_5.m index 46618264..cf409116 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_5.m +++ b/decArgo_soft/soft/sub/decode_test_apx_5.m @@ -908,7 +908,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_6.m b/decArgo_soft/soft/sub/decode_test_apx_6.m index e24bb802..78c67397 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_6.m +++ b/decArgo_soft/soft/sub/decode_test_apx_6.m @@ -887,7 +887,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_7.m b/decArgo_soft/soft/sub/decode_test_apx_7.m index cee2762e..876cb121 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_7.m +++ b/decArgo_soft/soft/sub/decode_test_apx_7.m @@ -903,7 +903,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_8_14.m b/decArgo_soft/soft/sub/decode_test_apx_8_14.m index bff1eac2..37c5d89d 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_8_14.m +++ b/decArgo_soft/soft/sub/decode_test_apx_8_14.m @@ -870,7 +870,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_test_apx_9.m b/decArgo_soft/soft/sub/decode_test_apx_9.m index 5e0e0ca4..ace1e592 100644 --- a/decArgo_soft/soft/sub/decode_test_apx_9.m +++ b/decArgo_soft/soft/sub/decode_test_apx_9.m @@ -978,7 +978,7 @@ o_metaData = [o_metaData; dataStruct]; else - fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: message #%d is not allowed as test message - not considered\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgNum); end end diff --git a/decArgo_soft/soft/sub/decode_vitals_log_apx_apf11_ir.m b/decArgo_soft/soft/sub/decode_vitals_log_apx_apf11_ir.m index da099c60..0af6b760 100644 --- a/decArgo_soft/soft/sub/decode_vitals_log_apx_apf11_ir.m +++ b/decArgo_soft/soft/sub/decode_vitals_log_apx_apf11_ir.m @@ -73,7 +73,7 @@ end [error, data] = read_apx_apf11_ir_binary_log_file(vitFilePathName, 'vitals', fromLaunchFlag, 0); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, vitFilePathName); return end @@ -96,7 +96,7 @@ else idF = cellfun(@(x) strfind(msgData, x), ignoredMessages, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('ERROR: Float #%d Cycle #%d: Not managed ''%s'' information (''%s'') in file: %s => ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Not managed ''%s'' information (''%s'') in file: %s - ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, 'Message', msgData, vitFilePathName); continue end @@ -124,7 +124,7 @@ o_vitalsData.WD_CNT = wdCntNew; end else - fprintf('ERROR: Float #%d Cycle #%d: Field ''%s'' not expected in file: %s => ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Field ''%s'' not expected in file: %s - ignored (ASK FOR AN UPDATE OF THE DECODER)\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, fieldName, vitFilePathName); end end diff --git a/decArgo_soft/soft/sub/duplicate_files_ir_cts5.m b/decArgo_soft/soft/sub/duplicate_files_ir_cts5.m index aa674c4c..e7b9ad52 100644 --- a/decArgo_soft/soft/sub/duplicate_files_ir_cts5.m +++ b/decArgo_soft/soft/sub/duplicate_files_ir_cts5.m @@ -82,7 +82,7 @@ filePathNameOut = [a_outputDir '/' fileNameOut]; if (exist(filePathNameOut, 'file') == 2) % file exists - % fprintf('%s => unchanged\n', fileNameOut); + % fprintf('%s - unchanged\n', fileNameOut); else fileExist = dir([a_outputDir '/' fileName(1:end-4) '_*' fileName(end-3:end)]); if (~isempty(fileExist)) @@ -90,12 +90,12 @@ move_file([a_outputDir '/' fileExist.name], g_decArgo_updatedDirectory); copy_file(fileNameIn, filePathNameOut); o_nbFiles = o_nbFiles + 1; - % fprintf('%s => copy (update of %s)\n', fileNameOut,fileExist.name); + % fprintf('%s - copy (update of %s)\n', fileNameOut,fileExist.name); else % copy new file copy_file(fileNameIn, filePathNameOut); o_nbFiles = o_nbFiles + 1; - % fprintf('%s => copy\n', fileNameOut); + % fprintf('%s - copy\n', fileNameOut); end end end @@ -108,7 +108,7 @@ delFile = dir([a_outputDir '/019b_*']); for idF = 1:length(delFile) move_file([a_outputDir '/' delFile(idF).name], g_decArgo_unusedDirectory); - % fprintf('MISC: %s => not used\n', delFile(idF).name); + % fprintf('MISC: %s - not used\n', delFile(idF).name); end case 4901802 @@ -118,7 +118,7 @@ if (~isempty(delFile)) move_file([a_outputDir '/' delFile.name], g_decArgo_unusedDirectory); end - % fprintf('MISC: %s => not used\n', delFile.name); + % fprintf('MISC: %s - not used\n', delFile.name); % 013b_system_00007#02.hex should be renamed 013b_system_00007#02.hex movFile = dir([a_outputDir '/013b_system_00007#02*.hex']); if (~isempty(movFile)) @@ -142,7 +142,7 @@ if (~files(idF).isdir) if (datenum(files(idF).date, 'dd-mmmm-yyyy HH:MM:SS')-g_decArgo_janFirst1950InMatlab < startDate) move_file([a_outputDir '/' files(idF).name], g_decArgo_unusedDirectory); - % fprintf('MISC: %s => not used\n', files(idF).name); + % fprintf('MISC: %s - not used\n', files(idF).name); end end end diff --git a/decArgo_soft/soft/sub/duplicate_files_ir_rudics_apx.m b/decArgo_soft/soft/sub/duplicate_files_ir_rudics_apx.m index a5132535..e819d09e 100644 --- a/decArgo_soft/soft/sub/duplicate_files_ir_rudics_apx.m +++ b/decArgo_soft/soft/sub/duplicate_files_ir_rudics_apx.m @@ -57,7 +57,7 @@ fileNames = dir(dataFilePathName); if (fileNames(1).bytes == 0) - fprintf('RSYNC_INFO: Empty file: %s => ignored\n', dataFilePathName); + fprintf('RSYNC_INFO: Empty file: %s - ignored\n', dataFilePathName); continue end @@ -97,7 +97,7 @@ nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file(dataFilePathName); if (error == 1) - fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end @@ -151,7 +151,7 @@ if (~isempty(dates)) date = min(dates); else - fprintf('RSYNC_INFO: Float #%d: No dates in file ''%s'' => ignored\n', ... + fprintf('RSYNC_INFO: Float #%d: No dates in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end @@ -160,7 +160,7 @@ [error, events] = read_apx_ir_rudics_log_file(dataFilePathName); if (error == 1) - fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end @@ -312,7 +312,7 @@ % use deployment date [error, events] = read_apx_ir_rudics_log_file([g_decArgo_archiveDirectory fileName]); if (error == 1) - fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... a_floatNum, [g_decArgo_archiveDirectory fileName]); continue end @@ -405,7 +405,7 @@ nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file([g_decArgo_archiveDirectory fileName]); if (error == 1) - fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... a_floatNum, [g_decArgo_archiveDirectory fileName]); continue end @@ -536,7 +536,7 @@ fileNameOut = [fileName(1:idF2(idF3(1))) 'UUU' fileName(idF2(idF3(2)):end)]; move_file(filePathName, [filePath '/' fileNameOut fileExt]); - % fprintf('\t=> File %s moved to %s\n', ... + % fprintf('\t- File %s moved to %s\n', ... % [fileName fileExt], ... % [fileNameOut fileExt]); end @@ -612,7 +612,7 @@ fileNameOut = [fileName(1:idF2(idF3(1))) 'UUU' fileName(idF2(idF3(2)):end)]; move_file(filePathName, [filePath '/' fileNameOut fileExt]); - % log{end+1} = sprintf('\t=> File %s moved to %s\n', ... + % log{end+1} = sprintf('\t- File %s moved to %s\n', ... % [fileName fileExt], ... % [fileNameOut fileExt]); printLog = 1; diff --git a/decArgo_soft/soft/sub/duplicate_files_ir_sbd_apx.m b/decArgo_soft/soft/sub/duplicate_files_ir_sbd_apx.m index 559ed687..21d822bd 100644 --- a/decArgo_soft/soft/sub/duplicate_files_ir_sbd_apx.m +++ b/decArgo_soft/soft/sub/duplicate_files_ir_sbd_apx.m @@ -87,7 +87,7 @@ engineeringDataStr, ... ] = read_apx_ir_sbd_msg_file(dataFilePathName, a_decoderId, 0); if (error == 1) - fprintf('DEC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('DEC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end @@ -111,7 +111,7 @@ end if (isempty(dates)) - fprintf('DEC_INFO: Float #%d: No dates in file ''%s'' => ignored\n', ... + fprintf('DEC_INFO: Float #%d: No dates in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end @@ -121,7 +121,7 @@ fileType = 2; [error, events] = read_apx_ir_sbd_log_file(dataFilePathName); if (error == 1) - fprintf('DEC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('DEC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end @@ -582,7 +582,7 @@ engineeringDataStr, ... ] = read_apx_ir_sbd_msg_file(dataFilePathName, a_decoderId, 0); if (error == 1) - fprintf('DEC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('DEC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end @@ -606,7 +606,7 @@ end if (isempty(dates)) - fprintf('DEC_INFO: Float #%d: No dates in file ''%s'' => ignored\n', ... + fprintf('DEC_INFO: Float #%d: No dates in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end @@ -616,7 +616,7 @@ fileType = 2; [error, events] = read_apx_ir_sbd_log_file(dataFilePathName); if (error == 1) - fprintf('DEC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('DEC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... a_floatNum, dataFilePathName); continue end diff --git a/decArgo_soft/soft/sub/fill_empty_profile_locations_argos.m b/decArgo_soft/soft/sub/fill_empty_profile_locations_argos.m index 90cf90ce..b804dc4e 100644 --- a/decArgo_soft/soft/sub/fill_empty_profile_locations_argos.m +++ b/decArgo_soft/soft/sub/fill_empty_profile_locations_argos.m @@ -138,7 +138,7 @@ a_tabProfiles(idProf).locationLat = interpLocLat; a_tabProfiles(idProf).locationQc = g_decArgo_qcStrInterpolated; else - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... profile.cycleNumber); end diff --git a/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_rudics.m b/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_rudics.m index 63680af0..b42c33f8 100644 --- a/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_rudics.m +++ b/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_rudics.m @@ -40,7 +40,7 @@ (a_tabProfiles(idProf).locationLon == g_decArgo_argosLonDef) || ... (a_tabProfiles(idProf).locationLat == g_decArgo_argosLatDef)) a_tabProfiles(idProf) = add_profile_date_and_location( ... - a_tabProfiles(idProf), a_tabTrajNMeas, a_tabTrajNCycle, a_tabProfiles); + a_tabProfiles(idProf), a_tabTrajNMeas, a_tabTrajNCycle, a_tabProfiles, a_gpsData); end end @@ -94,38 +94,38 @@ % unpack the input data -a_gpsLocCycleNum = a_gpsData{1}; -a_gpsLocProfNum = a_gpsData{2}; -a_gpsLocPhase = a_gpsData{3}; -a_gpsLocDate = a_gpsData{4}; -a_gpsLocLon = a_gpsData{5}; -a_gpsLocLat = a_gpsData{6}; -a_gpsLocQc = a_gpsData{7}; -a_gpsLocAccuracy = a_gpsData{8}; -a_gpsLocSbdFileDate = a_gpsData{9}; +gpsLocCycleNum = a_gpsData{1}; +gpsLocProfNum = a_gpsData{2}; +gpsLocPhase = a_gpsData{3}; +gpsLocDate = a_gpsData{4}; +gpsLocLon = a_gpsData{5}; +gpsLocLat = a_gpsData{6}; +gpsLocQc = a_gpsData{7}; +gpsLocAccuracy = a_gpsData{8}; +gpsLocSbdFileDate = a_gpsData{9}; % we must interpolate between the existing GPS locations prevLocDate = g_decArgo_dateDef; nextLocDate = g_decArgo_dateDef; % find the previous GPS location -idPrev = find(a_gpsLocDate <= a_profStruct.date); +idPrev = find(gpsLocDate <= a_profStruct.date); if (~isempty(idPrev)) idPrev = idPrev(end); - prevLocDate = a_gpsLocDate(idPrev); - prevLocLon = a_gpsLocLon(idPrev); - prevLocLat = a_gpsLocLat(idPrev); + prevLocDate = gpsLocDate(idPrev); + prevLocLon = gpsLocLon(idPrev); + prevLocLat = gpsLocLat(idPrev); end % find the next GPS location -idNext = find(a_gpsLocDate >= a_profStruct.date); +idNext = find(gpsLocDate >= a_profStruct.date); if (~isempty(idNext)) idNext = idNext(1); - nextLocDate = a_gpsLocDate(idNext); - nextLocLon = a_gpsLocLon(idNext); - nextLocLat = a_gpsLocLat(idNext); - nextLocCyNum = a_gpsLocCycleNum(idNext); - nextLocProfNum = a_gpsLocProfNum(idNext); + nextLocDate = gpsLocDate(idNext); + nextLocLon = gpsLocLon(idNext); + nextLocLat = gpsLocLat(idNext); + nextLocCyNum = gpsLocCycleNum(idNext); + nextLocProfNum = gpsLocProfNum(idNext); end % interpolate between the 2 locations @@ -145,13 +145,13 @@ a_profStruct.locationQc = g_decArgo_qcStrInterpolated; % to update the associated NetCDF file - maxCycleNum = max(a_gpsLocCycleNum); - maxProfNumOfMaxCycleNum = max(a_gpsLocProfNum(find(a_gpsLocCycleNum == maxCycleNum))); + maxCycleNum = max(gpsLocCycleNum); + maxProfNumOfMaxCycleNum = max(gpsLocProfNum(find(gpsLocCycleNum == maxCycleNum))); if ((nextLocCyNum == maxCycleNum) && (nextLocProfNum == maxProfNumOfMaxCycleNum)) a_profStruct.updated = 1; end else - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... a_profStruct.cycleNumber, a_profStruct.profileNumber); end @@ -168,12 +168,13 @@ % % SYNTAX : % [o_profStruct] = add_profile_date_and_location( ... -% a_profStruct, a_tabTrajNMeas, a_tabTrajNCycle, a_profStructAll) +% a_profStruct, a_tabTrajNMeas, a_tabTrajNCycle, a_profStructAll, a_gpsData) % % INPUT PARAMETERS : % a_profStruct : input profile structure % a_tabTrajNMeas : N_MEASUREMENT trajectory data % a_tabTrajNCycle : N_CYCLE trajectory data +% a_gpsData : float surface data structure % % OUTPUT PARAMETERS : % o_tabProfiles : output profile structures @@ -189,13 +190,16 @@ % cycle % ------------------------------------------------------------------------------ function [o_profStruct] = add_profile_date_and_location( ... - a_profStruct, a_tabTrajNMeas, a_tabTrajNCycle, a_profStructAll) + a_profStruct, a_tabTrajNMeas, a_tabTrajNCycle, a_profStructAll, a_gpsData) % output parameters initialization o_profStruct = a_profStruct; % global measurement codes global g_MC_Launch; +global g_MC_DST; +global g_MC_AET; +global g_MC_Surface; global g_MC_LMT; % global default values @@ -230,7 +234,7 @@ end end -% first: try to use the other profiles of the same cycle to fill missing profile dates +% try to use the other profiles of the same cycle to fill missing profile dates if (a_profStruct.date == g_decArgo_dateDef) idF = find(([a_profStructAll.cycleNumber] == a_profStruct.cycleNumber) & ... @@ -245,6 +249,117 @@ end end +% try to use TRAJ data (for CST5 floats profile dates and locations come from +% tech message but if it has been missed TRAJ data (based on system events) can +% be used) +if (a_profStruct.date == g_decArgo_dateDef) + + % list of TRAJ cycle and profile numbers + cycleNumList = [a_tabTrajNMeas.cycleNumber]; + profNumList = [a_tabTrajNMeas.profileNumber]; + + if (a_profStruct.direction == 'A') + + % ascending profile + idF = find((cycleNumList == a_profStruct.cycleNumber) & ... + (profNumList == a_profStruct.profileNumber)); + ascentEndDate = ''; + for id = 1:length(idF) + tabMeas = a_tabTrajNMeas(idF(id)).tabMeas; + idF2 = find([tabMeas.measCode] == g_MC_AET); + if (~isempty(idF2)) + if (~isempty(tabMeas(idF2).juldAdj)) + ascentEndDate = tabMeas(idF2).juldAdj; + break + elseif (~isempty(tabMeas(idF2).juld)) + ascentEndDate = tabMeas(idF2).juld; + break + end + end + end + if (~isempty(ascentEndDate)) + + gpsLocDate = []; + gpsLocLon = []; + gpsLocLat = []; + gpsLocQc = []; + idF = find((cycleNumList == a_profStruct.cycleNumber) & ... + (profNumList == a_profStruct.profileNumber)); + for id = 1:length(idF) + tabMeas = a_tabTrajNMeas(idF(id)).tabMeas; + idF2 = find([tabMeas.measCode] == g_MC_Surface); + gpsLocDate = [gpsLocDate tabMeas(idF2).juld]; + gpsLocLon = [gpsLocLon tabMeas(idF2).longitude]; + gpsLocLat = [gpsLocLat tabMeas(idF2).latitude]; + gpsLocQc = [gpsLocQc tabMeas(idF2).posQc]; + end + + [~, idSort] = sort(gpsLocDate); + if (~isempty(idSort)) + a_profStruct.date = ascentEndDate; + a_profStruct.locationDate = gpsLocDate(idSort(1)); + a_profStruct.locationLon = gpsLocLon(idSort(1)); + a_profStruct.locationLat = gpsLocLat(idSort(1)); + a_profStruct.locationQc = gpsLocQc(idSort(1)); + end + end + else + + % descending profile + idF = find((cycleNumList == a_profStruct.cycleNumber) & ... + (profNumList == a_profStruct.profileNumber)); + descentStartDate = ''; + for id = 1:length(idF) + tabMeas = a_tabTrajNMeas(idF(id)).tabMeas; + idF2 = find([tabMeas.measCode] == g_MC_DST); + if (~isempty(idF2)) + if (~isempty(tabMeas(idF2).juldAdj)) + descentStartDate = tabMeas(idF2).juldAdj; + break + elseif (~isempty(tabMeas(idF2).juld)) + descentStartDate = tabMeas(idF2).juld; + break + end + end + end + if (~isempty(descentStartDate)) + + gpsLocDate = []; + gpsLocLon = []; + gpsLocLat = []; + gpsLocQc = []; + idF = find((cycleNumList == a_profStruct.cycleNumber) & ... + (profNumList == a_profStruct.profileNumber-1)); + if (isempty(idF)) + if (a_profStruct.cycleNumber > 0) + idF2 = find(cycleNumList == a_profStruct.cycleNumber-1); + if (~isempty(idF2)) + idF = find((cycleNumList == a_profStruct.cycleNumber-1) & ... + (profNumList == max(profNumList(idF2)))); + end + end + end + for id = 1:length(idF) + tabMeas = a_tabTrajNMeas(idF(id)).tabMeas; + idF2 = find([tabMeas.measCode] == g_MC_Surface); + gpsLocDate = [gpsLocDate tabMeas(idF2).juld]; + gpsLocLon = [gpsLocLon tabMeas(idF2).longitude]; + gpsLocLat = [gpsLocLat tabMeas(idF2).latitude]; + gpsLocQc = [gpsLocQc tabMeas(idF2).posQc]; + end + + [~, idSort] = sort(gpsLocDate); + if (~isempty(idSort)) + a_profStruct.date = descentStartDate; + a_profStruct.locationDate = gpsLocDate(idSort(end)); + a_profStruct.locationLon = gpsLocLon(idSort(end)); + a_profStruct.locationLat = gpsLocLat(idSort(end)); + a_profStruct.locationQc = gpsLocQc(idSort(end)); + end + end + end +end + if (a_profStruct.date == g_decArgo_dateDef) % list of TRAJ cycle and profile numbers diff --git a/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_sbd.m b/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_sbd.m index a456d7c7..e377f66d 100644 --- a/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_sbd.m +++ b/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_sbd.m @@ -108,7 +108,7 @@ a_tabProfiles(idProf).updated = 1; end else - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end diff --git a/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_sbd2.m b/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_sbd2.m index a80f1e61..055bb931 100644 --- a/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_sbd2.m +++ b/decArgo_soft/soft/sub/fill_empty_profile_locations_ir_sbd2.m @@ -156,7 +156,7 @@ a_profStruct.updated = 1; end else - fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing => profile not located\n', ... + fprintf('WARNING: Float #%d Cycle #%d: time inconsistency detected while interpolating for profile location processing - profile not located\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); end diff --git a/decArgo_soft/soft/sub/finalize_trajectory_data_ir_rudics_cts5.m b/decArgo_soft/soft/sub/finalize_trajectory_data_ir_rudics_cts5.m index 04150a46..3b8a1edf 100644 --- a/decArgo_soft/soft/sub/finalize_trajectory_data_ir_rudics_cts5.m +++ b/decArgo_soft/soft/sub/finalize_trajectory_data_ir_rudics_cts5.m @@ -79,7 +79,7 @@ idDel = [idDel idToMerge]; [a_tabTrajNMeas] = merge_N_MEAS_records_cts5(a_tabTrajNMeas, idBase, idToMerge); else - fprintf('ERROR: Float #%d cycle #%d: %d deep N_MEASUREMENT records => only the first one is considered\n', ... + fprintf('ERROR: Float #%d cycle #%d: %d deep N_MEASUREMENT records - only the first one is considered\n', ... g_decArgo_floatNum, cycleNum, ... length(idCyDeep)); idBase = idData(idCyDeep(1)); @@ -120,7 +120,7 @@ idDel = [idDel idToMerge]; [a_tabTrajNCycle] = merge_N_CYCLE_records_cts5(a_tabTrajNCycle, idBase, idToMerge); else - fprintf('ERROR: Float #%d cycle #%d: %d deep N_MEASUREMENT records => only the first one is considered\n', ... + fprintf('ERROR: Float #%d cycle #%d: %d deep N_MEASUREMENT records - only the first one is considered\n', ... g_decArgo_floatNum, cycleNum, ... length(idCyDeep)); idBase = idData(idCyDeep(1)); diff --git a/decArgo_soft/soft/sub/finalize_trajectory_data_ir_sbd.m b/decArgo_soft/soft/sub/finalize_trajectory_data_ir_sbd.m index e20238b2..96cea13a 100644 --- a/decArgo_soft/soft/sub/finalize_trajectory_data_ir_sbd.m +++ b/decArgo_soft/soft/sub/finalize_trajectory_data_ir_sbd.m @@ -138,7 +138,7 @@ idCyDeep = find(([a_tabTrajNMeas.cycleNumber] == cycleNum) & ([a_tabTrajNMeas.surfOnly] == 0)); if (length(idCyDeep) > 1) - fprintf('ERROR: Float #%d cycle #%d: %d deep N_MEASUREMENT records => only the first one is considered\n', ... + fprintf('ERROR: Float #%d cycle #%d: %d deep N_MEASUREMENT records - only the first one is considered\n', ... g_decArgo_floatNum, cycleNum, ... length(idCyDeep)); idDel = [idDel idCyDeep(2:end)]; @@ -208,8 +208,17 @@ idF2 = find([a_tabTrajNMeas(idCyPrec).tabMeas.measCode] == g_MC_TET); if (~isempty(idF2)) + % retrieve the clock offset of the previous cycle + idCyPrec2 = find([a_tabTrajNCycle.cycleNumber] == cycleNum-1); + clockDrift = a_tabTrajNCycle(idCyPrec2).clockOffset; + + if (~isempty(clockDrift)) + transEndDate = a_tabTrajNMeas(idC).tabMeas(idF1).juldAdj; + else + transEndDate = a_tabTrajNMeas(idC).tabMeas(idF1).juld; + end measStruct = create_one_meas_float_time(g_MC_TET, ... - a_tabTrajNMeas(idC).tabMeas(idF1).juld, g_JULD_STATUS_2, 0); + transEndDate, g_JULD_STATUS_2, clockDrift); a_tabTrajNMeas(idCyPrec).tabMeas(idF2) = measStruct; end end @@ -237,8 +246,17 @@ idF2 = find([a_tabTrajNMeas(idCyPrec).tabMeas.measCode] == g_MC_TET); if (~isempty(idF2)) + % retrieve the clock offset of the previous cycle + idCyPrec2 = find([a_tabTrajNCycle.cycleNumber] == cycleNum-1); + clockDrift = a_tabTrajNCycle(idCyPrec2).clockOffset; + + if (~isempty(clockDrift)) + transEndDate = a_tabTrajNMeas(idC).tabMeas(idF1).juldAdj; + else + transEndDate = a_tabTrajNMeas(idC).tabMeas(idF1).juld; + end measStruct = create_one_meas_float_time(g_MC_TET, ... - a_tabTrajNMeas(idC).tabMeas(idF1).juld, g_JULD_STATUS_2, 0); + transEndDate, g_JULD_STATUS_2, clockDrift); a_tabTrajNMeas(idCyPrec).tabMeas(idF2) = measStruct; end end @@ -271,7 +289,7 @@ a_tabTrajNCycle(idCyDeep(1)) = merge_n_cycle_data(a_tabTrajNCycle(idCyDeep)); else - fprintf('ERROR: Float #%d cycle #%d: %d deep N_CYCLE records => only the first one is considered\n', ... + fprintf('ERROR: Float #%d cycle #%d: %d deep N_CYCLE records - only the first one is considered\n', ... g_decArgo_floatNum, cycleNum, ... length(idCyDeep)); end diff --git a/decArgo_soft/soft/sub/finalize_trajectory_data_ir_sbd_nva.m b/decArgo_soft/soft/sub/finalize_trajectory_data_ir_sbd_nva.m index 7226f479..3ae1a465 100644 --- a/decArgo_soft/soft/sub/finalize_trajectory_data_ir_sbd_nva.m +++ b/decArgo_soft/soft/sub/finalize_trajectory_data_ir_sbd_nva.m @@ -142,7 +142,7 @@ if (length(idCyDeep) > 1) - fprintf('ERROR: Float #%d cycle #%d: %d deep N_MEASUREMENT records => only the first one is considered\n', ... + fprintf('ERROR: Float #%d cycle #%d: %d deep N_MEASUREMENT records - only the first one is considered\n', ... g_decArgo_floatNum, cycleNum, ... length(idCyDeep)); idDelFinal = [idDelFinal idCyDeep(2:end)]; @@ -249,7 +249,7 @@ idCySurf = find(([a_tabTrajNCycle.cycleNumber] == cycleNum) & ([a_tabTrajNCycle.surfOnly] == 1)); if (length(idCyDeep) > 1) - fprintf('ERROR: Float #%d cycle #%d: %d deep N_CYCLE records => only the first one is considered\n', ... + fprintf('ERROR: Float #%d cycle #%d: %d deep N_CYCLE records - only the first one is considered\n', ... g_decArgo_floatNum, cycleNum, ... length(idCyDeep)); idDelFinal = [idDelFinal idCyDeep(2:end)]; @@ -264,13 +264,13 @@ if (isempty(idCyDeep)) % merge FMT, LMT, FLT and LLT - a_tabTrajNCycle = merge_N_CYCLE(a_tabTrajNCycle, idCySurf(end), idCySurf(1:end-1)); + a_tabTrajNCycle = merge_N_CYCLE(a_tabTrajNCycle, idCySurf(end), idCySurf(1:end-1), a_tabTrajNMeas); idDelFinal = [idDelFinal idCySurf(1:end-1)]; else % merge FMT, LMT, FLT and LLT - a_tabTrajNCycle = merge_N_CYCLE(a_tabTrajNCycle, idCyDeep(end), idCySurf); + a_tabTrajNCycle = merge_N_CYCLE(a_tabTrajNCycle, idCyDeep(end), idCySurf, a_tabTrajNMeas); idDelFinal = [idDelFinal idCySurf]; end @@ -278,7 +278,7 @@ if (~isempty(idCyDeep)) % merge FMT, LMT, FLT and LLT - a_tabTrajNCycle = merge_N_CYCLE(a_tabTrajNCycle, idCyDeep(end), idCySurf); + a_tabTrajNCycle = merge_N_CYCLE(a_tabTrajNCycle, idCyDeep(end), idCySurf, a_tabTrajNMeas); idDelFinal = [idDelFinal idCySurf]; end @@ -322,6 +322,7 @@ tabClockOffset = []; for idS = 1:length(idFSurf) if ((a_tabTrajNMeas(idEolCy).tabMeas(idFSurf(idS)).juld ~= g_decArgo_ncDateDef) && ... + (~isempty(a_tabTrajNMeas(idEolCy).tabMeas(idFSurf(idS)).juldAdj)) && ... (a_tabTrajNMeas(idEolCy).tabMeas(idFSurf(idS)).juldAdj ~= g_decArgo_ncDateDef)) tabClockOffset = [tabClockOffset ... a_tabTrajNMeas(idEolCy).tabMeas(idFSurf(idS)).juld - ... @@ -472,11 +473,21 @@ % output parameters initialization o_tabTrajNMeas = a_tabTrajNMeas; +% default values +global g_decArgo_ncDateDef; + % global measurement codes global g_MC_FMT; global g_MC_Surface; global g_MC_LMT; +% global time status +global g_JULD_STATUS_2; +global g_JULD_STATUS_9; + +% QC flag values (char) +global g_decArgo_qcStrMissing; + % merge FMT and LMT idF = find([o_tabTrajNMeas(a_storeId).tabMeas.measCode] == g_MC_FMT); @@ -518,9 +529,15 @@ idF1 = find([o_tabTrajNMeas(id).tabMeas.measCode] == g_MC_Surface); if (~isempty(idF1)) idF2 = find([o_tabTrajNMeas(a_storeId).tabMeas.measCode] == g_MC_Surface); - date = [o_tabTrajNMeas(a_storeId).tabMeas(idF2).juld]; + dateList = [o_tabTrajNMeas(a_storeId).tabMeas(idF2).juld]; + if (~isempty(dateList)) + dateListStr = cellstr(julian_2_gregorian_dec_argo(dateList)); + else + dateListStr = {''}; + end for id2 = idF1 - if (~ismember(o_tabTrajNMeas(id).tabMeas(id2).juld, date)) + dateLocStr = julian_2_gregorian_dec_argo(o_tabTrajNMeas(id).tabMeas(id2).juld); + if (~any(strcmp(dateLocStr, dateListStr))) o_tabTrajNMeas(a_storeId).tabMeas = [o_tabTrajNMeas(a_storeId).tabMeas; ... o_tabTrajNMeas(id).tabMeas(id2)]; updated = 1; @@ -528,11 +545,27 @@ end end end +% some location dates may not be adjusted, in that case we remove all adjusted +% dates +idLoc = find([o_tabTrajNMeas(a_storeId).tabMeas.measCode] == g_MC_Surface); +dateAdjList = [o_tabTrajNMeas(a_storeId).tabMeas(idLoc).juldAdj]; +if (any(dateAdjList == g_decArgo_ncDateDef)) + for id = 1:length(o_tabTrajNMeas(a_storeId).tabMeas) + o_tabTrajNMeas(a_storeId).tabMeas(id).juldAdj = ''; + o_tabTrajNMeas(a_storeId).tabMeas(id).juldAdjStatus = ''; + o_tabTrajNMeas(a_storeId).tabMeas(id).juldAdjQc = ''; + end +end -% sort trajectory data structures according to the predefined -% measurement code order +% sort locations if (updated) - o_tabTrajNMeas(a_storeId) = sort_trajectory_data(o_tabTrajNMeas(a_storeId), a_decoderId); + idLoc = find([o_tabTrajNMeas(a_storeId).tabMeas.measCode] == g_MC_Surface); + dateList = [o_tabTrajNMeas(a_storeId).tabMeas(idLoc).juldAdj]; + if (isempty(dateList)) + dateList = [o_tabTrajNMeas(a_storeId).tabMeas(idLoc).juld]; + end + [~, sortId] = sort(dateList); + o_tabTrajNMeas(a_storeId).tabMeas(idLoc) = o_tabTrajNMeas(a_storeId).tabMeas(idLoc(sortId)); end return @@ -541,12 +574,13 @@ % Merge FMT, LMT, FLT and LLT of N_CYCLE arrays % % SYNTAX : -% [o_tabTrajNCycle] = merge_N_CYCLE(a_tabTrajNCycle, a_storeId, a_mergeId) +% [o_tabTrajNCycle] = merge_N_CYCLE(a_tabTrajNCycle, a_storeId, a_mergeId, a_tabTrajNMeas) % % INPUT PARAMETERS : % a_tabTrajNCycle : input N_CYCLE trajectory data % a_storeId : Id of the final N_CYCLE array % a_mergeId : Ids of N_CYCLE arrays to merge +% a_tabTrajNMeas : input N_MEASUREMENT trajectory data % % OUTPUT PARAMETERS : % o_tabTrajNCycle : output N_CYCLE trajectory data @@ -559,7 +593,7 @@ % RELEASES : % 10/17/2016 - RNU - creation % ------------------------------------------------------------------------------ -function [o_tabTrajNCycle] = merge_N_CYCLE(a_tabTrajNCycle, a_storeId, a_mergeId) +function [o_tabTrajNCycle] = merge_N_CYCLE(a_tabTrajNCycle, a_storeId, a_mergeId, a_tabTrajNMeas) % output parameters initialization o_tabTrajNCycle = a_tabTrajNCycle; @@ -567,6 +601,11 @@ % default values global g_decArgo_ncDateDef; +% global measurement codes +global g_MC_FMT; +global g_MC_Surface; +global g_MC_LMT; + allId = [a_storeId a_mergeId]; @@ -608,4 +647,14 @@ o_tabTrajNCycle(a_storeId).juldLastLocationStatus = tabDateStatus(idMax); end +% some location dates may not be adjusted, in that case we removed all adjusted +% dates => we should update N_CYCLE data accordingly +idC = find([a_tabTrajNMeas.cycleNumber] == o_tabTrajNCycle(a_storeId).cycleNumber); +idLoc = find([a_tabTrajNMeas(idC).tabMeas.measCode] == g_MC_Surface); +dateAdjList = [a_tabTrajNMeas(idC).tabMeas(idLoc).juldAdj]; +if (all(dateAdjList == g_decArgo_ncDateDef)) + o_tabTrajNCycle(a_storeId).clockOffset = ''; + o_tabTrajNCycle(a_storeId).dataMode = 'R'; +end + return diff --git a/decArgo_soft/soft/sub/get_WOA_data.m b/decArgo_soft/soft/sub/get_WOA_data.m index 3c1115ca..1d6a5211 100644 --- a/decArgo_soft/soft/sub/get_WOA_data.m +++ b/decArgo_soft/soft/sub/get_WOA_data.m @@ -28,7 +28,7 @@ % check that World Ocean Atlas 2013 is available in the Matlab path WOA_FILE_NAME = 'woa13_all_n00_01.nc'; if ~(exist(WOA_FILE_NAME, 'file') == 2) - fprintf('ERROR: World Ocean Atlas 2013 file not found in the Matlab path: %s => NITRATE data cannot be adjusted\n', WOA_FILE_NAME); + fprintf('ERROR: World Ocean Atlas 2013 file not found in the Matlab path: %s - NITRATE data cannot be adjusted\n', WOA_FILE_NAME); return end @@ -58,7 +58,7 @@ woaFillValue = get_att_from_name('n_an', '_FillValue', woaDataAtt); if (length(woaTime) ~= 1) - fprintf('ERROR: Time is expected to be unique in World Ocean Atlas 2013 file: %s => NITRATE data cannot be adjusted\n', WOA_FILE_NAME); + fprintf('ERROR: Time is expected to be unique in World Ocean Atlas 2013 file: %s - NITRATE data cannot be adjusted\n', WOA_FILE_NAME); return end diff --git a/decArgo_soft/soft/sub/get_clock_and_pres_offset_nemo.m b/decArgo_soft/soft/sub/get_clock_and_pres_offset_nemo.m index 5023e2f0..e0981147 100644 --- a/decArgo_soft/soft/sub/get_clock_and_pres_offset_nemo.m +++ b/decArgo_soft/soft/sub/get_clock_and_pres_offset_nemo.m @@ -65,7 +65,7 @@ end o_clockOffset.startupDate = g_decArgo_nemoStartupDate; if (isempty(g_decArgo_nemoStartupDate)) - fprintf('WARNING: Float #%d: Cannot retrieve STARTUO_DATE => cycle timings cannot be computed\n', ... + fprintf('WARNING: Float #%d: Cannot retrieve STARTUO_DATE - cycle timings cannot be computed\n', ... g_decArgo_floatNum); end @@ -126,7 +126,7 @@ secondOrderInformationStr ... ] = read_nemo_profile_file(profileFilePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', profileFilePathName); + fprintf('ERROR: Error in file: %s - ignored\n', profileFilePathName); continue elseif (error == 2) continue @@ -162,7 +162,7 @@ colNames = surfaceGpsData.paramName; for idL = 1:size(surfaceGpsData.paramValue, 1) if (any(isnan(surfaceGpsData.paramValue(idL, :)))) - fprintf('WARNING: NaN value in GPS data in file: %s => ignored\n', profileFilePathName); + fprintf('WARNING: NaN value in GPS data in file: %s - ignored\n', profileFilePathName); continue end gpsLocCycleNum = [gpsLocCycleNum; cycleNumber]; @@ -200,7 +200,7 @@ colNames = iridiumPositions.paramName; for idL = 1:size(iridiumPositions.paramValue, 1) if (any(isnan(iridiumPositions.paramValue(idL, :)))) - fprintf('WARNING: NaN value in Iridium data in file: %s => ignored\n', profileFilePathName); + fprintf('WARNING: NaN value in Iridium data in file: %s - ignored\n', profileFilePathName); continue end iridiumFix = get_iridium_fix_init_struct; @@ -326,19 +326,11 @@ % retrieve the last good GPS location of the previous cycle if (curCyNum > 0) - idF = find(gpsLocCycleNum == curCyNum-1); + idF = find((gpsLocCycleNum == curCyNum-1) & (gpsLocQc == 1), 1, 'last'); if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); - end + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end end diff --git a/decArgo_soft/soft/sub/get_clock_offset_apx_ir_rudics_apf11.m b/decArgo_soft/soft/sub/get_clock_offset_apx_ir_rudics_apf11.m index 474ad208..6ade02b3 100644 --- a/decArgo_soft/soft/sub/get_clock_offset_apx_ir_rudics_apf11.m +++ b/decArgo_soft/soft/sub/get_clock_offset_apx_ir_rudics_apf11.m @@ -60,7 +60,7 @@ % read input file [error, events] = read_apx_apf11_ir_system_log_file(logFilePathName, 0); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', logFilePathName); + fprintf('ERROR: Error in file: %s - ignored\n', logFilePathName); return end diff --git a/decArgo_soft/soft/sub/get_clock_offset_apx_ir_rudics_apf9_navis.m b/decArgo_soft/soft/sub/get_clock_offset_apx_ir_rudics_apf9_navis.m index ca581b14..5e0a3c45 100644 --- a/decArgo_soft/soft/sub/get_clock_offset_apx_ir_rudics_apf9_navis.m +++ b/decArgo_soft/soft/sub/get_clock_offset_apx_ir_rudics_apf9_navis.m @@ -70,7 +70,7 @@ % read input file [error, events] = read_apx_ir_rudics_log_file(logFilePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', logFilePathName); + fprintf('ERROR: Error in file: %s - ignored\n', logFilePathName); return end @@ -186,7 +186,7 @@ nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file(msgFilePathName); if (error == 1) - fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('RSYNC_ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... g_decArgo_floatNum, msgFilePathName); continue end diff --git a/decArgo_soft/soft/sub/get_clock_offset_apx_ir_sbd_apf11.m b/decArgo_soft/soft/sub/get_clock_offset_apx_ir_sbd_apf11.m index 798d24e4..7a450599 100644 --- a/decArgo_soft/soft/sub/get_clock_offset_apx_ir_sbd_apf11.m +++ b/decArgo_soft/soft/sub/get_clock_offset_apx_ir_sbd_apf11.m @@ -67,7 +67,7 @@ % read input file [error, events] = read_apx_apf11_ir_system_log_file(logFilePathName, 0); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', logFilePathName); + fprintf('ERROR: Error in file: %s - ignored\n', logFilePathName); return end diff --git a/decArgo_soft/soft/sub/get_clock_offset_apx_ir_sbd_apf9.m b/decArgo_soft/soft/sub/get_clock_offset_apx_ir_sbd_apf9.m index 4a457472..1a5a6ff5 100644 --- a/decArgo_soft/soft/sub/get_clock_offset_apx_ir_sbd_apf9.m +++ b/decArgo_soft/soft/sub/get_clock_offset_apx_ir_sbd_apf9.m @@ -74,7 +74,7 @@ % read input file [error, events] = read_apx_ir_sbd_log_file(logFilePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', logFilePathName); + fprintf('ERROR: Error in file: %s - ignored\n', logFilePathName); return end @@ -182,7 +182,7 @@ engineeringDataStr, ... ] = read_apx_ir_sbd_msg_file(msgFilePathName, a_decoderId, 1); if (error == 1) - fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Error in file: %s - ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, msgFilePathName); return end diff --git a/decArgo_soft/soft/sub/get_clock_offset_for_traj_n_cycle_cts5_init_struct.m b/decArgo_soft/soft/sub/get_clock_offset_for_traj_n_cycle_cts5_init_struct.m new file mode 100644 index 00000000..6859d80e --- /dev/null +++ b/decArgo_soft/soft/sub/get_clock_offset_for_traj_n_cycle_cts5_init_struct.m @@ -0,0 +1,30 @@ +% ------------------------------------------------------------------------------ +% Get the basic structure to store clock offset information. +% +% SYNTAX : +% [o_dataStruct] = get_clock_offset_for_traj_n_cycle_cts5_init_struct +% +% INPUT PARAMETERS : +% +% OUTPUT PARAMETERS : +% o_dataStruct : clock offset initialized structure +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 10/15/2020 - RNU - creation +% ------------------------------------------------------------------------------ +function [o_dataStruct] = get_clock_offset_for_traj_n_cycle_cts5_init_struct + +% output parameters initialization +o_dataStruct = struct( ... + 'cycleNumForTrajNCy', [], ... + 'patternNumForTrajNCy', [], ... + 'juldFloatForTrajNCy', [], ... + 'clockOffsetForTrajNCy', [] ... + ); + +return diff --git a/decArgo_soft/soft/sub/get_config_dec_argo.m b/decArgo_soft/soft/sub/get_config_dec_argo.m index 40453391..b4e07e55 100644 --- a/decArgo_soft/soft/sub/get_config_dec_argo.m +++ b/decArgo_soft/soft/sub/get_config_dec_argo.m @@ -160,7 +160,7 @@ inputArgs = a_varargin; if (rem(length(inputArgs), 2) ~= 0) - fprintf('ERROR: odd number of input arguments => exit\n'); + fprintf('ERROR: odd number of input arguments - exit\n'); o_inputError = 1; else varList2 = [inputArgs(1:2:end)]; diff --git a/decArgo_soft/soft/sub/get_config_file_number.m b/decArgo_soft/soft/sub/get_config_file_number.m index 5c15af21..893313c7 100644 --- a/decArgo_soft/soft/sub/get_config_file_number.m +++ b/decArgo_soft/soft/sub/get_config_file_number.m @@ -111,9 +111,9 @@ end if (isempty(refWmo)) - errorLabel = 'ERROR: we need a float WMO number (through ''floatwmo'' or ''floatwmolist'' parameter) to select the correct configuration file => exit\n'; + errorLabel = 'ERROR: we need a float WMO number (through ''floatwmo'' or ''floatwmolist'' parameter) to select the correct configuration file - exit\n'; else - errorLabel = sprintf('ERROR: unavailable information to select the correct configuration file for float #%d => exit\n', ... + errorLabel = sprintf('ERROR: unavailable information to select the correct configuration file for float #%d - exit\n', ... refWmo); end diff --git a/decArgo_soft/soft/sub/get_event_data_cts5.m b/decArgo_soft/soft/sub/get_event_data_cts5.m index 79cb0db5..32a621f4 100644 --- a/decArgo_soft/soft/sub/get_event_data_cts5.m +++ b/decArgo_soft/soft/sub/get_event_data_cts5.m @@ -45,6 +45,11 @@ global g_decArgo_clockOffset; g_decArgo_clockOffset = get_clock_offset_cts5_init_struct; +% clock offset for TRAJ N_CYCLE +global g_decArgo_clockOffsetForTrajNCy; +g_decArgo_clockOffsetForTrajNCy = get_clock_offset_for_traj_n_cycle_cts5_init_struct; + + % get system file names eventFiles = manage_split_files({g_decArgo_archiveDirectory}, ... {[g_decArgo_filePrefixCts5 '_system_*.hex']}, a_decoderId); @@ -174,7 +179,7 @@ end end -% collect clock offset information +% collect clock offset information (to adjust float times) idFClockOffset = find([g_decArgo_eventData{:, 4}] == 12); for idC = 1:length(idFClockOffset) g_decArgo_clockOffset.cycleNum = [g_decArgo_clockOffset.cycleNum g_decArgo_eventData{idFClockOffset(idC), 1}]; @@ -185,7 +190,89 @@ g_decArgo_eventData{idFClockOffset(idC), 6}-g_decArgo_eventData{idFClockOffset(idC), 5}{:}]; end -% version below failed for 4901801 #44,0 => reset of the float +% collect clock offset information (to set CLOCK_OFFSET(N_CYCLE)) + +% we generate a clock offset for each cycle and pattern numbers +g_decArgo_clockOffsetForTrajNCy.cycleNumForTrajNCy = nan(1, size(a_cyclePatternNumFloat, 1)); +g_decArgo_clockOffsetForTrajNCy.patternNumForTrajNCy = nan(1, size(a_cyclePatternNumFloat, 1)); +g_decArgo_clockOffsetForTrajNCy.juldFloatForTrajNCy = nan(1, size(a_cyclePatternNumFloat, 1)); +g_decArgo_clockOffsetForTrajNCy.clockOffsetForTrajNCy = nan(1, size(a_cyclePatternNumFloat, 1)); +% first loop when a clock offset is present in the events +for idL = 1:size(a_cyclePatternNumFloat, 1) + cyNum = a_cyclePatternNumFloat(idL, 1); + ptnNum = a_cyclePatternNumFloat(idL, 2); + + idClockOffset = find( ... + (g_decArgo_clockOffset.cycleNum == cyNum) & ... + (g_decArgo_clockOffset.patternNum == ptnNum)); + if (~isempty(idClockOffset)) + + idJuldFloat = find( ... + ([g_decArgo_eventData{:, 1}] == cyNum) & ... + ([g_decArgo_eventData{:, 2}] == ptnNum)); + meanJuldFloat = mean([g_decArgo_eventData{idJuldFloat, 6}]); + + [g_decArgo_clockOffsetForTrajNCy.cycleNumForTrajNCy(idL)] = cyNum; + [g_decArgo_clockOffsetForTrajNCy.patternNumForTrajNCy(idL)] = ptnNum; + [g_decArgo_clockOffsetForTrajNCy.juldFloatForTrajNCy(idL)] = meanJuldFloat; + [g_decArgo_clockOffsetForTrajNCy.clockOffsetForTrajNCy(idL)] = mean(g_decArgo_clockOffset.clockOffset(idClockOffset)); + end +end +% second loop to interpolate clock offset foe remaining cycles and patterns +for idL = 1:size(a_cyclePatternNumFloat, 1) + cyNum = a_cyclePatternNumFloat(idL, 1); + ptnNum = a_cyclePatternNumFloat(idL, 2); + + idClockOffset = find( ... + (g_decArgo_clockOffset.cycleNum == cyNum) & ... + (g_decArgo_clockOffset.patternNum == ptnNum)); + if (isempty(idClockOffset)) + + juldFloatPrev = ''; + clockOffsetPrev = ''; + juldFloatNext = ''; + clockOffsetNext = ''; + for idLP = idL-1:-1:1 + idF = find( ... + (g_decArgo_clockOffsetForTrajNCy.cycleNumForTrajNCy == a_cyclePatternNumFloat(idLP, 1)) & ... + (g_decArgo_clockOffsetForTrajNCy.patternNumForTrajNCy == a_cyclePatternNumFloat(idLP, 2))); + if (~isempty(idF) && ~isnan(g_decArgo_clockOffsetForTrajNCy.juldFloatForTrajNCy(idF))) + juldFloatPrev = g_decArgo_clockOffsetForTrajNCy.juldFloatForTrajNCy(idF); + clockOffsetPrev = g_decArgo_clockOffsetForTrajNCy.clockOffsetForTrajNCy(idF); + break + end + end + if (~isempty(juldFloatPrev)) + for idLN = idL+1:size(a_cyclePatternNumFloat, 1) + idF = find( ... + (g_decArgo_clockOffsetForTrajNCy.cycleNumForTrajNCy == a_cyclePatternNumFloat(idLN, 1)) & ... + (g_decArgo_clockOffsetForTrajNCy.patternNumForTrajNCy == a_cyclePatternNumFloat(idLN, 2))); + if (~isempty(idF) && ~isnan(g_decArgo_clockOffsetForTrajNCy.juldFloatForTrajNCy(idF))) + juldFloatNext = g_decArgo_clockOffsetForTrajNCy.juldFloatForTrajNCy(idF); + clockOffsetNext = g_decArgo_clockOffsetForTrajNCy.clockOffsetForTrajNCy(idF); + break + end + end + + if (~isempty(juldFloatNext)) + + idJuldFloat = find( ... + ([g_decArgo_eventData{:, 1}] == cyNum) & ... + ([g_decArgo_eventData{:, 2}] == ptnNum)); + meanJuldFloat = mean([g_decArgo_eventData{idJuldFloat, 6}]); + + clockOffset = interp1([juldFloatPrev; juldFloatNext], [clockOffsetPrev; clockOffsetNext], meanJuldFloat); + + [g_decArgo_clockOffsetForTrajNCy.cycleNumForTrajNCy(idL)] = cyNum; + [g_decArgo_clockOffsetForTrajNCy.patternNumForTrajNCy(idL)] = ptnNum; + [g_decArgo_clockOffsetForTrajNCy.juldFloatForTrajNCy(idL)] = meanJuldFloat; + [g_decArgo_clockOffsetForTrajNCy.clockOffsetForTrajNCy(idL)] = clockOffset; + end + end + end +end + +% version below failed for 4901801 #44,0 - reset of the float % for idC = 1:length(idFCy) % idStop = idFCy(idC)-1; % if (idStart > 0) @@ -364,13 +451,13 @@ % check if the new RTC set date is after float launch date - 365 if (evtData{:} > a_launchDate - 365) if (clockError == 1) - fprintf('WARNING: RTC correctly set to %s in file %s => end of event date correction\n', ... + fprintf('WARNING: RTC correctly set to %s in file %s - end of event date correction\n', ... julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); clockError = 0; stopClockError = 0; end else - fprintf('WARNING: RTC erroneously set to %s in file %s => start of event date correction\n', ... + fprintf('WARNING: RTC erroneously set to %s in file %s - start of event date correction\n', ... julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); clockError = 1; end @@ -404,14 +491,14 @@ % % check if the new RTC set date is after float launch date - 365 % if (evtData{:} > a_launchDate - 365) % if (ignoreEvts == 1) - % fprintf('WARNING: RTC correctly set to %s in file %s => end of ignored events\n', ... + % fprintf('WARNING: RTC correctly set to %s in file %s - end of ignored events\n', ... % julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); % ignoreEvts = 0; % ignoreNextEvt = 1; % end % else % ignoreEvts = 1; - % fprintf('WARNING: RTC erroneously set to %s in file %s => start of ignored events\n', ... + % fprintf('WARNING: RTC erroneously set to %s in file %s - start of ignored events\n', ... % julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); % end % end @@ -551,13 +638,13 @@ % check if the new RTC set date is after float launch date - 365 if (evtData{:} > a_launchDate - 365) if (clockError == 1) - fprintf('WARNING: RTC correctly set to %s in file %s => end of event date correction\n', ... + fprintf('WARNING: RTC correctly set to %s in file %s - end of event date correction\n', ... julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); clockError = 0; stopClockError = 0; end else - fprintf('WARNING: RTC erroneously set to %s in file %s => start of event date correction\n', ... + fprintf('WARNING: RTC erroneously set to %s in file %s - start of event date correction\n', ... julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); clockError = 1; end @@ -591,14 +678,14 @@ % % check if the new RTC set date is after float launch date - 365 % if (evtData{:} > a_launchDate - 365) % if (ignoreEvts == 1) - % fprintf('WARNING: RTC correctly set to %s in file %s => end of ignored events\n', ... + % fprintf('WARNING: RTC correctly set to %s in file %s - end of ignored events\n', ... % julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); % ignoreEvts = 0; % ignoreNextEvt = 1; % end % else % ignoreEvts = 1; - % fprintf('WARNING: RTC erroneously set to %s in file %s => start of ignored events\n', ... + % fprintf('WARNING: RTC erroneously set to %s in file %s - start of ignored events\n', ... % julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); % end % end @@ -738,13 +825,13 @@ % check if the new RTC set date is after float launch date - 365 if (evtData{:} > a_launchDate - 365) if (clockError == 1) - fprintf('WARNING: RTC correctly set to %s in file %s => end of event date correction\n', ... + fprintf('WARNING: RTC correctly set to %s in file %s - end of event date correction\n', ... julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); clockError = 0; stopClockError = 0; end else - fprintf('WARNING: RTC erroneously set to %s in file %s => start of event date correction\n', ... + fprintf('WARNING: RTC erroneously set to %s in file %s - start of event date correction\n', ... julian_2_gregorian_dec_argo(evtData{:}), a_inputFilePathName); clockError = 1; end diff --git a/decArgo_soft/soft/sub/get_float_config_ir_rudics_sbd2.m b/decArgo_soft/soft/sub/get_float_config_ir_rudics_sbd2.m index e8ccd89c..75a7ffe5 100644 --- a/decArgo_soft/soft/sub/get_float_config_ir_rudics_sbd2.m +++ b/decArgo_soft/soft/sub/get_float_config_ir_rudics_sbd2.m @@ -40,7 +40,7 @@ (g_decArgo_floatConfig.USE.PROFILE == a_profileNum)); if (isempty(idUsedConf)) - fprintf('WARNING: Float #%d: config missing for cycle #%d and profile #%d => unable to set the vertical sampling scheme\n', ... + fprintf('WARNING: Float #%d: config missing for cycle #%d and profile #%d - unable to set the vertical sampling scheme\n', ... g_decArgo_floatNum, a_cycleNum, a_profileNum); return end diff --git a/decArgo_soft/soft/sub/get_float_cycle_list_iridium_rudics_cts5.m b/decArgo_soft/soft/sub/get_float_cycle_list_iridium_rudics_cts5.m index 11d58fde..bd8a19f5 100644 --- a/decArgo_soft/soft/sub/get_float_cycle_list_iridium_rudics_cts5.m +++ b/decArgo_soft/soft/sub/get_float_cycle_list_iridium_rudics_cts5.m @@ -69,7 +69,7 @@ fileDir = [iriDirName '/' a_floatLoginName '_' num2str(a_floatNum) '/archive/']; existingCycles = []; for idType = 1:length(fileTypeList) - files = dir([fileDir fileTypeList{idType}]); + files = dir([fileDir [g_decArgo_filePrefixCts5 '_' fileTypeList{idType}]]); for idFile = 1:length(files) fileName = files(idFile).name; existingCycles(end+1) = str2num(fileName(6:8)); diff --git a/decArgo_soft/soft/sub/get_global_comment_on_measurement_code.m b/decArgo_soft/soft/sub/get_global_comment_on_measurement_code.m index 4ebab568..3e742b13 100644 --- a/decArgo_soft/soft/sub/get_global_comment_on_measurement_code.m +++ b/decArgo_soft/soft/sub/get_global_comment_on_measurement_code.m @@ -517,7 +517,7 @@ g_MC_Launch ... g_MC_DST ... g_MC_DescProf ... - g_MC_DriftAtPark ... + g_MC_SpyAtPark ... g_MC_PET ... g_MC_RPP ... g_MC_DriftAtParkMean ... @@ -547,7 +547,7 @@ g_MC_Launch ... g_MC_DST ... g_MC_DescProf ... - g_MC_DriftAtPark ... + g_MC_SpyAtPark ... g_MC_PET ... g_MC_RPP ... g_MC_DriftAtParkMean ... @@ -575,7 +575,7 @@ g_MC_Launch ... g_MC_DST ... g_MC_DescProf ... - g_MC_DriftAtPark ... + g_MC_SpyAtPark ... g_MC_PET ... g_MC_RPP ... g_MC_DriftAtParkMean ... @@ -602,7 +602,7 @@ g_MC_Launch ... g_MC_DST ... g_MC_DescProf ... - g_MC_DriftAtPark ... + g_MC_SpyAtPark ... g_MC_PET ... g_MC_RPP ... g_MC_DriftAtParkMean ... @@ -633,7 +633,7 @@ g_MC_Launch ... g_MC_DST ... g_MC_DescProf ... - g_MC_DriftAtPark ... + g_MC_SpyAtPark ... g_MC_PET ... g_MC_RPP ... g_MC_DriftAtParkMean ... @@ -664,7 +664,7 @@ g_MC_Launch ... g_MC_DST ... g_MC_DescProf ... - g_MC_DriftAtPark ... + g_MC_SpyAtPark ... g_MC_PET ... g_MC_RPP ... g_MC_DDET ... @@ -688,7 +688,7 @@ g_MC_Launch ... g_MC_DST ... g_MC_DescProf ... - g_MC_DriftAtPark ... + g_MC_SpyAtPark ... g_MC_PET ... g_MC_RPP ... g_MC_DDET ... @@ -1036,7 +1036,12 @@ case {g_MC_MaxPresInDescToPark} o_comment = 'max pressure sampled during descent to park pressure'; case {g_MC_SpyAtPark} - o_comment = 'buoyancy action during drift at park pressure'; + if ((a_decoderId > 1000) && (a_decoderId < 1100)) + % Apex APF9 Argosfloat + o_comment = 'measurement at PET'; + else + o_comment = 'buoyancy action during drift at park pressure'; + end case {g_MC_MinPresInDriftAtPark} o_comment = 'min pressure sampled during drift at park pressure'; case {g_MC_MaxPresInDriftAtPark} diff --git a/decArgo_soft/soft/sub/get_mc_order_list.m b/decArgo_soft/soft/sub/get_mc_order_list.m index 0e273a9f..717dee2a 100644 --- a/decArgo_soft/soft/sub/get_mc_order_list.m +++ b/decArgo_soft/soft/sub/get_mc_order_list.m @@ -405,7 +405,7 @@ g_MC_DescProf ... g_MC_DET ... g_MC_PST ... - g_MC_DriftAtPark ... + g_MC_SpyAtPark ... g_MC_PET ... g_MC_RPP ... g_MC_DriftAtParkMean ... diff --git a/decArgo_soft/soft/sub/get_nc_config_parameters_json.m b/decArgo_soft/soft/sub/get_nc_config_parameters_json.m index 70b58746..f174fc4f 100644 --- a/decArgo_soft/soft/sub/get_nc_config_parameters_json.m +++ b/decArgo_soft/soft/sub/get_nc_config_parameters_json.m @@ -41,6 +41,7 @@ confData = loadjson(jsonInputFileName); confDataFieldNames = fieldnames(confData); +nbExtra = 0; for idField = 1:length(confDataFieldNames) confItemData = confData.(confDataFieldNames{idField}); @@ -73,6 +74,33 @@ end o_ncParamNames{idField} = confItemData.CONF_PARAM_NAME; o_ncParamDescriptions{idField} = confItemData.CONF_PARAM_DESCRIPTION; + + % duplicate entries for not in Argo (Ex: 'Uvp') + if (ismember(a_decoderId, [126])) + % for = 'Uvp', configuration labels have been + % duplicated in the JSON config file but we also + % we need to generate all labels (for all depth zones) because META_AUX + % needs a descrption for all its configuration labels + if (ismember(o_ncParamIds(idField), [1175:1183])) + for idZ = 1:5 + paramName = create_param_name_ir_rudics_sbd2(confItemData.CONF_PARAM_NAME, ... + [{''} {num2str(idZ)}]); + nbExtra = nbExtra + 1; + o_ncParamIds(length(confDataFieldNames)+nbExtra) = o_ncParamIds(idField) + 1000; + o_ncParamNames(length(confDataFieldNames)+nbExtra) = {paramName}; + o_ncParamDescriptions(length(confDataFieldNames)+nbExtra) = o_ncParamDescriptions(idField); + end + elseif (ismember(o_ncParamIds(idField), [1184])) + for idZ = 1:5 + paramName = create_param_name_ir_rudics_sbd2(confItemData.CONF_PARAM_NAME, ... + [{''} {num2str(idZ)} {''} {num2str(idZ+1)}]); + nbExtra = nbExtra + 1; + o_ncParamIds(length(confDataFieldNames)+nbExtra) = o_ncParamIds(idField) + 1000; + o_ncParamNames(length(confDataFieldNames)+nbExtra) = {paramName}; + o_ncParamDescriptions(length(confDataFieldNames)+nbExtra) = o_ncParamDescriptions(idField); + end + end + end end % sort the parameter names diff --git a/decArgo_soft/soft/sub/get_nemo_profile_file.m b/decArgo_soft/soft/sub/get_nemo_profile_file.m index bedf7ebf..8684ffb8 100644 --- a/decArgo_soft/soft/sub/get_nemo_profile_file.m +++ b/decArgo_soft/soft/sub/get_nemo_profile_file.m @@ -41,7 +41,7 @@ end if (length(o_profileFile) > 1) - fprintf('ERROR: Float #%d Cycle #%d: %d .profile files (only one is expected) => only the last one is considered\n', ... + fprintf('ERROR: Float #%d Cycle #%d: %d .profile files (only one is expected) - only the last one is considered\n', ... a_floatNum, a_cycleNum, length(o_profileFile)); o_profileFile = o_profileFile(end); end diff --git a/decArgo_soft/soft/sub/get_one_float_info.m b/decArgo_soft/soft/sub/get_one_float_info.m index c1c65958..c546fc3f 100644 --- a/decArgo_soft/soft/sub/get_one_float_info.m +++ b/decArgo_soft/soft/sub/get_one_float_info.m @@ -96,7 +96,7 @@ else for idF = 1: length(floatInfoFileNames) if (~isempty(strfind(floatInfoFileNames(idF).name, 'WWWWWWW_'))) - fprintf('ERROR: Conflict between one JSON info file (%s) and the other ones => clean the set of JSON info files for this float\n', floatInfoFileNames(idF).name); + fprintf('ERROR: Conflict between one JSON info file (%s) and the other ones - clean the set of JSON info files for this float\n', floatInfoFileNames(idF).name); return end end @@ -106,7 +106,7 @@ lastArgosMsgDate = max(argosDataDate); if (isempty(lastArgosMsgDate)) - fprintf('WARNING: Input Argos file (%s) is empty => cannot choose between possible WMO numbers\n', g_decArgo_inputArgosFile); + fprintf('WARNING: Input Argos file (%s) is empty - cannot choose between possible WMO numbers\n', g_decArgo_inputArgosFile); return end diff --git a/decArgo_soft/soft/sub/get_primary_parameter_list.m b/decArgo_soft/soft/sub/get_primary_parameter_list.m index 5a885997..9dea192a 100644 --- a/decArgo_soft/soft/sub/get_primary_parameter_list.m +++ b/decArgo_soft/soft/sub/get_primary_parameter_list.m @@ -267,7 +267,7 @@ ]; otherwise - fprintf('WARNING: Float #%d: No default primary parameters defined yet for decoderId #%d => using PRES, TEMP, PSAL\n', ... + fprintf('WARNING: Float #%d: No default primary parameters defined yet for decoderId #%d - using PRES, TEMP, PSAL\n', ... g_decArgo_floatNum, ... a_decoderId); diff --git a/decArgo_soft/soft/sub/init_default_values.m b/decArgo_soft/soft/sub/init_default_values.m index fad1fd21..b883b3a3 100644 --- a/decArgo_soft/soft/sub/init_default_values.m +++ b/decArgo_soft/soft/sub/init_default_values.m @@ -505,7 +505,7 @@ function init_default_values(varargin) % the first 3 digits are incremented at each new complete dated release % the last digit is incremented at each patch associated to a given complete % dated release -g_decArgo_decoderVersion = '036c'; +g_decArgo_decoderVersion = '037a'; % minimum duration (in hour) of a non-transmission period to create a new % cycle for an Argos float diff --git a/decArgo_soft/soft/sub/init_float_config_nva_ir_sbd.m b/decArgo_soft/soft/sub/init_float_config_nva_ir_sbd.m index 40299aee..35643d4f 100644 --- a/decArgo_soft/soft/sub/init_float_config_nva_ir_sbd.m +++ b/decArgo_soft/soft/sub/init_float_config_nva_ir_sbd.m @@ -111,7 +111,7 @@ function init_float_config_nva_ir_sbd(a_launchDate, a_decoderId) metaData = loadjson(jsonInputFileName); % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -135,7 +135,7 @@ function init_float_config_nva_ir_sbd(a_launchDate, a_decoderId) idPos = find(strncmp(jConfNames{id}, configNames1, 11) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_210_211.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_210_211.m index b3e15528..f0e093ce 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_210_211.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_210_211.m @@ -96,7 +96,7 @@ function init_float_config_prv_ir_sbd_210_211(a_launchDate) metaData = loadjson(jsonInputFileName); % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -121,7 +121,7 @@ function init_float_config_prv_ir_sbd_210_211(a_launchDate) idPos = find(strncmp(jConfNames{id}, configNames1, idFUs(2)) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -203,7 +203,7 @@ function init_float_config_prv_ir_sbd_210_211(a_launchDate) ctdPumpSwitchOffPres = configValues2(idPosMc28); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_212.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_212.m index c16c5842..bceef8d8 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_212.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_212.m @@ -108,7 +108,7 @@ function init_float_config_prv_ir_sbd_212(a_launchDate) end % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -137,7 +137,7 @@ function init_float_config_prv_ir_sbd_212(a_launchDate) idPos = find(strncmp(jConfNames{id}, configNames1, idFUs(2)) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -219,7 +219,7 @@ function init_float_config_prv_ir_sbd_212(a_launchDate) ctdPumpSwitchOffPres = configValues2(idPosMc28); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_213.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_213.m index 80b6032d..f7384761 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_213.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_213.m @@ -99,7 +99,7 @@ function init_float_config_prv_ir_sbd_213(a_launchDate) metaData = loadjson(jsonInputFileName); % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -124,7 +124,7 @@ function init_float_config_prv_ir_sbd_213(a_launchDate) idPos = find(strncmp(jConfNames{id}, configNames1, idFUs(2)) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -206,7 +206,7 @@ function init_float_config_prv_ir_sbd_213(a_launchDate) ctdPumpSwitchOffPres = configValues2(idPosMc28); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_214_217.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_214_217.m index c68b6452..653ab7d8 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_214_217.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_214_217.m @@ -110,7 +110,7 @@ function init_float_config_prv_ir_sbd_214_217(a_launchDate) end % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -139,7 +139,7 @@ function init_float_config_prv_ir_sbd_214_217(a_launchDate) idPos = find(strncmp(jConfNames{id}, configNames1, idFUs(2)) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -221,7 +221,7 @@ function init_float_config_prv_ir_sbd_214_217(a_launchDate) ctdPumpSwitchOffPres = configValues2(idPosMc28); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_215.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_215.m index 5404d5aa..6c0386ec 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_215.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_215.m @@ -87,7 +87,7 @@ function init_float_config_prv_ir_sbd_215(a_launchDate) metaData = loadjson(jsonInputFileName); % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -111,7 +111,7 @@ function init_float_config_prv_ir_sbd_215(a_launchDate) idPos = find(strncmp(jConfNames{id}, configNames1, 11) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -170,7 +170,7 @@ function init_float_config_prv_ir_sbd_215(a_launchDate) ctdPumpSwitchOffPres = configValues2(idPosPt20); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_216.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_216.m index b5bf42f1..bf5f2f5c 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_216.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_216.m @@ -99,7 +99,7 @@ function init_float_config_prv_ir_sbd_216(a_launchDate) end % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -127,7 +127,7 @@ function init_float_config_prv_ir_sbd_216(a_launchDate) idPos = find(strncmp(jConfNames{id}, configNames1, 11) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -186,7 +186,7 @@ function init_float_config_prv_ir_sbd_216(a_launchDate) ctdPumpSwitchOffPres = configValues2(idPosPt20); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_218.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_218.m index 99fdb7a7..29496eb0 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_218.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_218.m @@ -99,7 +99,7 @@ function init_float_config_prv_ir_sbd_218(a_launchDate) end % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -127,7 +127,7 @@ function init_float_config_prv_ir_sbd_218(a_launchDate) idPos = find(strncmp(jConfNames{id}, configNames1, 11) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -171,7 +171,7 @@ function init_float_config_prv_ir_sbd_218(a_launchDate) ctdPumpSwitchOffPres = configValues2(idPosPt20); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_221.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_221.m index 84c909f8..2c4c4f3e 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_221.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_221.m @@ -63,14 +63,16 @@ function init_float_config_prv_ir_sbd_221(a_launchDate) % create static configuration names configNames1 = []; +configNames1{end+1} = 'CONFIG_PM01'; % to store value to be used for the second deep cycle (see g_decArgo_doneOnceFlag) configNames1{end+1} = 'CONFIG_PM04'; +configNames1{end+1} = 'CONFIG_PM05'; % to store value to be used for the second deep cycle (see g_decArgo_doneOnceFlag) % create dynamic configuration names configNames2 = []; for id = [0:3 5:18] configNames2{end+1} = sprintf('CONFIG_PM%02d', id); end -for id = [0:14 18 20:37] +for id = [0:14 16:37] configNames2{end+1} = sprintf('CONFIG_PT%02d', id); end for id = 0:15 @@ -99,7 +101,7 @@ function init_float_config_prv_ir_sbd_221(a_launchDate) end % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -123,11 +125,14 @@ function init_float_config_prv_ir_sbd_221(a_launchDate) return end end - else + end + if (isempty(idPos) || ... + strncmp(jConfNames{id}, 'CONFIG_PM01', length('CONFIG_PM01')) || ... + strncmp(jConfNames{id}, 'CONFIG_PM05', length('CONFIG_PM05'))) idPos = find(strncmp(jConfNames{id}, configNames1, 11) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -171,7 +176,7 @@ function init_float_config_prv_ir_sbd_221(a_launchDate) ctdPumpSwitchOffPres = configValues2(idPosPt20); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_222_223.m b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_222_223.m index 92740c2a..d520e5da 100644 --- a/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_222_223.m +++ b/decArgo_soft/soft/sub/init_float_config_prv_ir_sbd_222_223.m @@ -74,6 +74,7 @@ function init_float_config_prv_ir_sbd_222_223(a_launchDate, a_decoderId) % create static configuration names configNames1 = []; +configNames1{end+1} = 'CONFIG_MC08_'; % to store value to be used for the second deep cycle (see g_decArgo_doneOnceFlag) % create dynamic configuration names configNames2 = []; @@ -118,7 +119,7 @@ function init_float_config_prv_ir_sbd_222_223(a_launchDate, a_decoderId) end % fill the configuration values -configValues1 = []; +configValues1 = repmat({'nan'}, length(configNames1), 1); configValues2 = nan(length(configNames2), 1); if (~isempty(metaData.CONFIG_PARAMETER_NAME) && ~isempty(metaData.CONFIG_PARAMETER_VALUE)) @@ -143,11 +144,13 @@ function init_float_config_prv_ir_sbd_222_223(a_launchDate, a_decoderId) return end end - else + end + if (isempty(idPos) || ... + strncmp(jConfNames{id}, 'CONFIG_MC08_', length('CONFIG_MC08_'))) idPos = find(strncmp(jConfNames{id}, configNames1, idFUs(2)) == 1, 1); if (~isempty(idPos)) if (~isempty(jConfValues{id})) - configValues1{end+1} = jConfValues{id}; + configValues1{idPos} = jConfValues{id}; end end end @@ -229,7 +232,7 @@ function init_float_config_prv_ir_sbd_222_223(a_launchDate, a_decoderId) ctdPumpSwitchOffPres = configValues2(idPosMc28); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/merge_first_last_msg_time_ir_rudics_111_113.m b/decArgo_soft/soft/sub/merge_first_last_msg_time_ir_rudics_111_113.m index 2af6a349..44197fc0 100644 --- a/decArgo_soft/soft/sub/merge_first_last_msg_time_ir_rudics_111_113.m +++ b/decArgo_soft/soft/sub/merge_first_last_msg_time_ir_rudics_111_113.m @@ -180,6 +180,15 @@ if (~isempty(a_tabTrajNCycle)) + % change profileNumber of the PRELUDE message to 0 (and surfOnly to 2) + idPrelude = find(([a_tabTrajNCycle.cycleNumber] == 1) & ... + ([a_tabTrajNCycle.profileNumber] == 0) & ... + ([a_tabTrajNCycle.surfOnly] == 1)); + if (~isempty(idPrelude)) + [a_tabTrajNCycle(idPrelude).cycleNumber] = deal(0); + [a_tabTrajNCycle(idPrelude).surfOnly] = deal(2); + end + % assign the data of the second Iridium session to the end of the previous cycle cycleNumList = [a_tabTrajNCycle.cycleNumber]; profNumList = [a_tabTrajNCycle.profileNumber]; diff --git a/decArgo_soft/soft/sub/merge_profile_meas_ir_rudics_sbd2.m b/decArgo_soft/soft/sub/merge_profile_meas_ir_rudics_sbd2.m index ab99d4c0..beed83d6 100644 --- a/decArgo_soft/soft/sub/merge_profile_meas_ir_rudics_sbd2.m +++ b/decArgo_soft/soft/sub/merge_profile_meas_ir_rudics_sbd2.m @@ -68,7 +68,7 @@ if (mergedProfile.profileCompleted < 0) % techNbMeas = sprintf('%d ', mergedProfile.nbMeas); - % fprintf('FLOAT_WARNING: Float #%d Cycle #%d Profile #%d: inconsistency in tech vs measurements (in terms of number of sampled measurements: tech = [%s] => %d, sampled = %d) for ''%c'' profile of sensor #%d\n', ... + % fprintf('FLOAT_WARNING: Float #%d Cycle #%d Profile #%d: inconsistency in tech vs measurements (in terms of number of sampled measurements: tech = [%s] - %d, sampled = %d) for ''%c'' profile of sensor #%d\n', ... % g_decArgo_floatNum, ... % mergedProfile.cycleNumber, ... % mergedProfile.profileNumber, ... @@ -88,7 +88,7 @@ if (a_tabProfiles(profInfo(idF, 1)).profileCompleted < 0) % techNbMeas = sprintf('%d ', a_tabProfiles(profInfo(idF, 1)).nbMeas); - % fprintf('FLOAT_WARNING: Float #%d Cycle #%d Profile #%d: inconsistency in tech vs measurements (in terms of number of sampled measurements: tech = [%s] => %d, sampled = %d) for ''%c'' profile of sensor #%d\n', ... + % fprintf('FLOAT_WARNING: Float #%d Cycle #%d Profile #%d: inconsistency in tech vs measurements (in terms of number of sampled measurements: tech = [%s] - %d, sampled = %d) for ''%c'' profile of sensor #%d\n', ... % g_decArgo_floatNum, ... % a_tabProfiles(profInfo(idF, 1)).cycleNumber, ... % a_tabProfiles(profInfo(idF, 1)).profileNumber, ... @@ -154,7 +154,7 @@ idDel = find(numberOfSubLevelsList ~= min(numberOfSubLevelsList)); a_tabProfiles(idDel) = []; - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: inconsistency in number of sub-levels for ''%c'' profile of sensor #%d => %d profiles ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: inconsistency in number of sub-levels for ''%c'' profile of sensor #%d - %d profiles ignored\n', ... g_decArgo_floatNum, ... a_tabProfiles(1).cycleNumber, ... a_tabProfiles(1).profileNumber, ... diff --git a/decArgo_soft/soft/sub/move_argos_input_file.m b/decArgo_soft/soft/sub/move_argos_input_file.m index b568c62e..28dbd605 100644 --- a/decArgo_soft/soft/sub/move_argos_input_file.m +++ b/decArgo_soft/soft/sub/move_argos_input_file.m @@ -159,9 +159,9 @@ else - fprintf('WARNING: %d Argos file(s) already exist(s) for float #%d and cycle #%d => concatenating contents before processing\n', ... + fprintf('WARNING: %d Argos file(s) already exist(s) for float #%d and cycle #%d - concatenating contents before processing\n', ... length(existingCycleFiles), a_floatNum, a_cycleNumber); - fprintf('\n#@# CONCAT %d Argos file(s) already exist(s) for float #%d and cycle #%d => concatenating contents before processing\n', ... + fprintf('\n#@# CONCAT %d Argos file(s) already exist(s) for float #%d and cycle #%d - concatenating contents before processing\n', ... length(existingCycleFiles), a_floatNum, a_cycleNumber); % sort the files to concatenate according to the date of their name diff --git a/decArgo_soft/soft/sub/parse_apx_ir_config_data.m b/decArgo_soft/soft/sub/parse_apx_ir_config_data.m index a078476e..107ce9fb 100644 --- a/decArgo_soft/soft/sub/parse_apx_ir_config_data.m +++ b/decArgo_soft/soft/sub/parse_apx_ir_config_data.m @@ -67,7 +67,7 @@ o_configData.([item '_unit']) = unit; else - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s'' - ignored\n', errorHeader, dataStr); continue end @@ -89,17 +89,17 @@ unit = ''; end if (isempty(regexp(lower(item(1)), '[a-z]', 'once'))) - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''=> ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''- ignored\n', errorHeader, dataStr); continue end if (any(strfind(item, ' '))) - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''=> ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''- ignored\n', errorHeader, dataStr); continue end o_configData.(item) = value; o_configData.([item '_unit']) = unit; else - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s'' - ignored\n', errorHeader, dataStr); continue end end diff --git a/decArgo_soft/soft/sub/parse_apx_ir_config_data_evts.m b/decArgo_soft/soft/sub/parse_apx_ir_config_data_evts.m index cdc9f17d..4861befb 100644 --- a/decArgo_soft/soft/sub/parse_apx_ir_config_data_evts.m +++ b/decArgo_soft/soft/sub/parse_apx_ir_config_data_evts.m @@ -62,17 +62,17 @@ unit = ''; end if (isempty(regexp(lower(item(1)), '[a-z]', 'once'))) - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''=> ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''- ignored\n', errorHeader, dataStr); continue end if (any(strfind(item, ' '))) - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''=> ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''- ignored\n', errorHeader, dataStr); continue end o_configData.(item) = value; o_configData.([item '_unit']) = unit; else - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s'' - ignored\n', errorHeader, dataStr); continue end end diff --git a/decArgo_soft/soft/sub/parse_apx_ir_drift_data.m b/decArgo_soft/soft/sub/parse_apx_ir_drift_data.m index 6a04e576..1a184e2a 100644 --- a/decArgo_soft/soft/sub/parse_apx_ir_drift_data.m +++ b/decArgo_soft/soft/sub/parse_apx_ir_drift_data.m @@ -119,7 +119,7 @@ measDate = datenum(dataStr(12:31), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(32:end), '%d %d %f %f'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, :) = [measDate val']; @@ -127,7 +127,7 @@ measDate = datenum(dataStr(12:31), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(32:59), '%d %d %f'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, 1:length([measDate val'])) = [measDate val']; @@ -136,7 +136,7 @@ measDate = datenum(dataStr(12:31), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(32:51), '%d %d'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, 1:length([measDate val'])) = [measDate val']; @@ -145,7 +145,7 @@ measDate = datenum(dataStr(12:31), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(32:43), '%d'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, 1:length([measDate val'])) = [measDate val']; @@ -155,10 +155,10 @@ data(idL, 1) = measDate; % fprintf('INFO: Park measurement truncated\n'); else - % fprintf('INFO: Park measurement truncated ''%s'' => ignored\n', errorHeader, dataStr); + % fprintf('INFO: Park measurement truncated ''%s'' - ignored\n', errorHeader, dataStr); end else - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); end end idDel = find(sum(isnan(data), 2) == size(data, 2)); @@ -239,24 +239,24 @@ if (length(dataStr) == 34) [val, count, errmsg, nextIndex] = sscanf(dataStr, '%d %d %f %f'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, a_driftMeasDataStr{idL}); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, a_driftMeasDataStr{idL}); continue end data(idL, :) = val'; elseif (length(dataStr) >= 26) [val, count, errmsg, nextIndex] = sscanf(dataStr(1:26), '%d %d %f'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, a_driftMeasDataStr{idL}); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, a_driftMeasDataStr{idL}); continue end data(idL, 1:length(val')) = val'; fprintf('INFO: Park measurement truncated\n'); else - fprintf('INFO: Park measurement truncated ''%s'' => ignored\n', errorHeader, a_driftMeasDataStr{idL}); + fprintf('INFO: Park measurement truncated ''%s'' - ignored\n', errorHeader, a_driftMeasDataStr{idL}); end end else - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, a_driftMeasDataStr{idL}); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, a_driftMeasDataStr{idL}); end end idDel = find(sum(isnan(data), 2) == size(data, 2)); @@ -336,7 +336,7 @@ measDate = datenum(dataStr(13:32), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(33:end), '%d %d %f %f %f'); if (~isempty(errmsg) || (count ~= 5)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, :) = [measDate val']; @@ -344,7 +344,7 @@ measDate = datenum(dataStr(13:32), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(33:68), '%d %d %f %f'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, 1:length([measDate val'])) = [measDate val']; @@ -353,7 +353,7 @@ measDate = datenum(dataStr(13:32), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(33:60), '%d %d %f'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, 1:length([measDate val'])) = [measDate val']; @@ -362,7 +362,7 @@ measDate = datenum(dataStr(13:32), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(33:52), '%d %d'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, 1:length([measDate val'])) = [measDate val']; @@ -371,7 +371,7 @@ measDate = datenum(dataStr(13:32), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(33:44), '%d'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL, 1:length([measDate val'])) = [measDate val']; @@ -381,10 +381,10 @@ data(idL, 1) = measDate; % fprintf('INFO: Park measurement truncated\n'); else - % fprintf('INFO: Park measurement truncated ''%s'' => ignored\n', errorHeader, dataStr); + % fprintf('INFO: Park measurement truncated ''%s'' - ignored\n', errorHeader, dataStr); end else - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); end end idDel = find(sum(isnan(data), 2) == size(data, 2)); @@ -465,7 +465,7 @@ measDate = datenum(dataStr(1:20), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(21:end), '%f %f %f %f %f %f %f %f'); if (~isempty(errmsg) || (count ~= 8)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL-1, :) = [measDate val']; @@ -473,7 +473,7 @@ measDate = datenum(dataStr(1:20), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(21:72), '%f %f %f %f %f %f %f'); if (~isempty(errmsg) || (count ~= 7)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL-1, 1:length([measDate val'])) = [measDate val']; @@ -482,7 +482,7 @@ measDate = datenum(dataStr(1:20), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(21:65), '%f %f %f %f %f %f'); if (~isempty(errmsg) || (count ~= 6)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL-1, 1:length([measDate val'])) = [measDate val']; @@ -491,7 +491,7 @@ measDate = datenum(dataStr(1:20), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(21:58), '%f %f %f %f %f'); if (~isempty(errmsg) || (count ~= 5)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL-1, 1:length([measDate val'])) = [measDate val']; @@ -500,7 +500,7 @@ measDate = datenum(dataStr(1:20), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(21:51), '%f %f %f %f'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL-1, 1:length([measDate val'])) = [measDate val']; @@ -509,7 +509,7 @@ measDate = datenum(dataStr(1:20), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(21:44), '%f %f %f'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL-1, 1:length([measDate val'])) = [measDate val']; @@ -518,7 +518,7 @@ measDate = datenum(dataStr(1:20), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(21:36), '%f %f'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL-1, 1:length([measDate val'])) = [measDate val']; @@ -527,7 +527,7 @@ measDate = datenum(dataStr(1:20), 'mmm dd yyyy HH:MM:SS') - g_decArgo_janFirst1950InMatlab; [val, count, errmsg, nextIndex] = sscanf(dataStr(21:28), '%f'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing drift measurements ''%s'' - ignored\n', errorHeader, dataStr); continue end data(idL-1, 1:length([measDate val'])) = [measDate val']; @@ -537,7 +537,7 @@ data(idL-1, 1) = measDate; % fprintf('INFO: Park measurement truncated\n'); else - % fprintf('INFO: Park measurement truncated ''%s'' => ignored\n', errorHeader, dataStr); + % fprintf('INFO: Park measurement truncated ''%s'' - ignored\n', errorHeader, dataStr); end end idDel = find(sum(isnan(data), 2) == size(data, 2)); diff --git a/decArgo_soft/soft/sub/parse_apx_ir_engineering_data.m b/decArgo_soft/soft/sub/parse_apx_ir_engineering_data.m index b4b6b6c3..6105e51a 100644 --- a/decArgo_soft/soft/sub/parse_apx_ir_engineering_data.m +++ b/decArgo_soft/soft/sub/parse_apx_ir_engineering_data.m @@ -74,11 +74,11 @@ if (~isempty(idF1)) item = dataStr(1:idF1(1)-1); if (isempty(regexp(lower(item(1)), '[a-z]', 'once'))) - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''=> ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''- ignored\n', errorHeader, dataStr); continue end if (any(strfind(item, ' '))) - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''=> ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''- ignored\n', errorHeader, dataStr); continue end if (any(strfind(item, '['))) @@ -95,7 +95,7 @@ engineeringData.(item) = value; end else - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''=> ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s''- ignored\n', errorHeader, dataStr); continue end end diff --git a/decArgo_soft/soft/sub/parse_apx_ir_gps_fix.m b/decArgo_soft/soft/sub/parse_apx_ir_gps_fix.m index 8a80ad06..10bfe7b2 100644 --- a/decArgo_soft/soft/sub/parse_apx_ir_gps_fix.m +++ b/decArgo_soft/soft/sub/parse_apx_ir_gps_fix.m @@ -69,7 +69,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, '# GPS fix obtained in %d seconds.'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: Anomaly detected while parsing GPS fixes ''%s'' => ignored\n', dataStr); + fprintf('DEC_INFO: Anomaly detected while parsing GPS fixes ''%s'' - ignored\n', dataStr); continue end @@ -80,7 +80,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'Fix: %f %f %d/%d/%d %d %d'); if (~isempty(errmsg) || (count ~= 7)) - fprintf('DEC_INFO: Anomaly detected while parsing GPS fixes ''%s'' => ignored\n', dataStr); + fprintf('DEC_INFO: Anomaly detected while parsing GPS fixes ''%s'' - ignored\n', dataStr); continue end @@ -96,7 +96,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, '# Attempt to get GPS fix failed after %ds.'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: Anomaly detected while parsing GPS fixes ''%s'' => ignored\n', dataStr); + fprintf('DEC_INFO: Anomaly detected while parsing GPS fixes ''%s'' - ignored\n', dataStr); continue end @@ -107,7 +107,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, '# Ice evasion initiated at P=%fdbars.'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: Anomaly detected while parsing GPS fixes ''%s'' => ignored\n', dataStr); + fprintf('DEC_INFO: Anomaly detected while parsing GPS fixes ''%s'' - ignored\n', dataStr); continue end @@ -135,7 +135,7 @@ o_gpsLocNbSat = [o_gpsLocNbSat; gpsLocNbSat]; o_gpsLocAcqTime = [o_gpsLocAcqTime; gpsLocAcqTime]; elseif (noFix == 0) - fprintf('DEC_INFO: Inconsistent information for GPS fix #%d => ignored\n', idGpsFix); + fprintf('DEC_INFO: Inconsistent information for GPS fix #%d - ignored\n', idGpsFix); end end diff --git a/decArgo_soft/soft/sub/parse_apx_ir_pmark_data_evts.m b/decArgo_soft/soft/sub/parse_apx_ir_pmark_data_evts.m index 3f9d9448..20c969eb 100644 --- a/decArgo_soft/soft/sub/parse_apx_ir_pmark_data_evts.m +++ b/decArgo_soft/soft/sub/parse_apx_ir_pmark_data_evts.m @@ -56,13 +56,13 @@ if ((status) && (dataStr2(end-1) == '.')) data = [data; a_events(idEv).time pMarValue]; else - fprintf('DEC_INFO: %sAnomaly detected while parsing P mark measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing P mark measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end else idF = cellfun(@(x) strfind(dataStr, x), PATTERN_UNUSED, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('DEC_INFO: %sAnomaly detected while parsing P mark measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing P mark measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end diff --git a/decArgo_soft/soft/sub/parse_apx_ir_profile_info.m b/decArgo_soft/soft/sub/parse_apx_ir_profile_info.m index cdb548b9..122d5e95 100644 --- a/decArgo_soft/soft/sub/parse_apx_ir_profile_info.m +++ b/decArgo_soft/soft/sub/parse_apx_ir_profile_info.m @@ -64,7 +64,7 @@ o_profInfo.ProfTime = profDate; else - fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing ''%s'' - ignored\n', errorHeader, dataStr); continue end diff --git a/decArgo_soft/soft/sub/parse_input_param_argos.m b/decArgo_soft/soft/sub/parse_input_param_argos.m index fdb67d24..8d24be73 100644 --- a/decArgo_soft/soft/sub/parse_input_param_argos.m +++ b/decArgo_soft/soft/sub/parse_input_param_argos.m @@ -57,7 +57,7 @@ floatWmoListInputParam = 0; if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -75,7 +75,7 @@ g_decArgo_processModeAll = 1; g_decArgo_processModeRedecode = 1; else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end @@ -83,7 +83,7 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_processmode', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end @@ -95,7 +95,7 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_argosfile', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end @@ -107,7 +107,7 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_floatwmo', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end @@ -119,12 +119,12 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_floatwmolist', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end else - fprintf('INFO: unexpected input argument (%s) => ignored\n', a_varargin{id}); + fprintf('INFO: unexpected input argument (%s) - ignored\n', a_varargin{id}); end end end @@ -132,19 +132,19 @@ % check mandatory input parameters if (processModeInputParam == 0) - fprintf('ERROR: ''processmode'' input param is mandatory => exit\n'); + fprintf('ERROR: ''processmode'' input param is mandatory - exit\n'); o_inputError = 1; return end if (g_decArgo_processModeRedecode == 0) if (argosFileInputParam == 0) - fprintf('ERROR: ''argosfile'' input param is mandatory when ''processmode'' = ''all'' or ''profile'' => exit\n'); + fprintf('ERROR: ''argosfile'' input param is mandatory when ''processmode'' = ''all'' or ''profile'' - exit\n'); o_inputError = 1; return end else if ((floatWmoInputParam == 0) && (floatWmoListInputParam == 0)) - fprintf('ERROR: ''floatwmo'' or ''floatwmolist'' input param is mandatory when ''processmode'' = ''redecode'' => exit\n'); + fprintf('ERROR: ''floatwmo'' or ''floatwmolist'' input param is mandatory when ''processmode'' = ''redecode'' - exit\n'); o_inputError = 1; return end @@ -183,7 +183,7 @@ % check the Argos input file if (g_decArgo_processModeRedecode == 0) if ~(exist(g_decArgo_inputArgosFile, 'file') == 2) - fprintf('ERROR: input Argos file (%s) does not exist => exit\n', g_decArgo_inputArgosFile); + fprintf('ERROR: input Argos file (%s) does not exist - exit\n', g_decArgo_inputArgosFile); o_inputError = 1; return end @@ -193,7 +193,7 @@ if (g_decArgo_processModeRedecode == 1) if (~isempty(g_decArgo_inputFloatWmoList)) if ~(exist(g_decArgo_inputFloatWmoList, 'file') == 2) - fprintf('ERROR: input WMO list file (%s) does not exist => exit\n', g_decArgo_inputFloatWmoList); + fprintf('ERROR: input WMO list file (%s) does not exist - exit\n', g_decArgo_inputFloatWmoList); o_inputError = 1; return end diff --git a/decArgo_soft/soft/sub/parse_input_param_common.m b/decArgo_soft/soft/sub/parse_input_param_common.m index 55af98c0..7218bacf 100644 --- a/decArgo_soft/soft/sub/parse_input_param_common.m +++ b/decArgo_soft/soft/sub/parse_input_param_common.m @@ -50,7 +50,7 @@ idDel = []; if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -67,7 +67,7 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_xmlreport', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end @@ -96,7 +96,7 @@ % check the config input file if (configFileInputParam == 1) if ~(exist(g_decArgo_configFilePathName, 'file') == 2) - fprintf('ERROR: input configuration file (%s) does not exist => exit\n', g_decArgo_configFilePathName); + fprintf('ERROR: input configuration file (%s) does not exist - exit\n', g_decArgo_configFilePathName); o_inputError = 1; return end @@ -105,7 +105,7 @@ % check the xml report file name consistency if (xmlReportInputParam == 1) if (length(g_decArgo_xmlReportFileName) < 29) - fprintf('WARNING: inconsistent xml report file name (%s) expecting co041404_yyyymmddTHHMMSSZ[_PID].xml => ignored\n', g_decArgo_xmlReportFileName); + fprintf('WARNING: inconsistent xml report file name (%s) expecting co041404_yyyymmddTHHMMSSZ[_PID].xml - ignored\n', g_decArgo_xmlReportFileName); g_decArgo_xmlReportFileName = []; end end diff --git a/decArgo_soft/soft/sub/parse_input_param_iridium_rudics_dm.m b/decArgo_soft/soft/sub/parse_input_param_iridium_rudics_dm.m index e8562ffc..6754637c 100644 --- a/decArgo_soft/soft/sub/parse_input_param_iridium_rudics_dm.m +++ b/decArgo_soft/soft/sub/parse_input_param_iridium_rudics_dm.m @@ -43,7 +43,7 @@ floatWmo = []; if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -55,12 +55,12 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_floatwmo', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end else - fprintf('INFO: unexpected input argument (%s) => ignored\n', a_varargin{id}); + fprintf('INFO: unexpected input argument (%s) - ignored\n', a_varargin{id}); end end end @@ -68,14 +68,14 @@ % check mandatory input parameter if (isempty(floatWmo)) - fprintf('ERROR: ''floatwmo'' input param is mandatory => exit\n'); + fprintf('ERROR: ''floatwmo'' input param is mandatory - exit\n'); o_inputError = 1; return end % check the corresponding directories and files if ~(exist(g_decArgo_dirInputRsyncLog, 'dir') == 7) - fprintf('ERROR: rsync log file directory (%s) does not exist => exit\n', g_decArgo_dirInputRsyncLog); + fprintf('ERROR: rsync log file directory (%s) does not exist - exit\n', g_decArgo_dirInputRsyncLog); o_inputError = 1; return end @@ -88,7 +88,7 @@ floatLaunchDate, floatLaunchLon, floatLaunchLat, ... floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatWmo, []); if (isempty(floatLoginName)) - fprintf('ERROR: no information on float #%d => exit\n', floatWmo); + fprintf('ERROR: no information on float #%d - exit\n', floatWmo); o_inputError = 1; return end diff --git a/decArgo_soft/soft/sub/parse_input_param_iridium_rudics_rt.m b/decArgo_soft/soft/sub/parse_input_param_iridium_rudics_rt.m index 7e032a7d..fa827dcf 100644 --- a/decArgo_soft/soft/sub/parse_input_param_iridium_rudics_rt.m +++ b/decArgo_soft/soft/sub/parse_input_param_iridium_rudics_rt.m @@ -53,7 +53,7 @@ floatWmo = []; if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -70,7 +70,7 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_rsynclog', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end @@ -81,12 +81,12 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_floatwmo', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end else - fprintf('INFO: unexpected input argument (%s) => ignored\n', a_varargin{id}); + fprintf('INFO: unexpected input argument (%s) - ignored\n', a_varargin{id}); end end end @@ -94,12 +94,12 @@ % check mandatory input parameter if (rsyncLogInputParam == 0) - fprintf('ERROR: ''rsynclog'' input param is mandatory => exit\n'); + fprintf('ERROR: ''rsynclog'' input param is mandatory - exit\n'); o_inputError = 1; return end if (isempty(floatWmo)) - fprintf('ERROR: ''floatwmo'' input param is mandatory => exit\n'); + fprintf('ERROR: ''floatwmo'' input param is mandatory - exit\n'); o_inputError = 1; return end @@ -112,7 +112,7 @@ floatLaunchDate, floatLaunchLon, floatLaunchLat, ... floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatWmo, []); if (isempty(floatLoginName)) - fprintf('ERROR: no information on float #%d => exit\n', floatWmo); + fprintf('ERROR: no information on float #%d - exit\n', floatWmo); o_inputError = 1; return end @@ -135,14 +135,14 @@ if (~isempty(rsyncLogFile)) rsyncLogPathFile = [g_decArgo_dirInputRsyncLog '/' rsyncLogFile]; if ~(exist(rsyncLogPathFile, 'file') == 2) - fprintf('ERROR: rsync log file (%s) does not exist => exit\n', rsyncLogPathFile); + fprintf('ERROR: rsync log file (%s) does not exist - exit\n', rsyncLogPathFile); o_inputError = 1; return end end if (allRsyncLogFlag == 1) if ~(exist(g_decArgo_dirInputRsyncLog, 'dir') == 7) - fprintf('ERROR: rsync log file directory (%s) does not exist => exit\n', g_decArgo_dirInputRsyncLog); + fprintf('ERROR: rsync log file directory (%s) does not exist - exit\n', g_decArgo_dirInputRsyncLog); o_inputError = 1; return end @@ -203,7 +203,7 @@ % CTS5-USEA Iridium RUDICS floats floatFiles = parse_rsync_log_ir_rudics_cts5_usea(ryncLogList{idFile}, floatLoginName); otherwise - fprintf('ERROR: don''t know how to parse rsync log file for decId #%d => exit\n', floatDecId); + fprintf('ERROR: don''t know how to parse rsync log file for decId #%d - exit\n', floatDecId); o_inputError = 1; return end diff --git a/decArgo_soft/soft/sub/parse_input_param_iridium_sbd2_dm.m b/decArgo_soft/soft/sub/parse_input_param_iridium_sbd2_dm.m index b162197c..9a209f4c 100644 --- a/decArgo_soft/soft/sub/parse_input_param_iridium_sbd2_dm.m +++ b/decArgo_soft/soft/sub/parse_input_param_iridium_sbd2_dm.m @@ -43,7 +43,7 @@ floatWmo = []; if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -55,12 +55,12 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_floatwmo', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end else - fprintf('INFO: unexpected input argument (%s) => ignored\n', a_varargin{id}); + fprintf('INFO: unexpected input argument (%s) - ignored\n', a_varargin{id}); end end end @@ -68,7 +68,7 @@ % check mandatory input parameter if (isempty(floatWmo)) - fprintf('ERROR: ''floatwmo'' input param is mandatory => exit\n'); + fprintf('ERROR: ''floatwmo'' input param is mandatory - exit\n'); o_inputError = 1; return end @@ -81,7 +81,7 @@ floatLaunchDate, floatLaunchLon, floatLaunchLat, ... floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatWmo, []); if (isempty(floatImei)) - fprintf('ERROR: no information on float #%d => exit\n', floatWmo); + fprintf('ERROR: no information on float #%d - exit\n', floatWmo); o_inputError = 1; return end @@ -89,7 +89,7 @@ % check the corresponding directories and files if ~(exist(g_decArgo_dirInputRsyncLog, 'dir') == 7) - fprintf('ERROR: rsync log file directory (%s) does not exist => exit\n', g_decArgo_dirInputRsyncLog); + fprintf('ERROR: rsync log file directory (%s) does not exist - exit\n', g_decArgo_dirInputRsyncLog); o_inputError = 1; return; end diff --git a/decArgo_soft/soft/sub/parse_input_param_iridium_sbd2_rt.m b/decArgo_soft/soft/sub/parse_input_param_iridium_sbd2_rt.m index 6c03b83d..e000452d 100644 --- a/decArgo_soft/soft/sub/parse_input_param_iridium_sbd2_rt.m +++ b/decArgo_soft/soft/sub/parse_input_param_iridium_sbd2_rt.m @@ -53,7 +53,7 @@ floatWmo = []; if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -70,7 +70,7 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_rsynclog', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end @@ -81,12 +81,12 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_floatwmo', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end else - fprintf('INFO: unexpected input argument (%s) => ignored\n', a_varargin{id}); + fprintf('INFO: unexpected input argument (%s) - ignored\n', a_varargin{id}); end end end @@ -94,12 +94,12 @@ % check mandatory input parameter if (rsyncLogInputParam == 0) - fprintf('ERROR: ''rsynclog'' input param is mandatory => exit\n'); + fprintf('ERROR: ''rsynclog'' input param is mandatory - exit\n'); o_inputError = 1; return end if (isempty(floatWmo)) - fprintf('ERROR: ''floatwmo'' input param is mandatory => exit\n'); + fprintf('ERROR: ''floatwmo'' input param is mandatory - exit\n'); o_inputError = 1; return end @@ -112,7 +112,7 @@ floatLaunchDate, floatLaunchLon, floatLaunchLat, ... floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatWmo, []); if (isempty(floatImei)) - fprintf('ERROR: no information on float #%d => exit\n', floatWmo); + fprintf('ERROR: no information on float #%d - exit\n', floatWmo); o_inputError = 1; return end @@ -123,14 +123,14 @@ if (~isempty(rsyncLogFile)) rsyncLogPathFile = [g_decArgo_dirInputRsyncLog '/' rsyncLogFile]; if ~(exist(rsyncLogPathFile, 'file') == 2) - fprintf('ERROR: rsync log file (%s) does not exist => exit\n', rsyncLogPathFile); + fprintf('ERROR: rsync log file (%s) does not exist - exit\n', rsyncLogPathFile); o_inputError = 1; return; end end if (allRsyncLogFlag == 1) if ~(exist(g_decArgo_dirInputRsyncLog, 'dir') == 7) - fprintf('ERROR: rsync log file directory (%s) does not exist => exit\n', g_decArgo_dirInputRsyncLog); + fprintf('ERROR: rsync log file directory (%s) does not exist - exit\n', g_decArgo_dirInputRsyncLog); o_inputError = 1; return; end diff --git a/decArgo_soft/soft/sub/parse_input_param_iridium_sbd_rt.m b/decArgo_soft/soft/sub/parse_input_param_iridium_sbd_rt.m index 277545a1..4a17e2e1 100644 --- a/decArgo_soft/soft/sub/parse_input_param_iridium_sbd_rt.m +++ b/decArgo_soft/soft/sub/parse_input_param_iridium_sbd_rt.m @@ -53,7 +53,7 @@ floatWmo = []; if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -70,7 +70,7 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_rsynclog', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end @@ -81,12 +81,12 @@ % store input parameter in the XML report g_decArgo_xmlReportDOMNode = add_element_in_xml_report(g_decArgo_xmlReportDOMNode, 'param_floatwmo', a_varargin{id+1}); else - fprintf('ERROR: inconsistent input arguments => exit\n'); + fprintf('ERROR: inconsistent input arguments - exit\n'); o_inputError = 1; return end else - fprintf('INFO: unexpected input argument (%s) => ignored\n', a_varargin{id}); + fprintf('INFO: unexpected input argument (%s) - ignored\n', a_varargin{id}); end end end @@ -94,12 +94,12 @@ % check mandatory input parameter if (rsyncLogInputParam == 0) - fprintf('ERROR: ''rsynclog'' input param is mandatory => exit\n'); + fprintf('ERROR: ''rsynclog'' input param is mandatory - exit\n'); o_inputError = 1; return end if (isempty(floatWmo)) - fprintf('ERROR: ''floatwmo'' input param is mandatory => exit\n'); + fprintf('ERROR: ''floatwmo'' input param is mandatory - exit\n'); o_inputError = 1; return end @@ -112,7 +112,7 @@ floatLaunchDate, floatLaunchLon, floatLaunchLat, ... floatRefDay, floatEndDate, floatDmFlag] = get_one_float_info(floatWmo, []); if (isempty(floatImei)) - fprintf('ERROR: no information on float #%d => exit\n', floatWmo); + fprintf('ERROR: no information on float #%d - exit\n', floatWmo); o_inputError = 1; return end @@ -123,14 +123,14 @@ if (~isempty(rsyncLogFile)) rsyncLogPathFile = [g_decArgo_dirInputRsyncLog '/' rsyncLogFile]; if ~(exist(rsyncLogPathFile, 'file') == 2) - fprintf('ERROR: rsync log file (%s) does not exist => exit\n', rsyncLogPathFile); + fprintf('ERROR: rsync log file (%s) does not exist - exit\n', rsyncLogPathFile); o_inputError = 1; return end end if (allRsyncLogFlag == 1) if ~(exist(g_decArgo_dirInputRsyncLog, 'dir') == 7) - fprintf('ERROR: rsync log file directory (%s) does not exist => exit\n', g_decArgo_dirInputRsyncLog); + fprintf('ERROR: rsync log file directory (%s) does not exist - exit\n', g_decArgo_dirInputRsyncLog); o_inputError = 1; return end diff --git a/decArgo_soft/soft/sub/parse_nemo_data.m b/decArgo_soft/soft/sub/parse_nemo_data.m index b0d6700a..9e5e3e0e 100644 --- a/decArgo_soft/soft/sub/parse_nemo_data.m +++ b/decArgo_soft/soft/sub/parse_nemo_data.m @@ -43,7 +43,7 @@ end if (isempty(a_paramName) && ~isempty(a_paramValue)) - fprintf('ERROR: %s header ''[%s]'' is missing => data ignored\n', errorHeader, a_headerName); + fprintf('ERROR: %s header ''[%s]'' is missing - data ignored\n', errorHeader, a_headerName); return end diff --git a/decArgo_soft/soft/sub/print_calib_coef_in_csv_file.m b/decArgo_soft/soft/sub/print_calib_coef_in_csv_file.m index 9433637d..04344cec 100644 --- a/decArgo_soft/soft/sub/print_calib_coef_in_csv_file.m +++ b/decArgo_soft/soft/sub/print_calib_coef_in_csv_file.m @@ -41,7 +41,7 @@ function print_calib_coef_in_csv_file(a_decoderId) % the size of the tabPhaseCoef should be: size(tabDoxyCoef) = 1 4 for the % Aanderaa standard calibration (tabPhaseCoef(i) = PhaseCoefi). if (~isempty(find((size(tabPhaseCoef) == [1 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => PPOX_DOXY not computed\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return @@ -50,7 +50,7 @@ function print_calib_coef_in_csv_file(a_decoderId) % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 4 for the % Aanderaa standard calibration (tabDoxyCoef(i,j) = Cij). if (~isempty(find((size(tabDoxyCoef) == [5 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent => PPOX_DOXY not computed\n', ... + fprintf('ERROR: Float #%d Cycle #%d: DOXY calibration coefficients are inconsistent - PPOX_DOXY not computed\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); return diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ECO2_mean_stdMed_111_113.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ECO2_mean_stdMed_111_113.m index fafcc493..847a6846 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ECO2_mean_stdMed_111_113.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ECO2_mean_stdMed_111_113.m @@ -165,7 +165,7 @@ function print_data_in_csv_file_ECO2_mean_stdMed_111_113( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO2 standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO2 standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ECO3_mean_stdMed_105_to_107_110_to_113.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ECO3_mean_stdMed_105_to_107_110_to_113.m index f9663f2b..d854ab5f 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ECO3_mean_stdMed_105_to_107_110_to_113.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ECO3_mean_stdMed_105_to_107_110_to_113.m @@ -187,7 +187,7 @@ function print_data_in_csv_file_ECO3_mean_stdMed_105_to_107_110_to_113( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO3 standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO3 standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ECO3_mean_stdMed_108_109.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ECO3_mean_stdMed_108_109.m index da9a9325..1a075fb9 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ECO3_mean_stdMed_108_109.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ECO3_mean_stdMed_108_109.m @@ -184,7 +184,7 @@ function print_data_in_csv_file_ECO3_mean_stdMed_108_109( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO3 standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO3 standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_OXY_mean_stdMed_301.m b/decArgo_soft/soft/sub/print_data_in_csv_file_OXY_mean_stdMed_301.m index dc37f1cf..4cbd2178 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_OXY_mean_stdMed_301.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_OXY_mean_stdMed_301.m @@ -174,7 +174,7 @@ function print_data_in_csv_file_OXY_mean_stdMed_301( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_OXY_mean_stdMed_302_303.m b/decArgo_soft/soft/sub/print_data_in_csv_file_OXY_mean_stdMed_302_303.m index b66336c2..aa3f17a6 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_OXY_mean_stdMed_302_303.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_OXY_mean_stdMed_302_303.m @@ -161,7 +161,7 @@ function print_data_in_csv_file_OXY_mean_stdMed_302_303( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_CROVER_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_CROVER_mean_stdMed.m index 54e3ace5..6fca5579 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_CROVER_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_CROVER_mean_stdMed.m @@ -153,7 +153,7 @@ function print_data_in_csv_file_ir_rudics_CROVER_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit cROVER standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit cROVER standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_OCR_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_OCR_mean_stdMed.m index 68050acb..b1e239b0 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_OCR_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_OCR_mean_stdMed.m @@ -194,7 +194,7 @@ function print_data_in_csv_file_ir_rudics_OCR_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit OCR standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit OCR standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_OXY_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_OXY_mean_stdMed.m index 954d7eb1..35f29278 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_OXY_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_OXY_mean_stdMed.m @@ -174,7 +174,7 @@ function print_data_in_csv_file_ir_rudics_OXY_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_SEAFET_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_SEAFET_mean_stdMed.m index a8d8fe14..f608e696 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_SEAFET_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_SEAFET_mean_stdMed.m @@ -147,7 +147,7 @@ function print_data_in_csv_file_ir_rudics_SEAFET_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit SEAFET standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit SEAFET standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_SUNA_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_SUNA_mean_stdMed.m index 15404f36..4e54660b 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_SUNA_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_SUNA_mean_stdMed.m @@ -147,7 +147,7 @@ function print_data_in_csv_file_ir_rudics_SUNA_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit SUNA standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit SUNA standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_sbd2_CTD_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_sbd2_CTD_mean_stdMed.m index 8742f3b1..aa766b83 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_sbd2_CTD_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_sbd2_CTD_mean_stdMed.m @@ -167,7 +167,7 @@ function print_data_in_csv_file_ir_rudics_sbd2_CTD_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit CTD standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit CTD standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_sbd2_FLNTU_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_sbd2_FLNTU_mean_stdMed.m index 9f1473cd..ceeec46f 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_sbd2_FLNTU_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_rudics_sbd2_FLNTU_mean_stdMed.m @@ -164,7 +164,7 @@ function print_data_in_csv_file_ir_rudics_sbd2_FLNTU_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLNTU standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLNTU standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_CYCLOPS_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_CYCLOPS_mean_stdMed.m index 3c95e1f5..ff7a0822 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_CYCLOPS_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_CYCLOPS_mean_stdMed.m @@ -149,7 +149,7 @@ function print_data_in_csv_file_ir_sbd2_CYCLOPS_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit CYCLOPS standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit CYCLOPS standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_FLBB_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_FLBB_mean_stdMed.m index 8a1e2015..06067353 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_FLBB_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_FLBB_mean_stdMed.m @@ -169,7 +169,7 @@ function print_data_in_csv_file_ir_sbd2_FLBB_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLBB standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLBB standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_SEAPOINT_mean_stdMed.m b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_SEAPOINT_mean_stdMed.m index 83fcec2c..69c526fb 100644 --- a/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_SEAPOINT_mean_stdMed.m +++ b/decArgo_soft/soft/sub/print_data_in_csv_file_ir_sbd2_SEAPOINT_mean_stdMed.m @@ -150,7 +150,7 @@ function print_data_in_csv_file_ir_sbd2_SEAPOINT_mean_stdMed( ... if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit SEAPOINT standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit SEAPOINT standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, a_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/print_float_prog_param_in_csv_file_221.m b/decArgo_soft/soft/sub/print_float_prog_param_in_csv_file_221.m index 69ca9b6f..44d34f9d 100644 --- a/decArgo_soft/soft/sub/print_float_prog_param_in_csv_file_221.m +++ b/decArgo_soft/soft/sub/print_float_prog_param_in_csv_file_221.m @@ -144,7 +144,7 @@ function print_float_prog_param_in_csv_file_221(a_floatParam1, a_floatParam2) fprintf(g_decArgo_outputCsvFileId, '%d; %d; Prog #1; PT16: Second profile pressure repetition rate (not used if = 1); %d\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, a_floatParam1(id, 42+ID_OFFSET)); fprintf(g_decArgo_outputCsvFileId, '%d; %d; Prog #1; PT17: Second profile pressure; %d; dbar\n', ... - g_decArgo_floatNum, g_decArgo_cycleNum, a_floatParam1(id, 43+ID_OFFSET)*10); + g_decArgo_floatNum, g_decArgo_cycleNum, a_floatParam1(id, 43+ID_OFFSET)); fprintf(g_decArgo_outputCsvFileId, '%d; %d; Prog #1; PT18: Average descent speed; %d; mm/s\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, a_floatParam1(id, 44+ID_OFFSET)); fprintf(g_decArgo_outputCsvFileId, '%d; %d; Prog #1; PT19: Park pressure increment between cycles; %d; dbar\n', ... diff --git a/decArgo_soft/soft/sub/print_info_in_csv_file_ir_sbd2.m b/decArgo_soft/soft/sub/print_info_in_csv_file_ir_sbd2.m index 69945a4a..d6d7ad3d 100644 --- a/decArgo_soft/soft/sub/print_info_in_csv_file_ir_sbd2.m +++ b/decArgo_soft/soft/sub/print_info_in_csv_file_ir_sbd2.m @@ -129,7 +129,7 @@ function print_info_in_csv_file_ir_sbd2( ... tabStop(idDel(1, 1)) = newId(end); else % the remaining ids are not contiguous (not processed yet) - fprintf('ERROR: Float #%d Cycle #%d: Not contiguous indexes => nothing done (TO BE DONE)\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Not contiguous indexes - nothing done (TO BE DONE)\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); stop = 1; diff --git a/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1121_1321_1322.m b/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts.m similarity index 93% rename from decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1121_1321_1322.m rename to decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts.m index 2af4b96a..92f46c1d 100644 --- a/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1121_1321_1322.m +++ b/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts.m @@ -2,7 +2,7 @@ % Get configuration information from Apex APF11 events. % % SYNTAX : -% [o_missionCfg, o_sampleCfg] = process_apx_apf11_ir_config_evts_1121_1321_1322(a_events) +% [o_missionCfg, o_sampleCfg] = process_apx_apf11_ir_config_evts(a_events) % % INPUT PARAMETERS : % a_events : input system_log file event data @@ -19,7 +19,7 @@ % RELEASES : % 04/27/2018 - RNU - creation % ------------------------------------------------------------------------------ -function [o_missionCfg, o_sampleCfg] = process_apx_apf11_ir_config_evts_1121_1321_1322(a_events) +function [o_missionCfg, o_sampleCfg] = process_apx_apf11_ir_config_evts(a_events) % output parameters initialization o_missionCfg = []; @@ -36,7 +36,10 @@ PATTERN_START = '-----------Mission Parameters-----------'; PATTERN_END = '----------------------------------------'; -events = a_events(find(strcmp({a_events.functionName}, 'MissionCfg'))); +events = a_events(find( ... + strcmp({a_events.functionName}, 'MissionCfg') | ... + strcmp({a_events.functionName}, 'mission_cfg') ... + )); configRec = []; for idEv = 1:length(events) evt = events(idEv); @@ -64,8 +67,12 @@ PATTERN_START = '#-----------Sample Config-----------'; PATTERN_END = '#-----------------------------------'; -events = a_events(find(strcmp({a_events.functionName}, 'SampleCfg'))); +events = a_events(find( ... + strcmp({a_events.functionName}, 'SampleCfg') | ... + strcmp({a_events.functionName}, 'sample_cfg') ... + )); configRec = []; +configStruct = []; for idEv = 1:length(events) evt = events(idEv); dataStr = evt.message; @@ -73,9 +80,11 @@ configRec = [evt.timestamp {[]}]; configStruct = []; elseif (any(strfind(dataStr, PATTERN_END))) - configRec{2} = configStruct; - o_sampleCfg = [o_sampleCfg; configRec]; - configRec = []; + if (~isempty(configStruct)) + configRec{2} = configStruct; + o_sampleCfg = [o_sampleCfg; configRec]; + configRec = []; + end else if (~isempty(configRec)) line = evt.message; diff --git a/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1122.m b/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1122.m deleted file mode 100644 index 657a4fc0..00000000 --- a/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1122.m +++ /dev/null @@ -1,221 +0,0 @@ -% ------------------------------------------------------------------------------ -% Get configuration information from Apex APF11 events. -% -% SYNTAX : -% [o_missionCfg, o_sampleCfg] = process_apx_apf11_ir_config_evts_1122(a_events) -% -% INPUT PARAMETERS : -% a_events : input system_log file event data -% -% OUTPUT PARAMETERS : -% o_missionCfg : mission configuration data -% o_sampleCfg : sample configuration data -% -% EXAMPLES : -% -% SEE ALSO : -% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) -% ------------------------------------------------------------------------------ -% RELEASES : -% 06/04/2020 - RNU - creation -% ------------------------------------------------------------------------------ -function [o_missionCfg, o_sampleCfg] = process_apx_apf11_ir_config_evts_1122(a_events) - -% output parameters initialization -o_missionCfg = []; -o_sampleCfg = []; - -% current float WMO number -global g_decArgo_floatNum; - -% current cycle number -global g_decArgo_cycleNum; - - -% mission configuration -PATTERN_START = '-----------Mission Parameters-----------'; -PATTERN_END = '----------------------------------------'; - -events = a_events(find(strcmp({a_events.functionName}, 'mission_cfg'))); -configRec = []; -for idEv = 1:length(events) - evt = events(idEv); - dataStr = evt.message; - if (any(strfind(dataStr, PATTERN_START))) - configRec = [evt.timestamp {[]}]; - configStruct = []; - elseif (any(strfind(dataStr, PATTERN_END))) - configRec{2} = configStruct; - o_missionCfg = [o_missionCfg; configRec]; - configRec = []; - else - if (~isempty(configRec)) - - line = evt.message; - info = textscan(line, '%s', 'delimiter', ' '); - info = info{:}; - configStruct.(info{1}) = []; - configStruct.(info{1}) = info(2:end)'; - end - end -end - -% sample configuration -PATTERN_START = '#-----------Sample Config-----------'; -PATTERN_END = '#-----------------------------------'; - -events = a_events(find(strcmp({a_events.functionName}, 'sample_cfg'))); -configRec = []; -for idEv = 1:length(events) - evt = events(idEv); - dataStr = evt.message; - if (any(strfind(dataStr, PATTERN_START))) - configRec = [evt.timestamp {[]}]; - configStruct = []; - elseif (any(strfind(dataStr, PATTERN_END))) - configRec{2} = configStruct; - o_sampleCfg = [o_sampleCfg; configRec]; - configRec = []; - else - if (~isempty(configRec)) - line = evt.message; - - if ((line(1) == '<') && (line(end) == '>')) - - phase = line(2:end-1); - if (~isfield(configStruct, phase)) - configStruct.(phase) = []; - end - - elseif (strncmpi(line, 'SAMPLE', length('SAMPLE'))) - - sampType = 'SAMPLE'; - if (~isfield(configStruct.(phase), sampType)) - configStruct.(phase).(sampType) = []; - end - - % default values - start = 2000; - stop = 0; - interval = 0; - count = 1; - - info = textscan(line, '%s'); - info = info{:}; - - if (~strcmpi(info{1}, 'SAMPLE')) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent sample data\n\n', ... - g_decArgo_floatNum, g_decArgo_cycleNum); - return - end - - idF = find(strcmp('DBAR', info), 1); - if (~isempty(idF)) - info(idF) = []; - end - - sensor = info{2}; - if (~isfield(configStruct.(phase).(sampType), sensor)) - configStruct.(phase).(sampType).(sensor) = []; - end - - if (length(info) >= 3) - start = str2num(info{3}); - end - if (length(info) >= 4) - stop = str2num(info{4}); - end - if (length(info) >= 5) - interval = str2num(info{5}); - end - if (length(info) >= 6) - count = str2num(info{6}); - end - - configStruct.(phase).(sampType).(sensor) = [configStruct.(phase).(sampType).(sensor); ... - start stop interval count]; - - elseif (strncmpi(line, 'PROFILE', length('PROFILE'))) - - sampType = 'PROFILE'; - if (~isfield(configStruct.(phase), sampType)) - configStruct.(phase).(sampType) = []; - end - - % default values - start = 2000; - stop = 0; - bin_size = 2; - rate = 1; - - info = textscan(line, '%s'); - info = info{:}; - - if (~strcmpi(info{1}, 'PROFILE')) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent sample data\n\n', ... - g_decArgo_floatNum, g_decArgo_cycleNum); - return - end - - sensor = info{2}; - if (strcmp(sensor, 'PTSH')) - sensor = 'PH'; - bin_size = 1; - rate = -1; - end - if (~isfield(configStruct.(phase).(sampType), sensor)) - configStruct.(phase).(sampType).(sensor) = []; - end - - if (length(info) >= 3) - start = str2num(info{3}); - end - if (length(info) >= 4) - stop = str2num(info{4}); - end - if (length(info) >= 5) - bin_size = str2num(info{5}); - end - if (length(info) >= 6) - rate = str2num(info{6}); - end - - configStruct.(phase).(sampType).(sensor) = [configStruct.(phase).(sampType).(sensor); ... - start stop bin_size rate]; - - elseif (strncmpi(line, 'MEASURE', length('MEASURE'))) - - sampType = 'MEASURE'; - if (~isfield(configStruct.(phase), sampType)) - configStruct.(phase).(sampType) = []; - end - - % default values - start = -1; - stop = -1; - interval = -1; - count = -1; - - info = textscan(line, '%s'); - info = info{:}; - - if (~strcmpi(info{1}, 'MEASURE')) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent sample data\n\n', ... - g_decArgo_floatNum, g_decArgo_cycleNum); - return - end - - sensor = info{2}; - if (~isfield(configStruct.(phase).(sampType), sensor)) - configStruct.(phase).(sampType).(sensor) = []; - end - - configStruct.(phase).(sampType).(sensor) = [configStruct.(phase).(sampType).(sensor); ... - start stop interval count]; - - end - end - end -end - -return diff --git a/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1123.m b/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1123.m deleted file mode 100644 index b308ce99..00000000 --- a/decArgo_soft/soft/sub/process_apx_apf11_ir_config_evts_1123.m +++ /dev/null @@ -1,221 +0,0 @@ -% ------------------------------------------------------------------------------ -% Get configuration information from Apex APF11 events. -% -% SYNTAX : -% [o_missionCfg, o_sampleCfg] = process_apx_apf11_ir_config_evts_1123(a_events) -% -% INPUT PARAMETERS : -% a_events : input system_log file event data -% -% OUTPUT PARAMETERS : -% o_missionCfg : mission configuration data -% o_sampleCfg : sample configuration data -% -% EXAMPLES : -% -% SEE ALSO : -% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) -% ------------------------------------------------------------------------------ -% RELEASES : -% 09/23/2020 - RNU - creation -% ------------------------------------------------------------------------------ -function [o_missionCfg, o_sampleCfg] = process_apx_apf11_ir_config_evts_1123(a_events) - -% output parameters initialization -o_missionCfg = []; -o_sampleCfg = []; - -% current float WMO number -global g_decArgo_floatNum; - -% current cycle number -global g_decArgo_cycleNum; - - -% mission configuration -PATTERN_START = '-----------Mission Parameters-----------'; -PATTERN_END = '----------------------------------------'; - -events = a_events(find(strcmp({a_events.functionName}, 'MissionCfg'))); -configRec = []; -for idEv = 1:length(events) - evt = events(idEv); - dataStr = evt.message; - if (any(strfind(dataStr, PATTERN_START))) - configRec = [evt.timestamp {[]}]; - configStruct = []; - elseif (any(strfind(dataStr, PATTERN_END))) - configRec{2} = configStruct; - o_missionCfg = [o_missionCfg; configRec]; - configRec = []; - else - if (~isempty(configRec)) - - line = evt.message; - info = textscan(line, '%s', 'delimiter', ' '); - info = info{:}; - configStruct.(info{1}) = []; - configStruct.(info{1}) = info(2:end)'; - end - end -end - -% sample configuration -PATTERN_START = '#-----------Sample Config-----------'; -PATTERN_END = '#-----------------------------------'; - -events = a_events(find(strcmp({a_events.functionName}, 'sample_cfg'))); -configRec = []; -for idEv = 1:length(events) - evt = events(idEv); - dataStr = evt.message; - if (any(strfind(dataStr, PATTERN_START))) - configRec = [evt.timestamp {[]}]; - configStruct = []; - elseif (any(strfind(dataStr, PATTERN_END))) - configRec{2} = configStruct; - o_sampleCfg = [o_sampleCfg; configRec]; - configRec = []; - else - if (~isempty(configRec)) - line = evt.message; - - if ((line(1) == '<') && (line(end) == '>')) - - phase = line(2:end-1); - if (~isfield(configStruct, phase)) - configStruct.(phase) = []; - end - - elseif (strncmpi(line, 'SAMPLE', length('SAMPLE'))) - - sampType = 'SAMPLE'; - if (~isfield(configStruct.(phase), sampType)) - configStruct.(phase).(sampType) = []; - end - - % default values - start = 2000; - stop = 0; - interval = 0; - count = 1; - - info = textscan(line, '%s'); - info = info{:}; - - if (~strcmpi(info{1}, 'SAMPLE')) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent sample data\n\n', ... - g_decArgo_floatNum, g_decArgo_cycleNum); - return - end - - idF = find(strcmp('DBAR', info), 1); - if (~isempty(idF)) - info(idF) = []; - end - - sensor = info{2}; - if (~isfield(configStruct.(phase).(sampType), sensor)) - configStruct.(phase).(sampType).(sensor) = []; - end - - if (length(info) >= 3) - start = str2num(info{3}); - end - if (length(info) >= 4) - stop = str2num(info{4}); - end - if (length(info) >= 5) - interval = str2num(info{5}); - end - if (length(info) >= 6) - count = str2num(info{6}); - end - - configStruct.(phase).(sampType).(sensor) = [configStruct.(phase).(sampType).(sensor); ... - start stop interval count]; - - elseif (strncmpi(line, 'PROFILE', length('PROFILE'))) - - sampType = 'PROFILE'; - if (~isfield(configStruct.(phase), sampType)) - configStruct.(phase).(sampType) = []; - end - - % default values - start = 2000; - stop = 0; - bin_size = 2; - rate = 1; - - info = textscan(line, '%s'); - info = info{:}; - - if (~strcmpi(info{1}, 'PROFILE')) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent sample data\n\n', ... - g_decArgo_floatNum, g_decArgo_cycleNum); - return - end - - sensor = info{2}; - if (strcmp(sensor, 'PTSH')) - sensor = 'PH'; - bin_size = 1; - rate = -1; - end - if (~isfield(configStruct.(phase).(sampType), sensor)) - configStruct.(phase).(sampType).(sensor) = []; - end - - if (length(info) >= 3) - start = str2num(info{3}); - end - if (length(info) >= 4) - stop = str2num(info{4}); - end - if (length(info) >= 5) - bin_size = str2num(info{5}); - end - if (length(info) >= 6) - rate = str2num(info{6}); - end - - configStruct.(phase).(sampType).(sensor) = [configStruct.(phase).(sampType).(sensor); ... - start stop bin_size rate]; - - elseif (strncmpi(line, 'MEASURE', length('MEASURE'))) - - sampType = 'MEASURE'; - if (~isfield(configStruct.(phase), sampType)) - configStruct.(phase).(sampType) = []; - end - - % default values - start = -1; - stop = -1; - interval = -1; - count = -1; - - info = textscan(line, '%s'); - info = info{:}; - - if (~strcmpi(info{1}, 'MEASURE')) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent sample data\n\n', ... - g_decArgo_floatNum, g_decArgo_cycleNum); - return - end - - sensor = info{2}; - if (~isfield(configStruct.(phase).(sampType), sensor)) - configStruct.(phase).(sampType).(sensor) = []; - end - - configStruct.(phase).(sampType).(sensor) = [configStruct.(phase).(sampType).(sensor); ... - start stop interval count]; - - end - end - end -end - -return diff --git a/decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts_1121_1123_1321_1322.m b/decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts.m similarity index 90% rename from decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts_1121_1123_1321_1322.m rename to decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts.m index 1be7a240..c7908d8d 100644 --- a/decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts_1121_1123_1321_1322.m +++ b/decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts.m @@ -2,7 +2,7 @@ % Get grounding information from Apex APF11 events. % % SYNTAX : -% [o_grounding] = process_apx_apf11_ir_grounding_evts_1121_1123_1321_1322(a_events) +% [o_grounding] = process_apx_apf11_ir_grounding_evts(a_events) % % INPUT PARAMETERS : % a_events : input system_log file event data @@ -18,7 +18,7 @@ % RELEASES : % 04/27/2018 - RNU - creation % ------------------------------------------------------------------------------ -function [o_grounding] = process_apx_apf11_ir_grounding_evts_1121_1123_1321_1322(a_events) +function [o_grounding] = process_apx_apf11_ir_grounding_evts(a_events) % output parameters initialization o_grounding = []; diff --git a/decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts_1122.m b/decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts_1122.m deleted file mode 100644 index cff75f54..00000000 --- a/decArgo_soft/soft/sub/process_apx_apf11_ir_grounding_evts_1122.m +++ /dev/null @@ -1,44 +0,0 @@ -% ------------------------------------------------------------------------------ -% Get grounding information from Apex APF11 events. -% -% SYNTAX : -% [o_grounding] = process_apx_apf11_ir_grounding_evts_1122(a_events) -% -% INPUT PARAMETERS : -% a_events : input system_log file event data -% -% OUTPUT PARAMETERS : -% o_grounding : grounding data -% -% EXAMPLES : -% -% SEE ALSO : -% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) -% ------------------------------------------------------------------------------ -% RELEASES : -% 06/04/2020 - RNU - creation -% ------------------------------------------------------------------------------ -function [o_grounding] = process_apx_apf11_ir_grounding_evts_1122(a_events) - -% output parameters initialization -o_grounding = []; - -% default values -global g_decArgo_dateDef; -global g_decArgo_presDef; - - -PATTERN_START = 'hit bottom @'; -PATTERN_END = 'dbar'; - -for idEv = 1:length(a_events) - dataStr = a_events(idEv).message; - if (any(strfind(dataStr, PATTERN_START))) - idF1 = strfind(dataStr, PATTERN_START); - idF2 = strfind(dataStr, PATTERN_END); - grouningPres = str2double(dataStr(idF1+length(PATTERN_START)+1:idF2-1)); - o_grounding = [o_grounding; [a_events(idEv).timestamp g_decArgo_dateDef grouningPres g_decArgo_presDef]]; - end -end - -return diff --git a/decArgo_soft/soft/sub/process_apx_apf11_ir_rudics_clock_offset_evts.m b/decArgo_soft/soft/sub/process_apx_apf11_ir_rudics_clock_offset_evts.m index be8ce698..05e28640 100644 --- a/decArgo_soft/soft/sub/process_apx_apf11_ir_rudics_clock_offset_evts.m +++ b/decArgo_soft/soft/sub/process_apx_apf11_ir_rudics_clock_offset_evts.m @@ -62,7 +62,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'GPS Skew: %d secs'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end @@ -75,7 +75,7 @@ else idF = cellfun(@(x) strfind(dataStr, x), PATTERN_UNUSED, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('DEC_INFO: %sNot managed GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sNot managed GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end diff --git a/decArgo_soft/soft/sub/process_apx_ir_gps_data_evts.m b/decArgo_soft/soft/sub/process_apx_ir_gps_data_evts.m index a99ea8ca..c7259e4a 100644 --- a/decArgo_soft/soft/sub/process_apx_ir_gps_data_evts.m +++ b/decArgo_soft/soft/sub/process_apx_ir_gps_data_evts.m @@ -81,7 +81,7 @@ if (~isempty(gpsData1) && (a_events(idEv).number-gpsData1{1} < 10)) [val, count, errmsg, nextIndex] = sscanf(gpsData1{2}, 'Profile %d GPS fix obtained in %d seconds.'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, gpsData1{2}); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, gpsData1{2}); continue end gpsCycleNum = val(1); @@ -89,7 +89,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'Fix: %f %f %d/%d/%d %d %d'); if (~isempty(errmsg) || (count ~= 7)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end @@ -109,7 +109,7 @@ gpsFixStruct.gpsFixAcqTime = gpsLocAcqTime; o_gpsData{end+1} = gpsFixStruct; else - fprintf('DEC_INFO: %sAnomaly detected while computing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while computing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end gpsData1 = []; @@ -117,7 +117,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'GPS fix not acquired after %ds; power-cycling the GPS.'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end @@ -129,7 +129,7 @@ if (~isempty(errmsg) || (count ~= 1)) [val, count, errmsg, nextIndex] = sscanf(dataStr, 'GPS fix-acquisition failed after %ds. Apf9 RTC skew check by-passed.'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end @@ -139,7 +139,7 @@ else idF = cellfun(@(x) strfind(dataStr, x), PATTERN_UNUSED, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('DEC_INFO: %sNot managed GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sNot managed GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end diff --git a/decArgo_soft/soft/sub/process_apx_ir_park_data_evts.m b/decArgo_soft/soft/sub/process_apx_ir_park_data_evts.m index 05947de2..f14ec120 100644 --- a/decArgo_soft/soft/sub/process_apx_ir_park_data_evts.m +++ b/decArgo_soft/soft/sub/process_apx_ir_park_data_evts.m @@ -61,7 +61,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'PTSO: %fdbars %fC %fPSU %d'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data1 = val'; @@ -70,13 +70,13 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'FLBB FSig, BbSig, TSig: %d, %d, %d'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data2 = val'; else - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1102, 1103, 1106, 1108, 1109, 1314} % 120210 & 012811 & 060612 & 062813_2 & 062813_3 & 090215 @@ -87,13 +87,13 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'PTS: %fdbars %fC %fPSU'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data = val'; else - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1104} % 020212 @@ -104,13 +104,13 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'PTS/O2,T2,TPhase,RawTemp: %fdbars %fC %fPSU / %fuM %fC %f %f'); if (~isempty(errmsg) || (count ~= 7)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data = [val(1) val(2) val(3) val(6) val(5)]; else - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1105} % 030512 @@ -122,7 +122,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'PTS/O2,T2,TPhase,RawTemp: %fdbars %fC %fPSU / %fuM %fC %f %f'); if (~isempty(errmsg) || (count ~= 7)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data1 = [val(1) val(2) val(3) val(6) val(5)]; @@ -131,13 +131,13 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'FLBB FSig, BbSig, TSig: %d, %d, %d'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data2 = val'; else - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1107, 1113} % 062813 & 110216 @@ -148,13 +148,13 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'PTS/O2,T2,TPhase,RawTemp: %fdbars %fC %fPSU / %fuM %fC %f %f %f'); if (~isempty(errmsg) || (count ~= 8)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data = [val(1) val(2) val(3) val(5) val(6) val(7)]; else - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1110, 1111, 1112} % 092813 & 073014 & 102815 @@ -166,7 +166,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'PTS/O2,T2,TPhase,RawTemp: %fdbars %fC %fPSU / %fuM %fC %f %f %f'); if (~isempty(errmsg) || (count ~= 8)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data1 = [val(1) val(2) val(3) val(5) val(6) val(7)]; @@ -175,13 +175,13 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'FLBB FSig, BbSig, TSig: %d, %d, %d'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data2 = val'; else - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1201} % 061113 @@ -194,7 +194,7 @@ if (~isempty(errmsg) || (count ~= 12)) [val, count, errmsg, nextIndex] = sscanf(dataStr, 'PTS/O,T,TPhase,RawTemp: %fdbars %fC %fPSU/ NaN NaN NaN NaN NaN/ NaN NaN NaN NaN'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue else data = [val(1) val(2) val(3)]; @@ -204,7 +204,7 @@ end else - fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing park end measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end otherwise diff --git a/decArgo_soft/soft/sub/process_apx_ir_rudics_clock_offset_evts.m b/decArgo_soft/soft/sub/process_apx_ir_rudics_clock_offset_evts.m index a7a8e232..b1c0bae4 100644 --- a/decArgo_soft/soft/sub/process_apx_ir_rudics_clock_offset_evts.m +++ b/decArgo_soft/soft/sub/process_apx_ir_rudics_clock_offset_evts.m @@ -83,7 +83,7 @@ if (~isempty(errmsg) || (count ~= 2)) [val, count, errmsg, nextIndex] = sscanf(dataStr, 'Profile %d GPS fix obtained in %d seconds.'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end @@ -95,7 +95,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'APF9 RTC skew (%ds) OK.'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end @@ -113,7 +113,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'NPF RTC skew (%ds) OK.'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end @@ -133,7 +133,7 @@ if (~isempty(errmsg) || (count ~= 1)) [val, count, errmsg, nextIndex] = sscanf(dataStr(1:end-25), 'Excessive RTC skew (%ds) detected. Resetting Npf''s RTC to'); if (~isempty(errmsg) || (count ~= 1)) - fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end @@ -185,7 +185,7 @@ end o_rtcOffset = [o_rtcOffset rtcOffset]; else - fprintf('DEC_INFO: %sInconsistency after RTC set (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sInconsistency after RTC set (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end elseif (any(strfind(dataStr, PATTERN6))) @@ -219,13 +219,13 @@ end o_rtcOffset = [o_rtcOffset rtcOffset]; else - fprintf('DEC_INFO: %sInconsistency after RTC set (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sInconsistency after RTC set (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end else idF = cellfun(@(x) strfind(dataStr, x), PATTERN_UNUSED, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('DEC_INFO: %sNot managed GPS information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sNot managed GPS information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end diff --git a/decArgo_soft/soft/sub/process_apx_ir_surf_data_evts.m b/decArgo_soft/soft/sub/process_apx_ir_surf_data_evts.m index 78b874b7..87250370 100644 --- a/decArgo_soft/soft/sub/process_apx_ir_surf_data_evts.m +++ b/decArgo_soft/soft/sub/process_apx_ir_surf_data_evts.m @@ -56,7 +56,7 @@ if (~isempty(idF)) cycleNum = str2num(dataStr(length(PATTERN+1):idF(1)-1)); else - fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' => ignored\n', errorHeader, 'TelemetryInit()', dataStr); + fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' - ignored\n', errorHeader, 'TelemetryInit()', dataStr); end end end @@ -79,12 +79,12 @@ if (any(strfind(dataStr, HEADER))) [val, count, errmsg, nextIndex] = sscanf(dataStr(length(HEADER)+1:end), '%fdbars/%d,%d,%d'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data = [data; events(idEv).time val' events(idEv).mTime]; else - fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1105} % 030512 @@ -93,12 +93,12 @@ if (any(strfind(dataStr, HEADER))) [val, count, errmsg, nextIndex] = sscanf(dataStr(length(HEADER)+1:end), '%fdbars / %fuM %fC %f %f / %d,%d,%d'); if (~isempty(errmsg) || (count ~= 8)) - fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data = [data; events(idEv).time val(1) val(4) val(3) val(6) val(7) val(8) events(idEv).mTime]; else - fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1110, 1111, 1112} % 092813 & 073014 & 102815 @@ -107,12 +107,12 @@ if (any(strfind(dataStr, HEADER))) [val, count, errmsg, nextIndex] = sscanf(dataStr(length(HEADER)+1:end), '%fdbars / %fuM %fC %f %f %f / %d,%d,%d'); if (~isempty(errmsg) || (count ~= 9)) - fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end data = [data; events(idEv).time val(1) val(3) val(4) val(5) val(6) val(7) val(8) events(idEv).mTime]; else - fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end case {1201} % 061113 @@ -121,7 +121,7 @@ if (any(strfind(dataStr, HEADER))) % surface measurements are not reported in log file else - fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end otherwise diff --git a/decArgo_soft/soft/sub/process_apx_ir_time_data_evts.m b/decArgo_soft/soft/sub/process_apx_ir_time_data_evts.m index bc7fc285..09fe8609 100644 --- a/decArgo_soft/soft/sub/process_apx_ir_time_data_evts.m +++ b/decArgo_soft/soft/sub/process_apx_ir_time_data_evts.m @@ -56,7 +56,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'Deep profile %d initiated at mission-time %dsec.'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end o_timeData.cycleNum = val(1); @@ -67,7 +67,7 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'Park profile %d initiated at mission-time %dsec.'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end o_timeData.cycleNum = val(1); @@ -80,14 +80,14 @@ if (~isempty(errmsg) || (count ~= 1)) [val, count, errmsg, nextIndex] = sscanf(dataStr, 'Surface pressure: %fdbars. IER: %i'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end o_timeData.descentStartSurfPres = val(1); else - fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' => ignored\n', errorHeader, 'DescentInit()', dataStr); + fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' - ignored\n', errorHeader, 'DescentInit()', dataStr); end end end @@ -158,13 +158,13 @@ [val, count, errmsg, nextIndex] = sscanf(dataStr, 'PrfId:%d Pressure:%fdbar pTable[%d]:%ddbar'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end if (isempty(o_timeData.cycleNum)) o_timeData.cycleNum = val(1); elseif (o_timeData.cycleNum ~= val(1)) - fprintf('DEC_INFO: %sAnomaly detected between cycle number of DST and AST => ignored\n', errorHeader); + fprintf('DEC_INFO: %sAnomaly detected between cycle number of DST and AST - ignored\n', errorHeader); continue end o_timeData.ascentStartDate = events(idEv).time; @@ -173,7 +173,7 @@ else idF = cellfun(@(x) strfind(dataStr, x), PATTERN_UNUSED, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' => ignored\n', errorHeader, 'ProfileInit()', dataStr); + fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' - ignored\n', errorHeader, 'ProfileInit()', dataStr); continue end end @@ -206,7 +206,7 @@ if (~isempty(errmsg) || (count ~= 3)) [val, count, errmsg, nextIndex] = sscanf(dataStr, 'SurfacePressure:%fdbars Pressure:%fdbars BuoyancyPosition:%d'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing time information (from evts) ''%s'' - ignored\n', errorHeader, dataStr); continue end end @@ -216,7 +216,7 @@ else idF = cellfun(@(x) strfind(dataStr, x), PATTERN_UNUSED, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' => ignored\n', errorHeader, 'SurfaceDetect()', dataStr); + fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' - ignored\n', errorHeader, 'SurfaceDetect()', dataStr); continue end end @@ -267,7 +267,7 @@ else idF = cellfun(@(x) strfind(dataStr, x), PATTERN_UNUSED, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' => ignored\n', errorHeader, 'login()', dataStr); + fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' - ignored\n', errorHeader, 'login()', dataStr); continue end end @@ -302,7 +302,7 @@ else idF = cellfun(@(x) strfind(dataStr, x), PATTERN_UNUSED, 'UniformOutput', 0); if (isempty([idF{:}])) - fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' => ignored\n', errorHeader, 'logout()', dataStr); + fprintf('DEC_INFO: %sNot managed information for ''%s'' cmd (from evts) ''%s'' - ignored\n', errorHeader, 'logout()', dataStr); continue end end diff --git a/decArgo_soft/soft/sub/process_cycle_times_nemo.m b/decArgo_soft/soft/sub/process_cycle_times_nemo.m index 2597e169..a384c91a 100644 --- a/decArgo_soft/soft/sub/process_cycle_times_nemo.m +++ b/decArgo_soft/soft/sub/process_cycle_times_nemo.m @@ -60,7 +60,7 @@ o_cycleTimeData.(timeStruct.label) = timeValue; end else - fprintf('WARNING: Float #%d Cycle #%d: Don''t know what to do with time dedicated field ''%s'' => not considered\n', ... + fprintf('WARNING: Float #%d Cycle #%d: Don''t know what to do with time dedicated field ''%s'' - not considered\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... timeStruct.label); diff --git a/decArgo_soft/soft/sub/process_decoded_data.m b/decArgo_soft/soft/sub/process_decoded_data.m index ea8e9e10..70714526 100644 --- a/decArgo_soft/soft/sub/process_decoded_data.m +++ b/decArgo_soft/soft/sub/process_decoded_data.m @@ -102,6 +102,15 @@ % clock offset management global g_decArgo_clockOffset; +% from +% - decId 223 for Arvor +% - decId 221 for Arvor Deep +% configuration parameters are not transmitted each cycle +% consequently we must update the configuration of the second deep cycle with +% initial parameters, this should be done once (except if alterneated profil or +% auto-increment flag are set) +global g_decArgo_doneOnceFlag; + % no data to process if (isempty(a_decodedDataTab)) @@ -1237,6 +1246,11 @@ % assign the current configuration to the current deep cycle if (((g_decArgo_cycleNum > 0) && (deepCycleFlag == 1)) || (resetDetectedFlag == 1)) set_float_config_ir_sbd_delayed(g_decArgo_cycleNum); + + % update the configuration (even if no param packets are received) + if (g_decArgo_doneOnceFlag ~= 1) + update_float_config_ir_sbd_delayed([{[]} {[]}], g_decArgo_cycleNum, a_decoderId); + end end % update float configuration for the next cycles @@ -1490,6 +1504,11 @@ % assign the current configuration to the current deep cycle if (((g_decArgo_cycleNum > 0) && (deepCycleFlag == 1)) || (resetDetectedFlag == 1)) set_float_config_ir_sbd_delayed(g_decArgo_cycleNum); + + % update the configuration (even if no param packets are received) + if (g_decArgo_doneOnceFlag ~= 1) + update_float_config_ir_sbd_delayed([{[]} {[]}], g_decArgo_cycleNum, a_decoderId); + end end % update float configuration for the next cycles @@ -1635,7 +1654,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TRAJ NetCDF file - + % process trajectory data for TRAJ NetCDF file [tabTrajNMeas, tabTrajNCycle, tabTechNMeas] = process_trajectory_data_222_223( ... g_decArgo_cycleNum, deepCycleFlag, ... @@ -1698,6 +1717,11 @@ % assign the current configuration to the current deep cycle if (((g_decArgo_cycleNum > 0) && (deepCycleFlag == 1)) || (resetDetectedFlag == 1)) set_float_config_ir_sbd_delayed(g_decArgo_cycleNum); + + % update the configuration (even if no param packets are received) + if (g_decArgo_doneOnceFlag ~= 1) + update_float_config_ir_sbd_delayed([{[]} {[]}], g_decArgo_cycleNum, a_decoderId); + end end % update float configuration for the next cycles diff --git a/decArgo_soft/soft/sub/process_nvs_ir_rudics_sbe63_parse_issue_evts.m b/decArgo_soft/soft/sub/process_nvs_ir_rudics_sbe63_parse_issue_evts.m index df1b746f..be5f0a86 100644 --- a/decArgo_soft/soft/sub/process_nvs_ir_rudics_sbe63_parse_issue_evts.m +++ b/decArgo_soft/soft/sub/process_nvs_ir_rudics_sbe63_parse_issue_evts.m @@ -53,7 +53,7 @@ data = [data; a_events(idEv).time val(1) val(4)]; end else - fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' => ignored\n', errorHeader, dataStr); + fprintf('DEC_INFO: %sAnomaly detected while parsing surface measurements (from evts) ''%s'' - ignored\n', errorHeader, dataStr); end end diff --git a/decArgo_soft/soft/sub/process_profile_ECO2_mean_stdMed_111_113.m b/decArgo_soft/soft/sub/process_profile_ECO2_mean_stdMed_111_113.m index dc6c2bb6..04719349 100644 --- a/decArgo_soft/soft/sub/process_profile_ECO2_mean_stdMed_111_113.m +++ b/decArgo_soft/soft/sub/process_profile_ECO2_mean_stdMed_111_113.m @@ -201,7 +201,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO2 standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO2 standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ECO3_mean_stdMed_105_to_107_110_to_113.m b/decArgo_soft/soft/sub/process_profile_ECO3_mean_stdMed_105_to_107_110_to_113.m index 0acd9436..3bd46917 100644 --- a/decArgo_soft/soft/sub/process_profile_ECO3_mean_stdMed_105_to_107_110_to_113.m +++ b/decArgo_soft/soft/sub/process_profile_ECO3_mean_stdMed_105_to_107_110_to_113.m @@ -217,7 +217,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO3 standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO3 standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ECO3_mean_stdMed_108_109.m b/decArgo_soft/soft/sub/process_profile_ECO3_mean_stdMed_108_109.m index 51ca81d3..abee9c45 100644 --- a/decArgo_soft/soft/sub/process_profile_ECO3_mean_stdMed_108_109.m +++ b/decArgo_soft/soft/sub/process_profile_ECO3_mean_stdMed_108_109.m @@ -216,7 +216,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO3 standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit ECO3 standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_CROVER_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_CROVER_mean_stdMed.m index 4a65a62f..2a31a9c5 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_CROVER_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_CROVER_mean_stdMed.m @@ -193,7 +193,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit cROVER standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit cROVER standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_CTD_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_CTD_mean_stdMed.m index 0a20c033..9fd98657 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_CTD_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_CTD_mean_stdMed.m @@ -135,12 +135,12 @@ if (~isempty(configPC0113) && ~isnan(configPC0113)) profStruct.presCutOffProf = configPC0113; - fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, ... cycleNum, ... profNum); else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... g_decArgo_floatNum, ... cycleNum, ... profNum); @@ -263,7 +263,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit CTD standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit CTD standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_CTD_raw.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_CTD_raw.m index f045a56e..cc869475 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_CTD_raw.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_CTD_raw.m @@ -119,12 +119,12 @@ if (~isempty(configPC0113) && ~isnan(configPC0113)) profStruct.presCutOffProf = configPC0113; - fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, ... cycleNum, ... profNum); else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... g_decArgo_floatNum, ... cycleNum, ... profNum); diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_FLNTU_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_FLNTU_mean_stdMed.m index 7c7acc41..e8a92a18 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_FLNTU_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_FLNTU_mean_stdMed.m @@ -203,7 +203,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLNTU standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLNTU standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_OCR_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_OCR_mean_stdMed.m index 101caafb..88317cd7 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_OCR_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_OCR_mean_stdMed.m @@ -225,7 +225,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit OCR standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit OCR standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_OXY_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_OXY_mean_stdMed.m index 2271f0e8..c6e33db1 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_OXY_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_OXY_mean_stdMed.m @@ -120,12 +120,12 @@ % if (~isempty(configPC0113) && ~isnan(configPC0113)) % profStruct.presCutOffProf = configPC0113; % - % fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + % fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... % g_decArgo_floatNum, ... % cycleNum, ... % profNum); % else - % fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + % fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... % g_decArgo_floatNum, ... % cycleNum, ... % profNum); @@ -259,7 +259,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_OXY_raw.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_OXY_raw.m index cbefd94d..4d2a3cc0 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_OXY_raw.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_OXY_raw.m @@ -103,12 +103,12 @@ % if (~isempty(configPC0113) && ~isnan(configPC0113)) % profStruct.presCutOffProf = configPC0113; % - % fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + % fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... % g_decArgo_floatNum, ... % cycleNum, ... % profNum); % else - % fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + % fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... % g_decArgo_floatNum, ... % cycleNum, ... % profNum); diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_SEAFET_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_SEAFET_mean_stdMed.m index 3220b835..9509ca8d 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_SEAFET_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_SEAFET_mean_stdMed.m @@ -188,7 +188,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit SEAFET standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit SEAFET standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_SUNA_APF_110_113.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_SUNA_APF_110_113.m index 95635f73..a66af8ab 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_SUNA_APF_110_113.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_SUNA_APF_110_113.m @@ -121,12 +121,12 @@ (a_dataSUNAAPFSensorNitra(idDataAPF(idL), 4) == a_dataSUNAAPF2SensorNitra(idDataAPF2, 4)) & ... (a_dataSUNAAPFAbsFitRes(idDataAPF(idL), 4) == a_dataSUNAAPF2AbsFitRes(idDataAPF2, 4))); if (isempty(idF)) - fprintf('ERROR: Float #%d Cycle #%d: Cannot find SUNA APF2 data associated to SUNA APF2 data => data not considered\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Cannot find SUNA APF2 data associated to SUNA APF2 data - data not considered\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); continue elseif (length(idF) > 1) - fprintf('ERROR: Float #%d Cycle #%d: More than one SUNA APF2 data associated to SUNA APF2 data => the first one is used\n', ... + fprintf('ERROR: Float #%d Cycle #%d: More than one SUNA APF2 data associated to SUNA APF2 data - the first one is used\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); idF = idF(1); diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_SUNA_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_SUNA_mean_stdMed.m index 118c4d41..ceb2888b 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_SUNA_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_SUNA_mean_stdMed.m @@ -187,7 +187,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit SUNA standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit SUNA standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_ctd.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_ctd.m index ce2f6911..d17f9604 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_ctd.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_ctd.m @@ -139,13 +139,13 @@ if (~isempty(configPresCutOffProf) && ~isnan(configPresCutOffProf)) profStruct.presCutOffProf = configPresCutOffProf; - fprintf('DEC_WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in apmt data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in apmt data - value retrieved from the configuration\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... g_decArgo_patternNumFloat); else - fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... @@ -231,7 +231,7 @@ profStruct.treatType = g_decArgo_treatAverageAndStDevAndMedian; otherwise - fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed => CTD data ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed - CTD data ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_do.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_do.m index 9f04f0ef..b89370b2 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_do.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_do.m @@ -202,7 +202,7 @@ profStruct.treatType = g_decArgo_treatAverageAndStDevAndMedian; otherwise - fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed => DO data ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed - DO data ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_eco.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_eco.m index 46677d4d..a70903d6 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_eco.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_eco.m @@ -202,7 +202,7 @@ profStruct.treatType = g_decArgo_treatAverageAndStDevAndMedian; otherwise - fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed => DO data ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed - DO data ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_ocr.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_ocr.m index 57c6b288..e0419880 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_ocr.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_ocr.m @@ -210,7 +210,7 @@ profStruct.treatType = g_decArgo_treatAverageAndStDevAndMedian; otherwise - fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed => DO data ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed - DO data ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_uvp_black.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_uvp_black.m index 433d6e0a..57a815f7 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_uvp_black.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_uvp_black.m @@ -126,7 +126,7 @@ end otherwise - fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed => DO data ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed - DO data ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_uvp_lpm.m b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_uvp_lpm.m index 91674c38..69bb80df 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_uvp_lpm.m +++ b/decArgo_soft/soft/sub/process_profile_ir_rudics_cts5_usea_uvp_lpm.m @@ -146,7 +146,7 @@ end otherwise - fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed => DO data ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Treatment #%d not managed - DO data ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/process_profile_ir_sbd2_CTD_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_sbd2_CTD_mean_stdMed.m index 67b5b394..8458a121 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_sbd2_CTD_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_sbd2_CTD_mean_stdMed.m @@ -136,12 +136,12 @@ if (~isempty(configPC0112) && ~isnan(configPC0112)) profStruct.presCutOffProf = configPC0112; - fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, ... cycleNum, ... profNum); else - fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... g_decArgo_floatNum, ... cycleNum, ... profNum); @@ -264,7 +264,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit CTD standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit CTD standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_sbd2_CYCLOPS_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_sbd2_CYCLOPS_mean_stdMed.m index 7058be83..d34a9385 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_sbd2_CYCLOPS_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_sbd2_CYCLOPS_mean_stdMed.m @@ -187,7 +187,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit CYCLOPS standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit CYCLOPS standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_sbd2_FLBB_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_sbd2_FLBB_mean_stdMed.m index 2a94f48f..0a82aa0d 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_sbd2_FLBB_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_sbd2_FLBB_mean_stdMed.m @@ -205,7 +205,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLBB standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLBB standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_sbd2_FLNTU_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_sbd2_FLNTU_mean_stdMed.m index d8350f65..9e708bd4 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_sbd2_FLNTU_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_sbd2_FLNTU_mean_stdMed.m @@ -204,7 +204,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLNTU standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit FLNTU standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_sbd2_OXY_mean_stdMed_301.m b/decArgo_soft/soft/sub/process_profile_ir_sbd2_OXY_mean_stdMed_301.m index 17f7b0f8..e32b44f5 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_sbd2_OXY_mean_stdMed_301.m +++ b/decArgo_soft/soft/sub/process_profile_ir_sbd2_OXY_mean_stdMed_301.m @@ -121,12 +121,12 @@ % if (~isempty(configPC0112) && ~isnan(configPC0112)) % profStruct.presCutOffProf = configPC0112; % - % fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + % fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... % g_decArgo_floatNum, ... % cycleNum, ... % profNum); % else - % fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + % fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... % g_decArgo_floatNum, ... % cycleNum, ... % profNum); @@ -260,7 +260,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_sbd2_OXY_mean_stdMed_302_303.m b/decArgo_soft/soft/sub/process_profile_ir_sbd2_OXY_mean_stdMed_302_303.m index 0d52ed66..4fcc8068 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_sbd2_OXY_mean_stdMed_302_303.m +++ b/decArgo_soft/soft/sub/process_profile_ir_sbd2_OXY_mean_stdMed_302_303.m @@ -118,12 +118,12 @@ % if (~isempty(configPC0112) && ~isnan(configPC0112)) % profStruct.presCutOffProf = configPC0112; % - % fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + % fprintf('DEC_WARNING: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... % g_decArgo_floatNum, ... % cycleNum, ... % profNum); % else - % fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + % fprintf('ERROR: Float #%d Cycle #%d Profile #%d: PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... % g_decArgo_floatNum, ... % cycleNum, ... % profNum); @@ -247,7 +247,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit OXY standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profile_ir_sbd2_SEAPOINT_mean_stdMed.m b/decArgo_soft/soft/sub/process_profile_ir_sbd2_SEAPOINT_mean_stdMed.m index bf04e331..b938d1ca 100644 --- a/decArgo_soft/soft/sub/process_profile_ir_sbd2_SEAPOINT_mean_stdMed.m +++ b/decArgo_soft/soft/sub/process_profile_ir_sbd2_SEAPOINT_mean_stdMed.m @@ -187,7 +187,7 @@ if (~isempty(idF)) idOk = idOk(idF); else - fprintf('WARNING: Float #%d Cycle #%d: cannot fit SEAPOINT standard deviation and median data with associated mean data => standard deviation and median data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: cannot fit SEAPOINT standard deviation and median data with associated mean data - standard deviation and median data ignored\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); continue end diff --git a/decArgo_soft/soft/sub/process_profiles_1_3_11_12_17_24_30_31.m b/decArgo_soft/soft/sub/process_profiles_1_3_11_12_17_24_30_31.m index efe5bcf4..15016858 100644 --- a/decArgo_soft/soft/sub/process_profiles_1_3_11_12_17_24_30_31.m +++ b/decArgo_soft/soft/sub/process_profiles_1_3_11_12_17_24_30_31.m @@ -62,7 +62,7 @@ if (~isempty(g_decArgo_jsonMetaData) && isfield(g_decArgo_jsonMetaData, 'PRES_CUT_OFF_PROF')) presCutOffProf = g_decArgo_jsonMetaData.PRES_CUT_OFF_PROF; else - fprintf('ERROR: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing => CTD profiles not split\n', ... + fprintf('ERROR: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing - CTD profiles not split\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); presCutOffProf = g_decArgo_presDef*-1; diff --git a/decArgo_soft/soft/sub/process_profiles_2001_2003.m b/decArgo_soft/soft/sub/process_profiles_2001_2003.m index b4753424..2a4506e5 100644 --- a/decArgo_soft/soft/sub/process_profiles_2001_2003.m +++ b/decArgo_soft/soft/sub/process_profiles_2001_2003.m @@ -68,7 +68,7 @@ end if ((g_decArgo_finalEolMode == 0) && (size(a_tabTech, 1) > 1)) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the first one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the first one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/process_profiles_2002.m b/decArgo_soft/soft/sub/process_profiles_2002.m index 6d3c59e7..b6e320dc 100644 --- a/decArgo_soft/soft/sub/process_profiles_2002.m +++ b/decArgo_soft/soft/sub/process_profiles_2002.m @@ -81,7 +81,7 @@ end if ((g_decArgo_finalEolMode == 0) && (size(a_tabTech, 1) > 1)) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the first one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the first one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/process_profiles_201_203_215.m b/decArgo_soft/soft/sub/process_profiles_201_203_215.m index d2116561..a99de939 100644 --- a/decArgo_soft/soft/sub/process_profiles_201_203_215.m +++ b/decArgo_soft/soft/sub/process_profiles_201_203_215.m @@ -81,7 +81,7 @@ idF2 = find(a_tabTech(:, 1) == 4); if (~isempty(idF2)) if (length(idF2) > 1) - fprintf('ERROR: Float #%d cycle #%d: %d decoded tech message #2 => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: %d decoded tech message #2 - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end @@ -104,12 +104,12 @@ if (~isempty(ctpPumpSwitchOffPres)) presCutOffProf = ctpPumpSwitchOffPres + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_202.m b/decArgo_soft/soft/sub/process_profiles_202.m index f058fe38..4b6ddabc 100644 --- a/decArgo_soft/soft/sub/process_profiles_202.m +++ b/decArgo_soft/soft/sub/process_profiles_202.m @@ -81,7 +81,7 @@ idF2 = find(a_tabTech(:, 1) == 4); if (~isempty(idF2)) if (length(idF2) > 1) - fprintf('ERROR: Float #%d cycle #%d: %d decoded tech message #2 => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: %d decoded tech message #2 - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end @@ -104,12 +104,12 @@ if (~isempty(ctpPumpSwitchOffPres)) presCutOffProf = ctpPumpSwitchOffPres + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_204_205.m b/decArgo_soft/soft/sub/process_profiles_204_205.m index 51fbeef7..94ddaeb0 100644 --- a/decArgo_soft/soft/sub/process_profiles_204_205.m +++ b/decArgo_soft/soft/sub/process_profiles_204_205.m @@ -65,7 +65,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end @@ -86,12 +86,12 @@ if (~isempty(ctpPumpSwitchOffPres)) presCutOffProf = ctpPumpSwitchOffPres + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_206_to_208_213.m b/decArgo_soft/soft/sub/process_profiles_206_to_208_213.m index 9fb43260..a2c2a93f 100644 --- a/decArgo_soft/soft/sub/process_profiles_206_to_208_213.m +++ b/decArgo_soft/soft/sub/process_profiles_206_to_208_213.m @@ -82,7 +82,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end @@ -103,12 +103,12 @@ if (~isempty(ctpPumpSwitchOffPres)) presCutOffProf = ctpPumpSwitchOffPres + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end @@ -121,7 +121,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end @@ -142,12 +142,12 @@ if (~isempty(ctpPumpSwitchOffPres)) presCutOffProf = ctpPumpSwitchOffPres + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_209.m b/decArgo_soft/soft/sub/process_profiles_209.m index e3a7242b..be1d149a 100644 --- a/decArgo_soft/soft/sub/process_profiles_209.m +++ b/decArgo_soft/soft/sub/process_profiles_209.m @@ -90,7 +90,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end @@ -111,12 +111,12 @@ if (~isempty(ctpPumpSwitchOffPres)) presCutOffProf = ctpPumpSwitchOffPres + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_210_211.m b/decArgo_soft/soft/sub/process_profiles_210_211.m index 80bd3eb8..4e49d40b 100644 --- a/decArgo_soft/soft/sub/process_profiles_210_211.m +++ b/decArgo_soft/soft/sub/process_profiles_210_211.m @@ -65,7 +65,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech2, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech2, 1)); end @@ -86,12 +86,12 @@ if (~isempty(ctpPumpSwitchOffPres)) presCutOffProf = ctpPumpSwitchOffPres; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_212.m b/decArgo_soft/soft/sub/process_profiles_212.m index 252a4675..23b5e458 100644 --- a/decArgo_soft/soft/sub/process_profiles_212.m +++ b/decArgo_soft/soft/sub/process_profiles_212.m @@ -71,7 +71,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech2, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech2, 1)); end @@ -93,13 +93,13 @@ presCutOffProf = ctpPumpSwitchOffPres; if (a_iceDetected == 0) - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_214_217.m b/decArgo_soft/soft/sub/process_profiles_214_217.m index e13b4b17..7df6fdc6 100644 --- a/decArgo_soft/soft/sub/process_profiles_214_217.m +++ b/decArgo_soft/soft/sub/process_profiles_214_217.m @@ -85,7 +85,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech2, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech2, 1)); end @@ -107,13 +107,13 @@ presCutOffProf = ctpPumpSwitchOffPres + 0.5; if (a_iceDetected == 0) - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_216_218.m b/decArgo_soft/soft/sub/process_profiles_216_218.m index b1133b6e..f52e610d 100644 --- a/decArgo_soft/soft/sub/process_profiles_216_218.m +++ b/decArgo_soft/soft/sub/process_profiles_216_218.m @@ -86,7 +86,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech2, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech2, 1)); end @@ -108,13 +108,13 @@ presCutOffProf = ctpPumpSwitchOffPres + 0.5; if (a_iceDetected == 0) - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_221.m b/decArgo_soft/soft/sub/process_profiles_221.m index 00a2145f..ae0c347b 100644 --- a/decArgo_soft/soft/sub/process_profiles_221.m +++ b/decArgo_soft/soft/sub/process_profiles_221.m @@ -101,7 +101,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech2, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech2, 1)); end @@ -122,13 +122,13 @@ presCutOffProf = ctpPumpSwitchOffPres + 0.5; if (iceDetected == 0) - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_222_223.m b/decArgo_soft/soft/sub/process_profiles_222_223.m index c49c8c8d..5a83c6b5 100644 --- a/decArgo_soft/soft/sub/process_profiles_222_223.m +++ b/decArgo_soft/soft/sub/process_profiles_222_223.m @@ -101,7 +101,7 @@ % retrieve the last pumped PRES from the tech msg if (size(a_tabTech2, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech2, 1)); end @@ -122,13 +122,13 @@ presCutOffProf = ctpPumpSwitchOffPres; if (iceDetected == 0) - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data - value retrieved from the configuration\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end else presCutOffProf = 5 + 0.5; - fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration => value set to 5 dbars\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing in the tech data and in the configuration - value set to 5 dbars\n', ... g_decArgo_floatNum, g_decArgo_cycleNum); end end diff --git a/decArgo_soft/soft/sub/process_profiles_27_28_29_32.m b/decArgo_soft/soft/sub/process_profiles_27_28_29_32.m index a5693e02..9421eb8c 100644 --- a/decArgo_soft/soft/sub/process_profiles_27_28_29_32.m +++ b/decArgo_soft/soft/sub/process_profiles_27_28_29_32.m @@ -72,7 +72,7 @@ if (~isempty(g_decArgo_jsonMetaData) && isfield(g_decArgo_jsonMetaData, 'PRES_CUT_OFF_PROF')) presCutOffProf = g_decArgo_jsonMetaData.PRES_CUT_OFF_PROF; else - fprintf('ERROR: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing => CTD profiles not split\n', ... + fprintf('ERROR: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing - CTD profiles not split\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); presCutOffProf = g_decArgo_presDef*-1; diff --git a/decArgo_soft/soft/sub/process_profiles_4_19_25.m b/decArgo_soft/soft/sub/process_profiles_4_19_25.m index 596bbe16..b11c8999 100644 --- a/decArgo_soft/soft/sub/process_profiles_4_19_25.m +++ b/decArgo_soft/soft/sub/process_profiles_4_19_25.m @@ -72,7 +72,7 @@ if (~isempty(g_decArgo_jsonMetaData) && isfield(g_decArgo_jsonMetaData, 'PRES_CUT_OFF_PROF')) presCutOffProf = g_decArgo_jsonMetaData.PRES_CUT_OFF_PROF; else - fprintf('ERROR: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing => CTD profiles not split\n', ... + fprintf('ERROR: Float #%d Cycle #%d: PRES_CUT_OFF_PROF parameter is missing - CTD profiles not split\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum); presCutOffProf = g_decArgo_presDef*-1; diff --git a/decArgo_soft/soft/sub/process_profiles_ir_rudics_cts5_from_apmt.m b/decArgo_soft/soft/sub/process_profiles_ir_rudics_cts5_from_apmt.m index abd7e773..07601521 100644 --- a/decArgo_soft/soft/sub/process_profiles_ir_rudics_cts5_from_apmt.m +++ b/decArgo_soft/soft/sub/process_profiles_ir_rudics_cts5_from_apmt.m @@ -133,13 +133,13 @@ if (~isempty(configPresCutOffProf) && ~isnan(configPresCutOffProf)) profStruct.presCutOffProf = configPresCutOffProf; - fprintf('DEC_WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in apmt data => value retrieved from the configuration\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in apmt data - value retrieved from the configuration\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... g_decArgo_patternNumFloat); else - fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/process_profiles_ir_rudics_cts5_from_payload.m b/decArgo_soft/soft/sub/process_profiles_ir_rudics_cts5_from_payload.m index 095d1c0a..dcb7d84d 100644 --- a/decArgo_soft/soft/sub/process_profiles_ir_rudics_cts5_from_payload.m +++ b/decArgo_soft/soft/sub/process_profiles_ir_rudics_cts5_from_payload.m @@ -594,7 +594,7 @@ end if (isempty(payloadProfile.phaseNum)) - fprintf('DEC_ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Unable to determine phase of raw data for sensor #%d => raw data ignored\n', ... + fprintf('DEC_ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Unable to determine phase of raw data for sensor #%d - raw data ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... @@ -638,13 +638,13 @@ % if (~isempty(configPresCutOffProf) && ~isnan(configPresCutOffProf)) % profStruct.presCutOffProf = configPresCutOffProf; % - % fprintf('DEC_WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in apmt data => value retrieved from the configuration\n', ... + % fprintf('DEC_WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in apmt data - value retrieved from the configuration\n', ... % g_decArgo_floatNum, ... % g_decArgo_cycleNum, ... % g_decArgo_cycleNumFloat, ... % g_decArgo_patternNumFloat); % else - % fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in the configuration => CTD profile not split\n', ... + % fprintf('ERROR: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): PRES_CUT_OFF_PROF parameter is missing in the configuration - CTD profile not split\n', ... % g_decArgo_floatNum, ... % g_decArgo_cycleNum, ... % g_decArgo_cycleNumFloat, ... @@ -794,7 +794,7 @@ [profStruct(idProf)] = add_profile_date_and_location_ir_rudics_cts5( ... profStruct(idProf), timeData, a_gpsData); else - fprintf('DEC_ERROR: Float #%d Cycle #%d: Unable to retrieve time information to date and locate sensor #%d profile => profile not dated\n', ... + fprintf('DEC_WARNING: Float #%d Cycle #%d: Unable to retrieve time information to date and locate sensor #%d profile - profile not dated\n', ... g_decArgo_floatNum, ... profStruct(idProf).outputCycleNumber, ... profStruct(idProf).sensorNumber); @@ -809,7 +809,7 @@ otherwise if (profStruct(idProf).phaseNumber == g_decArgo_phaseDsc2Prof) - fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Data from sensor #%d sampled during ''descent from parking depth to profile depth'' phase have been received => data ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d: (Cy,Ptn)=(%d,%d): Data from sensor #%d sampled during ''descent from parking depth to profile depth'' phase have been received - data ignored\n', ... g_decArgo_floatNum, ... g_decArgo_cycleNum, ... g_decArgo_cycleNumFloat, ... diff --git a/decArgo_soft/soft/sub/process_trajectory_data_2001_2003.m b/decArgo_soft/soft/sub/process_trajectory_data_2001_2003.m index b76af8e7..f07eacd6 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_2001_2003.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_2001_2003.m @@ -180,7 +180,7 @@ tabTech = []; if (~isempty(a_tabTech)) if ((g_decArgo_finalEolMode == 0) && (size(a_tabTech, 1) > 1)) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end @@ -826,64 +826,38 @@ end % GPS locations - if (a_cycleNum < 256) - - for idpos = 1:length(gpsCyLocDate) - measStruct = create_one_meas_surface(g_MC_Surface, ... - gpsCyLocDate(idpos), ... - gpsCyLocLon(idpos), ... - gpsCyLocLat(idpos), ... - 'G', ... - ' ', ... - num2str(gpsCyLocQc(idpos)), 1); - if (~isempty(cycleTimeStruct.clockDrift)) - measStruct.juld = measStruct.juld + (cycleTimeStruct.gpsTime-cycleTimeStruct.gpsTimeAdj); - measStruct.juldStatus = g_JULD_STATUS_2; - measStruct.juldAdjStatus = g_JULD_STATUS_2; - else - measStruct.juldStatus = g_JULD_STATUS_2; - measStruct.juldAdj = g_decArgo_ncDateDef; - measStruct.juldAdjStatus = g_JULD_STATUS_9; - measStruct.juldAdjQc = g_decArgo_qcStrMissing; - end - - trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; + cycleTimeStructBis = []; + if (~isempty(g_decArgo_timeData)) + idCycleStructBis = find([g_decArgo_timeData.cycleNum] == a_cycleNum); + if (~isempty(idCycleStructBis)) + cycleTimeStructBis = g_decArgo_timeData.cycleTime(idCycleStructBis); end - else - - cycleTimeStructBis = []; - if (~isempty(g_decArgo_timeData)) - idCycleStructBis = find([g_decArgo_timeData.cycleNum] == a_cycleNum); - if (~isempty(idCycleStructBis)) - cycleTimeStructBis = g_decArgo_timeData.cycleTime(idCycleStructBis); - end + end + for idpos = 1:length(gpsCyLocDate) + measStruct = create_one_meas_surface(g_MC_Surface, ... + gpsCyLocDate(idpos), ... + gpsCyLocLon(idpos), ... + gpsCyLocLat(idpos), ... + 'G', ... + ' ', ... + num2str(gpsCyLocQc(idpos)), 1); + idF = find([cycleTimeStructBis.gpsTimeAdj] == gpsCyLocDate(idpos)); + if (length(idF) > 1) + [~, idMin] = min(abs(idpos - idF)); + idF = idF(idMin); end - for idpos = 1:length(gpsCyLocDate) - measStruct = create_one_meas_surface(g_MC_Surface, ... - gpsCyLocDate(idpos), ... - gpsCyLocLon(idpos), ... - gpsCyLocLat(idpos), ... - 'G', ... - ' ', ... - num2str(gpsCyLocQc(idpos)), 1); - idF = find([cycleTimeStructBis.gpsTimeAdj] == gpsCyLocDate(idpos)); - if (length(idF) > 1) - [~, idMin] = min(abs(idpos - idF)); - idF = idF(idMin); - end - if (~isempty(cycleTimeStructBis(idF).clockDrift)) - measStruct.juld = measStruct.juld + (cycleTimeStructBis(idF).gpsTime-cycleTimeStructBis(idF).gpsTimeAdj); - measStruct.juldStatus = g_JULD_STATUS_2; - measStruct.juldAdjStatus = g_JULD_STATUS_2; - else - measStruct.juldStatus = g_JULD_STATUS_2; - measStruct.juldAdj = g_decArgo_ncDateDef; - measStruct.juldAdjStatus = g_JULD_STATUS_9; - measStruct.juldAdjQc = g_decArgo_qcStrMissing; - end - - trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; + if (~isempty(cycleTimeStructBis(idF).clockDrift)) + measStruct.juld = measStruct.juld + (cycleTimeStructBis(idF).gpsTime-cycleTimeStructBis(idF).gpsTimeAdj); + measStruct.juldStatus = g_JULD_STATUS_2; + measStruct.juldAdjStatus = g_JULD_STATUS_2; + else + measStruct.juldStatus = g_JULD_STATUS_2; + measStruct.juldAdj = g_decArgo_ncDateDef; + measStruct.juldAdjStatus = g_JULD_STATUS_9; + measStruct.juldAdjQc = g_decArgo_qcStrMissing; end + + trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; end if (~isempty(gpsCyLocDate)) diff --git a/decArgo_soft/soft/sub/process_trajectory_data_2002.m b/decArgo_soft/soft/sub/process_trajectory_data_2002.m index 5a9fc4d5..de120153 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_2002.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_2002.m @@ -188,7 +188,7 @@ tabTech = []; if (~isempty(a_tabTech)) if ((g_decArgo_finalEolMode == 0) && (size(a_tabTech, 1) > 1)) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end @@ -847,64 +847,38 @@ end % GPS locations - if (a_cycleNum < 256) - - for idpos = 1:length(gpsCyLocDate) - measStruct = create_one_meas_surface(g_MC_Surface, ... - gpsCyLocDate(idpos), ... - gpsCyLocLon(idpos), ... - gpsCyLocLat(idpos), ... - 'G', ... - ' ', ... - num2str(gpsCyLocQc(idpos)), 1); - if (~isempty(cycleTimeStruct.clockDrift)) - measStruct.juld = measStruct.juld + (cycleTimeStruct.gpsTime-cycleTimeStruct.gpsTimeAdj); - measStruct.juldStatus = g_JULD_STATUS_2; - measStruct.juldAdjStatus = g_JULD_STATUS_2; - else - measStruct.juldStatus = g_JULD_STATUS_2; - measStruct.juldAdj = g_decArgo_ncDateDef; - measStruct.juldAdjStatus = g_JULD_STATUS_9; - measStruct.juldAdjQc = g_decArgo_qcStrMissing; - end - - trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; + cycleTimeStructBis = []; + if (~isempty(g_decArgo_timeData)) + idCycleStructBis = find([g_decArgo_timeData.cycleNum] == a_cycleNum); + if (~isempty(idCycleStructBis)) + cycleTimeStructBis = g_decArgo_timeData.cycleTime(idCycleStructBis); end - else - - cycleTimeStructBis = []; - if (~isempty(g_decArgo_timeData)) - idCycleStructBis = find([g_decArgo_timeData.cycleNum] == a_cycleNum); - if (~isempty(idCycleStructBis)) - cycleTimeStructBis = g_decArgo_timeData.cycleTime(idCycleStructBis); - end + end + for idpos = 1:length(gpsCyLocDate) + measStruct = create_one_meas_surface(g_MC_Surface, ... + gpsCyLocDate(idpos), ... + gpsCyLocLon(idpos), ... + gpsCyLocLat(idpos), ... + 'G', ... + ' ', ... + num2str(gpsCyLocQc(idpos)), 1); + idF = find([cycleTimeStructBis.gpsTimeAdj] == gpsCyLocDate(idpos)); + if (length(idF) > 1) + [~, idMin] = min(abs(idpos - idF)); + idF = idF(idMin); end - for idpos = 1:length(gpsCyLocDate) - measStruct = create_one_meas_surface(g_MC_Surface, ... - gpsCyLocDate(idpos), ... - gpsCyLocLon(idpos), ... - gpsCyLocLat(idpos), ... - 'G', ... - ' ', ... - num2str(gpsCyLocQc(idpos)), 1); - idF = find([cycleTimeStructBis.gpsTimeAdj] == gpsCyLocDate(idpos)); - if (length(idF) > 1) - [~, idMin] = min(abs(idpos - idF)); - idF = idF(idMin); - end - if (~isempty(cycleTimeStructBis(idF).clockDrift)) - measStruct.juld = measStruct.juld + (cycleTimeStructBis(idF).gpsTime-cycleTimeStructBis(idF).gpsTimeAdj); - measStruct.juldStatus = g_JULD_STATUS_2; - measStruct.juldAdjStatus = g_JULD_STATUS_2; - else - measStruct.juldStatus = g_JULD_STATUS_2; - measStruct.juldAdj = g_decArgo_ncDateDef; - measStruct.juldAdjStatus = g_JULD_STATUS_9; - measStruct.juldAdjQc = g_decArgo_qcStrMissing; - end - - trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; + if (~isempty(cycleTimeStructBis(idF).clockDrift)) + measStruct.juld = measStruct.juld + (cycleTimeStructBis(idF).gpsTime-cycleTimeStructBis(idF).gpsTimeAdj); + measStruct.juldStatus = g_JULD_STATUS_2; + measStruct.juldAdjStatus = g_JULD_STATUS_2; + else + measStruct.juldStatus = g_JULD_STATUS_2; + measStruct.juldAdj = g_decArgo_ncDateDef; + measStruct.juldAdjStatus = g_JULD_STATUS_9; + measStruct.juldAdjQc = g_decArgo_qcStrMissing; end + + trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; end if (~isempty(gpsCyLocDate)) diff --git a/decArgo_soft/soft/sub/process_trajectory_data_201_203.m b/decArgo_soft/soft/sub/process_trajectory_data_201_203.m index 2a529648..0ab636b9 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_201_203.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_201_203.m @@ -180,7 +180,7 @@ % retrieve technical message #1 data idF1 = find(a_tabTech(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -189,7 +189,7 @@ % retrieve technical message #2 data idF2 = find(a_tabTech(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_202.m b/decArgo_soft/soft/sub/process_trajectory_data_202.m index 9663c658..3033ac35 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_202.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_202.m @@ -183,7 +183,7 @@ % retrieve technical message #1 data idF1 = find(a_tabTech(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -192,7 +192,7 @@ % retrieve technical message #2 data idF2 = find(a_tabTech(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_204_205.m b/decArgo_soft/soft/sub/process_trajectory_data_204_205.m index d892a600..fcbff6d5 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_204_205.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_204_205.m @@ -151,7 +151,7 @@ tabTech = []; if (~isempty(a_tabTech)) if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_206_207_208.m b/decArgo_soft/soft/sub/process_trajectory_data_206_207_208.m index 1b64dcb2..78274ca6 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_206_207_208.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_206_207_208.m @@ -161,7 +161,7 @@ tabTech = []; if (~isempty(a_tabTech)) if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_209.m b/decArgo_soft/soft/sub/process_trajectory_data_209.m index fc6f6196..482a6618 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_209.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_209.m @@ -169,7 +169,7 @@ tabTech = []; if (~isempty(a_tabTech)) if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_210_211.m b/decArgo_soft/soft/sub/process_trajectory_data_210_211.m index 5b4a2583..997b25d0 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_210_211.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_210_211.m @@ -192,7 +192,7 @@ if (~isempty(a_tabTech1)) idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -204,7 +204,7 @@ if (~isempty(a_tabTech2)) idF2 = find(a_tabTech2(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_212.m b/decArgo_soft/soft/sub/process_trajectory_data_212.m index 9b955fa1..210a49bc 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_212.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_212.m @@ -191,7 +191,7 @@ if (~isempty(a_tabTech1)) idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -203,7 +203,7 @@ if (~isempty(a_tabTech2)) idF2 = find(a_tabTech2(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_213.m b/decArgo_soft/soft/sub/process_trajectory_data_213.m index bc5bb45f..6a5021a8 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_213.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_213.m @@ -213,7 +213,7 @@ if (~isempty(a_tabTech1)) idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -225,7 +225,7 @@ if (~isempty(a_tabTech2)) idF2 = find(a_tabTech2(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_214_217.m b/decArgo_soft/soft/sub/process_trajectory_data_214_217.m index 9c71ed87..16a6b317 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_214_217.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_214_217.m @@ -213,7 +213,7 @@ if (~isempty(a_tabTech1)) idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -225,7 +225,7 @@ if (~isempty(a_tabTech2)) idF2 = find(a_tabTech2(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_215.m b/decArgo_soft/soft/sub/process_trajectory_data_215.m index 55ef65bd..1e9ff859 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_215.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_215.m @@ -208,7 +208,7 @@ % retrieve technical message #1 data idF1 = find(a_tabTech(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -217,7 +217,7 @@ % retrieve technical message #2 data idF2 = find(a_tabTech(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_216.m b/decArgo_soft/soft/sub/process_trajectory_data_216.m index f74db0f1..123b180e 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_216.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_216.m @@ -212,7 +212,7 @@ if (~isempty(a_tabTech1)) idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -224,7 +224,7 @@ if (~isempty(a_tabTech2)) idF2 = find(a_tabTech2(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_218.m b/decArgo_soft/soft/sub/process_trajectory_data_218.m index 4ec5d1ac..dfcac51b 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_218.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_218.m @@ -212,7 +212,7 @@ if (~isempty(a_tabTech1)) idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -224,7 +224,7 @@ if (~isempty(a_tabTech2)) idF2 = find(a_tabTech2(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_219_220.m b/decArgo_soft/soft/sub/process_trajectory_data_219_220.m index ab38881a..f2a9ce0d 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_219_220.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_219_220.m @@ -113,7 +113,7 @@ if (~isempty(a_tabTech)) idF = find((a_tabTech(:, 1) == 0) & (a_tabTech(:, end-4) == 1)); if (length(idF) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_221.m b/decArgo_soft/soft/sub/process_trajectory_data_221.m index 79a842de..3fba542e 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_221.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_221.m @@ -193,7 +193,7 @@ if (~isempty(a_tabTech1)) idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -205,7 +205,7 @@ if (~isempty(a_tabTech2)) idF2 = find(a_tabTech2(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_222_223.m b/decArgo_soft/soft/sub/process_trajectory_data_222_223.m index 56212abf..0bc384a3 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_222_223.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_222_223.m @@ -198,7 +198,7 @@ if (~isempty(a_tabTech1)) idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end @@ -210,7 +210,7 @@ if (~isempty(a_tabTech2)) idF2 = find(a_tabTech2(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_apx.m b/decArgo_soft/soft/sub/process_trajectory_data_apx.m index 480ff3e9..833bb7ef 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_apx.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_apx.m @@ -51,7 +51,7 @@ % global measurement codes global g_MC_Launch; -global g_MC_DriftAtPark; +global g_MC_SpyAtPark; global g_MC_DriftAtParkMean; global g_MC_RPP; global g_MC_MinPresInDriftAtPark; @@ -156,7 +156,7 @@ measStruct = get_traj_one_meas_init_struct(); measStruct.sensorNumber = 1000; % so that it will be stored in TRAJ_AUX file - measStruct.measCode = g_MC_DriftAtPark; + measStruct.measCode = g_MC_SpyAtPark; measStruct.paramList = newMeas.paramList; measStruct.paramData = newMeas.data; trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; @@ -171,14 +171,14 @@ end measStruct = get_traj_one_meas_init_struct(); - measStruct.measCode = g_MC_DriftAtPark; + measStruct.measCode = g_MC_SpyAtPark; measStruct.paramList = a_parkData.paramList; measStruct.paramData = a_parkData.data; trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; else measStruct = get_traj_one_meas_init_struct(); - measStruct.measCode = g_MC_DriftAtPark; + measStruct.measCode = g_MC_SpyAtPark; measStruct.paramList = a_parkData.paramList; measStruct.paramData = a_parkData.data; if (~isempty(a_parkData.dataAdj)) diff --git a/decArgo_soft/soft/sub/process_trajectory_data_apx_ir.m b/decArgo_soft/soft/sub/process_trajectory_data_apx_ir.m index d1dc7c76..29c182ca 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_apx_ir.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_apx_ir.m @@ -151,8 +151,10 @@ end % clock offset +clockDriftKnown = 0; if (~isempty(floatClockDrift)) trajNCycleStruct.clockOffset = floatClockDrift/86400; + clockDriftKnown = 1; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1162,6 +1164,14 @@ idSurf = find([o_tabTrajNMeas(idCyNMeas).tabMeas.measCode] == g_MC_Surface); if (~isempty(idSurf)) + % retrieve data mode of previous cycle + idCyNCycle = find([o_tabTrajNCycle.cycleNumber] == max(a_cycleNum-1, 0)); + if (isempty(o_tabTrajNCycle(idCyNCycle).clockOffset)) + clockDriftKnownPrevCy = 0; + else + clockDriftKnownPrevCy = 1; + end + % check that all GPS fixes are already stored in N_MEAS newOne = 0; for idFix = 1:length(gpsLocDatePrevCy) @@ -1175,16 +1185,15 @@ gpsLocLatPrevCy(idFix), ... 'G', ... ' ', ... - num2str(gpsLocQcPrevCy(idFix)), 1); + num2str(gpsLocQcPrevCy(idFix)), ... + clockDriftKnownPrevCy); o_tabTrajNMeas(idCyNMeas).tabMeas = [o_tabTrajNMeas(idCyNMeas).tabMeas; measStruct]; newOne = 1; end end % update N_CYCLE - if (newOne) - idCyNCycle = find([o_tabTrajNCycle.cycleNumber] == max(a_cycleNum-1, 0)); - + if (newOne) o_tabTrajNCycle(idCyNCycle).juldFirstLocation = min(gpsLocDatePrevCy); o_tabTrajNCycle(idCyNCycle).juldFirstLocationStatus = g_JULD_STATUS_4; @@ -1193,6 +1202,14 @@ end else + % retrieve data mode of previous cycle + idCyNCycle = find([o_tabTrajNCycle.cycleNumber] == max(a_cycleNum-1, 0)); + if (isempty(o_tabTrajNCycle(idCyNCycle).clockOffset)) + clockDriftKnownPrevCy = 0; + else + clockDriftKnownPrevCy = 1; + end + % store GPS fixes in N_MEAS for idFix = 1:length(gpsLocDatePrevCy) measStruct = create_one_meas_surface(g_MC_Surface, ... @@ -1201,13 +1218,12 @@ gpsLocLatPrevCy(idFix), ... 'G', ... ' ', ... - num2str(gpsLocQcPrevCy(idFix)), 1); + num2str(gpsLocQcPrevCy(idFix)), ... + clockDriftKnownPrevCy); o_tabTrajNMeas(idCyNMeas).tabMeas = [o_tabTrajNMeas(idCyNMeas).tabMeas; measStruct]; end % update N_CYCLE - idCyNCycle = find([o_tabTrajNCycle.cycleNumber] == max(a_cycleNum-1, 0)); - o_tabTrajNCycle(idCyNCycle).juldFirstLocation = min(gpsLocDatePrevCy); o_tabTrajNCycle(idCyNCycle).juldFirstLocationStatus = g_JULD_STATUS_4; @@ -1216,6 +1232,14 @@ end else + % retrieve data mode of previous cycle + idCyNCycle = find([o_tabTrajNCycle.cycleNumber] == max(a_cycleNum-1, 0)); + if (isempty(o_tabTrajNCycle(idCyNCycle).clockOffset)) + clockDriftKnownPrevCy = 0; + else + clockDriftKnownPrevCy = 1; + end + % store GPS fixes in N_MEAS for idFix = 1:length(gpsLocDatePrevCy) measStruct = create_one_meas_surface(g_MC_Surface, ... @@ -1224,13 +1248,12 @@ gpsLocLatPrevCy(idFix), ... 'G', ... ' ', ... - num2str(gpsLocQcPrevCy(idFix)), 1); + num2str(gpsLocQcPrevCy(idFix)), ... + clockDriftKnownPrevCy); o_tabTrajNMeas(idCyNMeas).tabMeas = [o_tabTrajNMeas(idCyNMeas).tabMeas; measStruct]; end - % update N_CYCLE - idCyNCycle = find([o_tabTrajNCycle.cycleNumber] == max(a_cycleNum-1, 0)); - + % update N_CYCLE o_tabTrajNCycle(idCyNCycle).juldFirstLocation = min(gpsLocDatePrevCy); o_tabTrajNCycle(idCyNCycle).juldFirstLocationStatus = g_JULD_STATUS_4; @@ -1297,7 +1320,8 @@ gpsCyLocLat(idFix), ... 'G', ... ' ', ... - num2str(gpsCyLocQc(idFix)), 1); + num2str(gpsCyLocQc(idFix)), ... + clockDriftKnown); trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; end diff --git a/decArgo_soft/soft/sub/process_trajectory_data_cts5.m b/decArgo_soft/soft/sub/process_trajectory_data_cts5.m index f1aa9597..2d1c473c 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_cts5.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_cts5.m @@ -689,7 +689,7 @@ trajNMeasStruct.tabMeas = [trajNMeasStruct.tabMeas; measStruct]; end - % max pressure during drift at park + % max pressure during drift at prof idPackTech = find( ... (a_tabTrajIndex(:, 1) == g_MC_MaxPresInDriftAtProf) & ... (a_tabTrajIndex(:, 2) == cycleNum) & ... @@ -1098,6 +1098,9 @@ % clock offset management global g_decArgo_clockOffset; +% clock offset for TRAJ N_CYCLE +global g_decArgo_clockOffsetForTrajNCy; + % global measurement codes global g_MC_CycleStart; global g_MC_DST; @@ -1313,42 +1316,52 @@ trajNCycleStruct.juldTransmissionEnd = a_tabTrajData{idPackTech}{:}.value; end trajNCycleStruct.juldTransmissionEndStatus = g_JULD_STATUS_2; - end + end % clock offset idClockOffset = find( ... - (g_decArgo_clockOffset.cycleNum == cycleNum) & ... - (g_decArgo_clockOffset.patternNum == profNum)); + (g_decArgo_clockOffsetForTrajNCy.cycleNumForTrajNCy == cycleNum) & ... + (g_decArgo_clockOffsetForTrajNCy.patternNumForTrajNCy == profNum)); if (~isempty(idClockOffset)) - if (length(idClockOffset) > 1) - trajNCycleStruct.clockOffset = mean(g_decArgo_clockOffset.clockOffset(idClockOffset)); - else - trajNCycleStruct.clockOffset = g_decArgo_clockOffset.clockOffset(idClockOffset); - end - else - refDate = []; - if (~isempty(trajNCycleStruct.juldTransmissionStart)) - idPackTech = find( ... - (a_tabTrajIndex(:, 1) == g_MC_TST) & ... - (a_tabTrajIndex(:, 2) == cycleNum) & ... - (a_tabTrajIndex(:, 3) == profNum) & ... - (a_tabTrajIndex(:, 4) == g_decArgo_phaseSatTrans)); - refDate = a_tabTrajData{idPackTech}{:}.value; % to use not adjusted value - elseif (~isempty(trajNCycleStruct.juldAscentEnd)) - idPackTech = find( ... - (a_tabTrajIndex(:, 1) == g_MC_AET) & ... - (a_tabTrajIndex(:, 2) == cycleNum) & ... - (a_tabTrajIndex(:, 3) == profNum) & ... - (a_tabTrajIndex(:, 4) == g_decArgo_phaseSatTrans)); - refDate = a_tabTrajData{idPackTech}{:}.value; % to use not adjusted value - end - - if (~isempty(refDate)) - refDateAdj = adjust_time_cts5(refDate); - trajNCycleStruct.clockOffset = refDate - refDateAdj; - end + trajNCycleStruct.clockOffset = g_decArgo_clockOffsetForTrajNCy.clockOffsetForTrajNCy(idClockOffset); end + % FIRST VERSION - suppose that we have cycle times (juldTransmissionStart or + % juldAscentEnd) which is not necessarily the case + % % clock offset + % idClockOffset = find( ... + % (g_decArgo_clockOffset.cycleNum == cycleNum) & ... + % (g_decArgo_clockOffset.patternNum == profNum)); + % if (~isempty(idClockOffset)) + % if (length(idClockOffset) > 1) + % trajNCycleStruct.clockOffset = mean(g_decArgo_clockOffset.clockOffset(idClockOffset)); + % else + % trajNCycleStruct.clockOffset = g_decArgo_clockOffset.clockOffset(idClockOffset); + % end + % else + % refDate = []; + % if (~isempty(trajNCycleStruct.juldTransmissionStart)) + % idPackTech = find( ... + % (a_tabTrajIndex(:, 1) == g_MC_TST) & ... + % (a_tabTrajIndex(:, 2) == cycleNum) & ... + % (a_tabTrajIndex(:, 3) == profNum) & ... + % (a_tabTrajIndex(:, 4) == g_decArgo_phaseSatTrans)); + % refDate = a_tabTrajData{idPackTech}{:}.value; % to use not adjusted value + % elseif (~isempty(trajNCycleStruct.juldAscentEnd)) + % idPackTech = find( ... + % (a_tabTrajIndex(:, 1) == g_MC_AET) & ... + % (a_tabTrajIndex(:, 2) == cycleNum) & ... + % (a_tabTrajIndex(:, 3) == profNum) & ... + % (a_tabTrajIndex(:, 4) == g_decArgo_phaseSatTrans)); + % refDate = a_tabTrajData{idPackTech}{:}.value; % to use not adjusted value + % end + % + % if (~isempty(refDate)) + % refDateAdj = adjust_time_cts5(refDate); + % trajNCycleStruct.clockOffset = refDate - refDateAdj; + % end + % end + % data mode if (~isempty(trajNCycleStruct.clockOffset)) trajNCycleStruct.dataMode = 'A'; % corrected from clock drift diff --git a/decArgo_soft/soft/sub/process_trajectory_data_ir_rudics_sbd2.m b/decArgo_soft/soft/sub/process_trajectory_data_ir_rudics_sbd2.m index 99820ff4..63a8a6bf 100644 --- a/decArgo_soft/soft/sub/process_trajectory_data_ir_rudics_sbd2.m +++ b/decArgo_soft/soft/sub/process_trajectory_data_ir_rudics_sbd2.m @@ -275,7 +275,7 @@ optodeVerticalOffset = get_static_config_value('CONFIG_PX_1_1_0_0_0', 0); if (isempty(optodeVerticalOffset)) optodeVerticalOffset = 0; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: OPTODE vertical offset is missing => surface measurements selected with a 0 dbar vertical offset of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: OPTODE vertical offset is missing - surface measurements selected with a 0 dbar vertical offset of OPTODE sensor\n', ... g_decArgo_floatNum, ... cycleNum, ... profNum); @@ -975,7 +975,7 @@ optodeVerticalOffset = get_static_config_value('CONFIG_PX_1_1_0_0_0', 0); if (isempty(optodeVerticalOffset)) optodeVerticalOffset = 0; - fprintf('WARNING: Float #%d Cycle #%d Profile #%d: OPTODE vertical offset is missing => surface measurements selected with a 0 dbar vertical offset of OPTODE sensor\n', ... + fprintf('WARNING: Float #%d Cycle #%d Profile #%d: OPTODE vertical offset is missing - surface measurements selected with a 0 dbar vertical offset of OPTODE sensor\n', ... g_decArgo_floatNum, ... cycleNum, ... profNum); diff --git a/decArgo_soft/soft/sub/read_apmt_technical.m b/decArgo_soft/soft/sub/read_apmt_technical.m index 89c3e43e..cda7e52a 100644 --- a/decArgo_soft/soft/sub/read_apmt_technical.m +++ b/decArgo_soft/soft/sub/read_apmt_technical.m @@ -408,6 +408,25 @@ o_techData = techData; +% check GPS location date consistency +% (see 6902829 #0 (from 3aa9_007_autotest_00001.txt file)) +if (~isempty(o_ncTrajData)) + trajdata = [o_ncTrajData{:}]; + trajMeasCode = [trajdata.measCode]; + trajMeasParamName = {trajdata.paramName}; + trajGroup = [trajdata.group]; + trajValue = [trajdata.value]; + idLocDate = find((trajMeasCode == 703) & strcmp(trajMeasParamName, 'JULD')); + idDel = []; + for idLoc = idLocDate + if (trajValue(idLoc)+g_decArgo_janFirst1950InMatlab > now_utc) + idF = find(trajGroup == trajGroup(idLoc)); + idDel = [idDel idF]; + end + end + o_ncTrajData(idDel) = []; +end + return % ------------------------------------------------------------------------------ diff --git a/decArgo_soft/soft/sub/read_apx_apf11_ir_binary_log_file.m b/decArgo_soft/soft/sub/read_apx_apf11_ir_binary_log_file.m index f6a3bf74..bfc711b1 100644 --- a/decArgo_soft/soft/sub/read_apx_apf11_ir_binary_log_file.m +++ b/decArgo_soft/soft/sub/read_apx_apf11_ir_binary_log_file.m @@ -119,7 +119,7 @@ % check decoding information VS data length consistency if (5+sum([decStruct.tabBytes]) ~= recLength) - fprintf('ERROR: science_log file reader: recId #%d inconsistency in decoding information => data ignored\n', recId); + fprintf('ERROR: science_log file reader: recId #%d inconsistency in decoding information - data ignored\n', recId); continue end dataVal = nan(1, length(decStruct)+1); @@ -152,7 +152,7 @@ o_data.([decStruct(1).recType '_labels']) = get_binary_log_data_labels(decStruct(1).recType); end else - fprintf('ERROR: %s file reader: recId #%d not managed yet => data ignored (ASK FOR AN UPDATE OF THE DECODER)\n', a_logFileType, recId); + fprintf('ERROR: %s file reader: recId #%d not managed yet - data ignored (ASK FOR AN UPDATE OF THE DECODER)\n', a_logFileType, recId); end recCurPos = recCurPos + recLength + 1; diff --git a/decArgo_soft/soft/sub/read_apx_apf11_ir_production_log_file.m b/decArgo_soft/soft/sub/read_apx_apf11_ir_production_log_file.m index 4651c47f..2973ea56 100644 --- a/decArgo_soft/soft/sub/read_apx_apf11_ir_production_log_file.m +++ b/decArgo_soft/soft/sub/read_apx_apf11_ir_production_log_file.m @@ -68,7 +68,7 @@ o_events(end).message = [o_events(end).message line]; end else - fprintf('WARNING: Production_log parsing: Less than 2 separators in line "%s" => ignored\n', line); + fprintf('WARNING: Production_log parsing: Less than 2 separators in line "%s" - ignored\n', line); end continue end diff --git a/decArgo_soft/soft/sub/read_apx_apf11_ir_system_log_file.m b/decArgo_soft/soft/sub/read_apx_apf11_ir_system_log_file.m index 899685fb..e87e5495 100644 --- a/decArgo_soft/soft/sub/read_apx_apf11_ir_system_log_file.m +++ b/decArgo_soft/soft/sub/read_apx_apf11_ir_system_log_file.m @@ -74,7 +74,7 @@ o_events(end).message = [o_events(end).message line]; end else - fprintf('WARNING: System_log parsing: Less than 3 separators in line "%s" => ignored\n', line); + fprintf('WARNING: System_log parsing: Less than 3 separators in line "%s" - ignored\n', line); end continue end diff --git a/decArgo_soft/soft/sub/read_mail_and_extract_attachment.m b/decArgo_soft/soft/sub/read_mail_and_extract_attachment.m index b79475d1..f5392403 100644 --- a/decArgo_soft/soft/sub/read_mail_and_extract_attachment.m +++ b/decArgo_soft/soft/sub/read_mail_and_extract_attachment.m @@ -165,7 +165,7 @@ mailContents.attachementFileName = attachementFileName(1:idPos2+length('.sbd')-1); attachementFileDone = 1; else - fprintf('ERROR: Inconsistent attachement file name in mail file: %s => attachement ignored\n', a_fileName); + fprintf('ERROR: Inconsistent attachement file name in mail file: %s - attachement ignored\n', a_fileName); end end else @@ -219,11 +219,11 @@ end o_attachmentFound = 1; else - fprintf('ERROR: Inconsistent attachement file name for mail file: %s => attachement ignored\n', a_fileName); + fprintf('ERROR: Inconsistent attachement file name for mail file: %s - attachement ignored\n', a_fileName); end end elseif (o_mailContents.messageSize > 0) - fprintf('ERROR: Attachement not retrieved for mail file: %s => attachement ignored\n', a_fileName); + fprintf('ERROR: Attachement not retrieved for mail file: %s - attachement ignored\n', a_fileName); end return diff --git a/decArgo_soft/soft/sub/read_nova_iridium_sbd.m b/decArgo_soft/soft/sub/read_nova_iridium_sbd.m index 13ad7399..2bcd7511 100644 --- a/decArgo_soft/soft/sub/read_nova_iridium_sbd.m +++ b/decArgo_soft/soft/sub/read_nova_iridium_sbd.m @@ -86,7 +86,7 @@ o_sbdDataData = [o_sbdDataData; data]; o_sbdDataDate = [o_sbdDataDate; sbdFileDate]; else - fprintf('WARNING: Float #%d: Inconsistent data in file : %s => ignored\n', ... + fprintf('WARNING: Float #%d: Inconsistent data in file : %s - ignored\n', ... g_decArgo_floatNum, ... sbdFileName); continue diff --git a/decArgo_soft/soft/sub/rename_argos_input_file.m b/decArgo_soft/soft/sub/rename_argos_input_file.m index 60e4bfc7..fb8cf8cb 100644 --- a/decArgo_soft/soft/sub/rename_argos_input_file.m +++ b/decArgo_soft/soft/sub/rename_argos_input_file.m @@ -104,7 +104,7 @@ move_argos_input_file(floatArgosId, min(argosLocDate), [], [], 'EEE'); end - fprintf('DEC_INFO: Empty Argos file (%s) => stored\n', ... + fprintf('DEC_INFO: Empty Argos file (%s) - stored\n', ... g_decArgo_inputArgosFile); else % create the Argos Id directory @@ -123,7 +123,7 @@ fileNamOut = [emptyFilesDirName inputArgosFileName]; move_file(fileNameIn, fileNamOut); - fprintf('DEC_INFO: Empty Argos file (%s) => stored (in the ''empty_files'' directory)\n', ... + fprintf('DEC_INFO: Empty Argos file (%s) - stored (in the ''empty_files'' directory)\n', ... g_decArgo_inputArgosFile); end else @@ -139,12 +139,12 @@ if (length(unique(argosDataDate)) < g_decArgo_minNumMsgForNotGhost) move_argos_input_file(floatArgosId, firstArgosMsgDate, [], [], 'GGG'); - fprintf('DEC_INFO: Ghost Argos file (%s) => stored\n', ... + fprintf('DEC_INFO: Ghost Argos file (%s) - stored\n', ... g_decArgo_inputArgosFile); else move_argos_input_file(floatArgosId, firstArgosMsgDate, [], [], 'WWW'); - fprintf('DEC_INFO: Argos file without associated WMO number (%s) => stored\n', ... + fprintf('DEC_INFO: Argos file without associated WMO number (%s) - stored\n', ... g_decArgo_inputArgosFile); end end @@ -185,7 +185,7 @@ move_argos_input_file(floatArgosId, min(argosLocDate), floatNum, [], 'EEE'); end - fprintf('DEC_WARNING: Empty Argos file (%s) => stored but not decoded\n', ... + fprintf('DEC_WARNING: Empty Argos file (%s) - stored but not decoded\n', ... g_decArgo_inputArgosFile); else % create the Argos Id directory @@ -204,7 +204,7 @@ fileNamOut = [emptyFilesDirName inputArgosFileName]; move_file(fileNameIn, fileNamOut); - fprintf('DEC_WARNING: Empty Argos file (%s) => stored (in the ''empty_files'' directory) but not decoded\n', ... + fprintf('DEC_WARNING: Empty Argos file (%s) - stored (in the ''empty_files'' directory) but not decoded\n', ... g_decArgo_inputArgosFile); end @@ -212,7 +212,7 @@ elseif (length(unique(argosDataDate)) < g_decArgo_minNumMsgForNotGhost) move_argos_input_file(floatArgosId, firstArgosMsgDate, floatNum, [], 'GGG'); - fprintf('DEC_WARNING: Ghost Argos file (%s) => stored but not decoded\n', ... + fprintf('DEC_WARNING: Ghost Argos file (%s) - stored but not decoded\n', ... g_decArgo_inputArgosFile); return @@ -233,9 +233,9 @@ if (g_decArgo_processModeAll == 1) move_argos_input_file(floatArgosId, firstArgosMsgDate, floatNum, [], 'MMM'); - fprintf('ERROR: Float #%d: Unable to compute cycle number because of missing meta-data => stored but not decoded\n', floatNum); + fprintf('ERROR: Float #%d: Unable to compute cycle number because of missing meta-data - stored but not decoded\n', floatNum); else - fprintf('ERROR: Float #%d: Unable to compute cycle number because of missing meta-data => not decoded\n', floatNum); + fprintf('ERROR: Float #%d: Unable to compute cycle number because of missing meta-data - not decoded\n', floatNum); end return end @@ -444,12 +444,12 @@ if (g_decArgo_processModeAll == 1) move_argos_input_file(floatArgosId, firstArgosMsgDate, floatNum, [], 'TTT'); - fprintf('DEC_INFO: Float #%d: Last date of input file (%s) is before float launch date (%s) => stored but not decoded\n', ... + fprintf('DEC_INFO: Float #%d: Last date of input file (%s) is before float launch date (%s) - stored but not decoded\n', ... floatNum, ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); else - fprintf('DEC_INFO: Float #%d: Last date of input file (%s) is before float launch date (%s) => not decoded\n', ... + fprintf('DEC_INFO: Float #%d: Last date of input file (%s) is before float launch date (%s) - not decoded\n', ... floatNum, ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); @@ -463,10 +463,10 @@ if (g_decArgo_processModeAll == 1) move_argos_input_file(floatArgosId, firstArgosMsgDate, floatNum, [], 'MMM'); - fprintf('ERROR: Float #%d: Computed cycle number is negative (%d): check the consistency of the meta-data => stored but not decoded\n', ... + fprintf('ERROR: Float #%d: Computed cycle number is negative (%d): check the consistency of the meta-data - stored but not decoded\n', ... floatNum, cycleNumber); else - fprintf('ERROR: Float #%d: Computed cycle number is negative (%d): check the consistency of the meta-data => not decoded\n', ... + fprintf('ERROR: Float #%d: Computed cycle number is negative (%d): check the consistency of the meta-data - not decoded\n', ... floatNum, cycleNumber); end else @@ -496,9 +496,9 @@ if (g_decArgo_processModeAll == 1) move_argos_input_file(floatArgosId, firstArgosMsgDate, floatNum, [], 'MMM'); - fprintf('ERROR: Float #%d: Unable to compute cycle number because of missing meta-data => stored but not decoded\n', floatNum); + fprintf('ERROR: Float #%d: Unable to compute cycle number because of missing meta-data - stored but not decoded\n', floatNum); else - fprintf('ERROR: Float #%d: Unable to compute cycle number because of missing meta-data => not decoded\n', floatNum); + fprintf('ERROR: Float #%d: Unable to compute cycle number because of missing meta-data - not decoded\n', floatNum); end return end @@ -783,7 +783,7 @@ if (~isempty(tabCycleNumber)) if (~ismember(floatDpfFlag, [0 1])) - fprintf('DEC_WARNING: Float #%d: Inconsistent DPF float flag value (= %d) => set to 1\n', ... + fprintf('DEC_WARNING: Float #%d: Inconsistent DPF float flag value (= %d) - set to 1\n', ... floatNum, floatDpfFlag); floatDpfFlag = 1; @@ -853,12 +853,12 @@ if (g_decArgo_processModeAll == 1) move_argos_input_file(floatArgosId, firstArgosMsgDate, floatNum, [], 'TTT'); - fprintf('DEC_INFO: Float #%d: Last date of input file (%s) is before float launch date (%s) => stored but not decoded\n', ... + fprintf('DEC_INFO: Float #%d: Last date of input file (%s) is before float launch date (%s) - stored but not decoded\n', ... floatNum, ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); else - fprintf('DEC_INFO: Float #%d: Last date of input file (%s) is before float launch date (%s) => not decoded\n', ... + fprintf('DEC_INFO: Float #%d: Last date of input file (%s) is before float launch date (%s) - not decoded\n', ... floatNum, ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); diff --git a/decArgo_soft/soft/sub/save_mail_content_and_extract_attachment.m b/decArgo_soft/soft/sub/save_mail_content_and_extract_attachment.m index 6cd6003b..a2342579 100644 --- a/decArgo_soft/soft/sub/save_mail_content_and_extract_attachment.m +++ b/decArgo_soft/soft/sub/save_mail_content_and_extract_attachment.m @@ -154,7 +154,7 @@ function save_mail_content_and_extract_attachment( ... attachementFileName = attachementFileNameTmp(1:idPos2+length('.sbd')-1); attachementFileDone = 1; else - fprintf('ERROR: Inconsistent attachement file name in mail file: %s => attachement ignored\n', a_fileName); + fprintf('ERROR: Inconsistent attachement file name in mail file: %s - attachement ignored\n', a_fileName); end end else @@ -203,11 +203,11 @@ function save_mail_content_and_extract_attachment( ... info.bytes, messageSize, a_fileName); end else - fprintf('ERROR: Inconsistent attachement file name for mail file: %s => attachement ignored\n', a_fileName); + fprintf('ERROR: Inconsistent attachement file name for mail file: %s - attachement ignored\n', a_fileName); end elseif (messageSize > 0) - fprintf('ERROR: Attachement not retrieved for mail file: %s => attachement ignored\n', a_fileName); + fprintf('ERROR: Attachement not retrieved for mail file: %s - attachement ignored\n', a_fileName); end return diff --git a/decArgo_soft/soft/sub/save_mono_packet_sbd_files.m b/decArgo_soft/soft/sub/save_mono_packet_sbd_files.m index c9a5f551..6dc675e1 100644 --- a/decArgo_soft/soft/sub/save_mono_packet_sbd_files.m +++ b/decArgo_soft/soft/sub/save_mono_packet_sbd_files.m @@ -81,7 +81,7 @@ % sensor data type sensorDataType = tabSensors(idMes, 2); if ((sensorDataType+1 < 1) || (sensorDataType+1 > length(lut))) - fprintf('WARNING: Inconsistent sensorDataType (%d) => packet ignored\n', ... + fprintf('WARNING: Inconsistent sensorDataType (%d) - packet ignored\n', ... sensorDataType); continue end @@ -312,7 +312,7 @@ fclose(fId); end % elseif (~isempty(cycleNum)) - % fprintf('WARNING: Cycle number of the data (%d) differ from cycle number of the SBD file name (%d) => data not considered\n', ... + % fprintf('WARNING: Cycle number of the data (%d) differ from cycle number of the SBD file name (%d) - data not considered\n', ... % cycleNum, a_cyNumFile); % end else @@ -365,7 +365,7 @@ fclose(fId); end % else - % fprintf('WARNING: Cycle number of the data (%d) differ from cycle number of the SBD file name (%d) => data not considered\n', ... + % fprintf('WARNING: Cycle number of the data (%d) differ from cycle number of the SBD file name (%d) - data not considered\n', ... % cycleNum, a_cyNumFile); % end end diff --git a/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts4_105_to_110_112.m b/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts4_105_to_110_112.m index 0c7d7946..95508ac7 100644 --- a/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts4_105_to_110_112.m +++ b/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts4_105_to_110_112.m @@ -69,7 +69,7 @@ function set_float_config_ir_rudics_cts4_105_to_110_112(a_cyProfPhaseList, a_flo % they are considered only the next cycle updateNowPtPvPm = 0; if (a_floatSoftVersion == -1) - fprintf('DEC_WARNING: Float #%d: float software version is unknown => 254 and 255 message types are considered the next cycle\n', ... + fprintf('DEC_WARNING: Float #%d: float software version is unknown - 254 and 255 message types are considered the next cycle\n', ... g_decArgo_floatNum); if (~isempty(find(uProf == 0, 1))) updateNowPtPvPm = 1; @@ -217,7 +217,7 @@ function set_float_config_ir_rudics_cts4_105_to_110_112(a_cyProfPhaseList, a_flo if (~isempty(idUsedConf)) - fprintf('WARNING: Float #%d: config already exists for cycle #%d and profile #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d and profile #%d - updating the current one\n', ... g_decArgo_floatNum, cyNum, profNum); if ((configNum == -1) || (configNum == 0)) diff --git a/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts4_111_113.m b/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts4_111_113.m index 3c5ac1c8..b4fcee97 100644 --- a/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts4_111_113.m +++ b/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts4_111_113.m @@ -166,7 +166,7 @@ function set_float_config_ir_rudics_cts4_111_113(a_cyProfNum) if (~isempty(idUsedConf)) - fprintf('WARNING: Float #%d: config already exists for cycle #%d and profile #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d and profile #%d - updating the current one\n', ... g_decArgo_floatNum, cyNum, profNum); if ((configNum == -1) || (configNum == 0)) diff --git a/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts5.m b/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts5.m index 3c6099a9..c5d67266 100644 --- a/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts5.m +++ b/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts5.m @@ -169,7 +169,7 @@ function set_float_config_ir_rudics_cts5(a_cycleNum, a_patternNum) if (~isempty(idUsedConf)) - fprintf('WARNING: Float #%d: config already exists for cycle #%d and pattern #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d and pattern #%d - updating the current one\n', ... g_decArgo_floatNum, a_cycleNum, a_patternNum); if ((configNum == -1) || (configNum == 0)) diff --git a/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts5_usea.m b/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts5_usea.m index eff5b13b..dc33c26d 100644 --- a/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts5_usea.m +++ b/decArgo_soft/soft/sub/set_float_config_ir_rudics_cts5_usea.m @@ -71,7 +71,7 @@ function set_float_config_ir_rudics_cts5_usea(a_cycleNum, a_patternNum) if (~isempty(idUsedConf)) - fprintf('WARNING: Float #%d: config already exists for cycle #%d and pattern #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d and pattern #%d - updating the current one\n', ... g_decArgo_floatNum, a_cycleNum, a_patternNum); if ((configNum == -1) || (configNum == 0)) diff --git a/decArgo_soft/soft/sub/set_float_config_ir_sbd.m b/decArgo_soft/soft/sub/set_float_config_ir_sbd.m index 10c5c6ac..0d0f99ff 100644 --- a/decArgo_soft/soft/sub/set_float_config_ir_sbd.m +++ b/decArgo_soft/soft/sub/set_float_config_ir_sbd.m @@ -81,7 +81,7 @@ function set_float_config_ir_sbd(a_cyNum) if (~isempty(idUsedConf)) if (a_cyNum > 0) - fprintf('WARNING: Float #%d: config already exists for cycle #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d - updating the current one\n', ... g_decArgo_floatNum, a_cyNum); end diff --git a/decArgo_soft/soft/sub/set_float_config_ir_sbd2.m b/decArgo_soft/soft/sub/set_float_config_ir_sbd2.m index 99d59319..72eb0531 100644 --- a/decArgo_soft/soft/sub/set_float_config_ir_sbd2.m +++ b/decArgo_soft/soft/sub/set_float_config_ir_sbd2.m @@ -78,7 +78,7 @@ function set_float_config_ir_sbd2(a_cyProfPhaseList, a_floatSoftVersion, a_decod % % they are considered only the next cycle % updateNowPtPvPm = 0; % if (a_floatSoftVersion == -1) - % fprintf('WARNING: Float #%d: float software version is unknown => 254 and 255 message types are considered the next cycle\n', ... + % fprintf('WARNING: Float #%d: float software version is unknown - 254 and 255 message types are considered the next cycle\n', ... % g_decArgo_floatNum); % if (~isempty(find(uProf == 0, 1))) % updateNowPtPvPm = 1; @@ -194,7 +194,7 @@ function set_float_config_ir_sbd2(a_cyProfPhaseList, a_floatSoftVersion, a_decod if (~isempty(idUsedConf)) - fprintf('WARNING: Float #%d: config already exists for cycle #%d and profile #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d and profile #%d - updating the current one\n', ... g_decArgo_floatNum, cyNum, profNum); if ((configNum == -1) || (configNum == 0)) @@ -271,7 +271,7 @@ function set_float_config_ir_sbd2(a_cyProfPhaseList, a_floatSoftVersion, a_decod % they are considered only the next cycle updateNowPtPvPm = 0; if (a_floatSoftVersion == -1) - fprintf('DEC_WARNING: Float #%d: float software version is unknown => 254 and 255 message types are considered the next cycle\n', ... + fprintf('DEC_WARNING: Float #%d: float software version is unknown - 254 and 255 message types are considered the next cycle\n', ... g_decArgo_floatNum); if (~isempty(find(uProf == 0, 1))) updateNowPtPvPm = 1; @@ -419,7 +419,7 @@ function set_float_config_ir_sbd2(a_cyProfPhaseList, a_floatSoftVersion, a_decod if (~isempty(idUsedConf)) - fprintf('WARNING: Float #%d: config already exists for cycle #%d and profile #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d and profile #%d - updating the current one\n', ... g_decArgo_floatNum, cyNum, profNum); if ((configNum == -1) || (configNum == 0)) diff --git a/decArgo_soft/soft/sub/set_float_config_ir_sbd_delayed.m b/decArgo_soft/soft/sub/set_float_config_ir_sbd_delayed.m index b5890d6d..d3d00ebd 100644 --- a/decArgo_soft/soft/sub/set_float_config_ir_sbd_delayed.m +++ b/decArgo_soft/soft/sub/set_float_config_ir_sbd_delayed.m @@ -96,7 +96,7 @@ function set_float_config_ir_sbd_delayed(a_cyNum) end if ((a_cyNum > 0) && printWarning) - fprintf('WARNING: Float #%d: config already exists for cycle #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d - updating the current one\n', ... g_decArgo_floatNum, a_cyNum); end diff --git a/decArgo_soft/soft/sub/set_float_config_ir_sbd_nva.m b/decArgo_soft/soft/sub/set_float_config_ir_sbd_nva.m index a1602969..899ba14c 100644 --- a/decArgo_soft/soft/sub/set_float_config_ir_sbd_nva.m +++ b/decArgo_soft/soft/sub/set_float_config_ir_sbd_nva.m @@ -78,7 +78,7 @@ function set_float_config_ir_sbd_nva(a_cyNum, a_deepCycle) if (~isempty(idUsedConf)) if (a_cyNum > 0) - fprintf('WARNING: Float #%d: config already exists for cycle #%d => updating the current one\n', ... + fprintf('WARNING: Float #%d: config already exists for cycle #%d - updating the current one\n', ... g_decArgo_floatNum, a_cyNum); end diff --git a/decArgo_soft/soft/sub/set_n_cycle_vs_n_meas_consistency.m b/decArgo_soft/soft/sub/set_n_cycle_vs_n_meas_consistency.m index 47aa20b5..3c4d6d5b 100644 --- a/decArgo_soft/soft/sub/set_n_cycle_vs_n_meas_consistency.m +++ b/decArgo_soft/soft/sub/set_n_cycle_vs_n_meas_consistency.m @@ -1,17 +1,17 @@ % ------------------------------------------------------------------------------ -% Check consistency between N_CYCLE and N_MEASUREMENT arrays and update N_CYCLE -% arrys if needed. +% Check consistency between N_CYCLE and N_MEASUREMENT arrays. % % SYNTAX : -% [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency( ... -% a_tabTrajNCycle, a_tabTrajNMeas) +% [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency( ... +% a_tabTrajNMeas, a_tabTrajNCycle) % % INPUT PARAMETERS : -% a_tabTrajNCycle : input trajectory N_CYCLE measurement structures -% a_tabTrajNMeas : input trajectory N_MEASUREMENT measurement structures +% a_tabTrajNMeas : input N_MEASUREMENT trajectory data +% a_tabTrajNCycle : input N_CYCLE trajectory data % % OUTPUT PARAMETERS : -% o_tabTrajNCycle : output trajectory N_CYCLE measurement structures +% o_tabTrajNMeas : output N_MEASUREMENT trajectory data +% o_tabTrajNCycle : output N_CYCLE trajectory data % % EXAMPLES : % @@ -21,10 +21,11 @@ % RELEASES : % 10/30/2017 - RNU - creation % ------------------------------------------------------------------------------ -function [o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency( ... - a_tabTrajNCycle, a_tabTrajNMeas) +function [o_tabTrajNMeas, o_tabTrajNCycle] = set_n_cycle_vs_n_meas_consistency( ... + a_tabTrajNMeas, a_tabTrajNCycle) % output parameters initialization +o_tabTrajNMeas = a_tabTrajNMeas; o_tabTrajNCycle = a_tabTrajNCycle; % current float WMO number @@ -55,6 +56,29 @@ global g_JULD_STATUS_fill_value; +% if only launch information is stored in the data TRAJ structure, we will not +% generate TRAJ file +if ((length(a_tabTrajNMeas) == 1) && (length(a_tabTrajNMeas(1).tabMeas) == 1)) + o_tabTrajNMeas = []; + o_tabTrajNCycle = []; + return +end + +% remove cycles with no TRAJ data information (Ex: 3902105 #54, under Ice with +% no data => only TECH information) +idNMeasToDelete = []; +idNCyToDelete = []; +for idCy = 1:length(a_tabTrajNMeas) + if (isempty(a_tabTrajNMeas(idCy).tabMeas)) + idNMeasToDelete = [idNMeasToDelete idCy]; + idF = find([o_tabTrajNCycle.outputCycleNumber] == a_tabTrajNMeas(idCy).outputCycleNumber); + idNCyToDelete = [idNCyToDelete idF]; + end +end +a_tabTrajNMeas(idNMeasToDelete) = []; +o_tabTrajNCycle(idNCyToDelete) = []; + +% check N_CYCLE data MC_LIST = [ ... {g_MC_DST} {'juldDescentStart'} {'juldDescentStartStatus'}; ... {g_MC_FST} {'juldFirstStab'} {'juldFirstStabStatus'}; ... @@ -71,7 +95,6 @@ {g_MC_TET} {'juldTransmissionEnd'} {'juldTransmissionEndStatus'} ... ]; -% check N_CYCLE data for idNCy = 1:length(o_tabTrajNCycle) trajNCycle = o_tabTrajNCycle(idNCy); cycleNum = trajNCycle.outputCycleNumber; @@ -143,7 +166,7 @@ if ((isempty(trajNCycle.(measField)) && ~isempty(juldFinal)) || ... (~isempty(trajNCycle.(measField)) && isempty(juldFinal)) || ... (~isempty(trajNCycle.(measField)) && ~isempty(juldFinal) && (trajNCycle.(measField) ~= juldFinal))) - % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (%s:%s, MC%d:%s) => N_CYCLE updated\n', ... + % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (%s:%s, MC%d:%s) - N_CYCLE updated\n', ... % g_decArgo_floatNum, cycleNum, ... % measField, julian_2_gregorian_dec_argo(trajNCycle.(measField)), ... % measCode, julian_2_gregorian_dec_argo(juldFinal)); @@ -152,7 +175,7 @@ if ((isempty(trajNCycle.(measStatusField)) && ~isempty(juldStatusFinal)) || ... (~isempty(trajNCycle.(measStatusField)) && isempty(juldStatusFinal)) || ... (~isempty(trajNCycle.(measStatusField)) && ~isempty(juldStatusFinal) && (trajNCycle.(measStatusField) ~= juldStatusFinal))) - % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (%s:%s, MC%d:%s) => N_CYCLE updated\n', ... + % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (%s:%s, MC%d:%s) - N_CYCLE updated\n', ... % g_decArgo_floatNum, cycleNum, ... % measStatusField, trajNCycle.(measStatusField), ... % measCode, juldStatusFinal); @@ -188,7 +211,7 @@ if ((isempty(trajNCycle.juldFirstLocation) && ~isempty(juldMin)) || ... (~isempty(trajNCycle.juldFirstLocation) && isempty(juldMin)) || ... (~isempty(trajNCycle.juldFirstLocation) && ~isempty(juldMin) && (trajNCycle.juldFirstLocation ~= juldMin))) - % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (juldFirstLocation:%s, %s) => N_CYCLE updated\n', ... + % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (juldFirstLocation:%s, %s) - N_CYCLE updated\n', ... % g_decArgo_floatNum, cycleNum, ... % julian_2_gregorian_dec_argo(trajNCycle.juldFirstLocation), ... % julian_2_gregorian_dec_argo(juldMin)); @@ -197,7 +220,7 @@ if ((isempty(trajNCycle.juldFirstLocationStatus) && ~isempty(juldStatus)) || ... (~isempty(trajNCycle.juldFirstLocationStatus) && isempty(juldStatus)) || ... (~isempty(trajNCycle.juldFirstLocationStatus) && ~isempty(juldStatus) && (trajNCycle.juldFirstLocationStatus ~= juldStatus))) - % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (juldFirstLocationStatus:%s, %s) => N_CYCLE updated\n', ... + % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (juldFirstLocationStatus:%s, %s) - N_CYCLE updated\n', ... % g_decArgo_floatNum, cycleNum, ... % trajNCycle.juldFirstLocationStatus, ... % juldStatus); @@ -206,7 +229,7 @@ if ((isempty(trajNCycle.juldLastLocation) && ~isempty(juldMax)) || ... (~isempty(trajNCycle.juldLastLocation) && isempty(juldMax)) || ... (~isempty(trajNCycle.juldLastLocation) && ~isempty(juldMax) && (trajNCycle.juldLastLocation ~= juldMax))) - % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (juldLastLocation:%s, %s) => N_CYCLE updated\n', ... + % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (juldLastLocation:%s, %s) - N_CYCLE updated\n', ... % g_decArgo_floatNum, cycleNum, ... % julian_2_gregorian_dec_argo(trajNCycle.juldLastLocation), ... % julian_2_gregorian_dec_argo(juldMax)); @@ -215,7 +238,7 @@ if ((isempty(trajNCycle.juldLastLocationStatus) && ~isempty(juldStatus)) || ... (~isempty(trajNCycle.juldLastLocationStatus) && isempty(juldStatus)) || ... (~isempty(trajNCycle.juldLastLocationStatus) && ~isempty(juldStatus) && (trajNCycle.juldLastLocationStatus ~= juldStatus))) - % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (juldLastLocationStatus:%s, %s) => N_CYCLE updated\n', ... + % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (juldLastLocationStatus:%s, %s) - N_CYCLE updated\n', ... % g_decArgo_floatNum, cycleNum, ... % trajNCycle.juldLastLocationStatus, ... % juldStatus); @@ -231,7 +254,7 @@ end end if ((grdFlag == 1) && (trajNCycle.grounded ~= 'Y')) - % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (grounded:''%c'', ''Y'') => N_CYCLE updated\n', ... + % fprintf('INFO: Float #%d Cycle #%d: N_CYCLE / N_MEAS consistent (grounded:''%c'', ''Y'') - N_CYCLE updated\n', ... % g_decArgo_floatNum, cycleNum, ... % trajNCycle.grounded); o_tabTrajNCycle(idNCy).grounded = 'Y'; diff --git a/decArgo_soft/soft/sub/store_gps_data_apx_apf11_ir.m b/decArgo_soft/soft/sub/store_gps_data_apx_apf11_ir.m index c915ab35..55146da1 100644 --- a/decArgo_soft/soft/sub/store_gps_data_apx_apf11_ir.m +++ b/decArgo_soft/soft/sub/store_gps_data_apx_apf11_ir.m @@ -123,19 +123,11 @@ function store_gps_data_apx_apf11_ir(a_gpsDataSci, a_gpsDataSys, a_cycleNum) % retrieve the last good GPS location of the previous cycle % (a_cycleNum-1) if (a_cycleNum > 1) - idF = find(gpsLocCycleNum == a_cycleNum-2); + idF = find((gpsLocCycleNum == a_cycleNum-2) & (gpsLocQc == 1), 1, 'last'); if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); - end + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end end @@ -221,19 +213,11 @@ function store_gps_data_apx_apf11_ir(a_gpsDataSci, a_gpsDataSys, a_cycleNum) % retrieve the last good GPS location of the previous cycle % (a_cycleNum-1) if (a_cycleNum > 0) - idF = find(gpsLocCycleNum == a_cycleNum-1); + idF = find((gpsLocCycleNum == a_cycleNum-1) & (gpsLocQc == 1), 1, 'last'); if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); - end + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end end @@ -250,6 +234,17 @@ function store_gps_data_apx_apf11_ir(a_gpsDataSci, a_gpsDataSys, a_cycleNum) gpsLocQc(idF) = str2num(locQc')'; end +% sort GPS data according to location dates +[~, idSort] = sort(gpsLocDate); +gpsLocCycleNum = gpsLocCycleNum(idSort); +gpsLocDate = gpsLocDate(idSort); +gpsLocLon = gpsLocLon(idSort); +gpsLocLat = gpsLocLat(idSort); +gpsLocQc = gpsLocQc(idSort); +gpsLocAccuracy = gpsLocAccuracy(idSort); +gpsLocNbSat = gpsLocNbSat(idSort); +gpsLocTimeToFix = gpsLocTimeToFix(idSort); + % update GPS data global variable g_decArgo_gpsData{1} = gpsLocCycleNum; g_decArgo_gpsData{4} = gpsLocDate; diff --git a/decArgo_soft/soft/sub/store_gps_data_apx_ir.m b/decArgo_soft/soft/sub/store_gps_data_apx_ir.m index df1b9eed..3e816740 100644 --- a/decArgo_soft/soft/sub/store_gps_data_apx_ir.m +++ b/decArgo_soft/soft/sub/store_gps_data_apx_ir.m @@ -236,18 +236,12 @@ % retrieve the last good GPS location of the previous cycle % (a_cycleNum-2) - idF = find(gpsLocCycleNum == a_cycleNum-2); - if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); + if (a_cycleNum > 1) + idF = find((gpsLocCycleNum == a_cycleNum-2) & (gpsLocQc == 1), 1, 'last'); + if (~isempty(idF)) + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end end @@ -356,18 +350,12 @@ % retrieve the last good GPS location of the previous cycle % (a_cycleNum-1) -idF = find(gpsLocCycleNum == a_cycleNum-1); -if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); +if (a_cycleNum > 0) + idF = find((gpsLocCycleNum == a_cycleNum-1) & (gpsLocQc == 1), 1, 'last'); + if (~isempty(idF)) + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end end @@ -383,6 +371,18 @@ gpsLocQc(idF) = str2num(locQc')'; +% sort GPS data according to location dates +[~, idSort] = sort(gpsLocDate); +gpsLocCycleNum = gpsLocCycleNum(idSort); +gpsLocProfNum = gpsLocProfNum(idSort); +gpsLocPhase = gpsLocPhase(idSort); +gpsLocDate = gpsLocDate(idSort); +gpsLocLon = gpsLocLon(idSort); +gpsLocLat = gpsLocLat(idSort); +gpsLocQc = gpsLocQc(idSort); +gpsLocAccuracy = gpsLocAccuracy(idSort); +gpsLocSbdFileDate = gpsLocSbdFileDate(idSort); + % update GPS data global variable g_decArgo_gpsData{1} = gpsLocCycleNum; g_decArgo_gpsData{2} = gpsLocProfNum; diff --git a/decArgo_soft/soft/sub/store_gps_data_ir_rudics_105_to_110_112_sbd2.m b/decArgo_soft/soft/sub/store_gps_data_ir_rudics_105_to_110_112_sbd2.m index bd941397..06593bfa 100644 --- a/decArgo_soft/soft/sub/store_gps_data_ir_rudics_105_to_110_112_sbd2.m +++ b/decArgo_soft/soft/sub/store_gps_data_ir_rudics_105_to_110_112_sbd2.m @@ -30,7 +30,7 @@ function store_gps_data_ir_rudics_105_to_110_112_sbd2(a_tabTech) if (~isempty(a_tabTech)) - idPos = find(a_tabTech(:, 76) ~= g_decArgo_argosLonDef); + idPos = find((a_tabTech(:, 76) ~= g_decArgo_argosLonDef) & (a_tabTech(:, 71) == 1)); if (~isempty(idPos)) % unpack the GPS data @@ -59,67 +59,65 @@ function store_gps_data_ir_rudics_105_to_110_112_sbd2(a_tabTech) % GPS data (consider only 'valid' GPS locations) % for float software versions 1.04 to 1.06: locations with valid fix = 0 % are erroneous due to GPS frame failure (issue fixed in 1.07 version) - idValidFix = find(a_tabTech(idPos, 71) == 1); - for idP = 1:length(idValidFix) - gpsLocCycleNum = [gpsLocCycleNum; a_tabTech(idPos(idValidFix(idP)), 4)]; - gpsLocProfNum = [gpsLocProfNum; a_tabTech(idPos(idValidFix(idP)), 5)]; - gpsLocPhase = [gpsLocPhase; a_tabTech(idPos(idValidFix(idP)), 8)]; - gpsLocDate = [gpsLocDate; a_tabTech(idPos(idValidFix(idP)), 1)]; - gpsLocLon = [gpsLocLon; a_tabTech(idPos(idValidFix(idP)), 76)]; - gpsLocLat = [gpsLocLat; a_tabTech(idPos(idValidFix(idP)), 77)]; - gpsLocQc = [gpsLocQc; zeros(length(idPos(idValidFix(idP))), 1)]; - gpsLocAccuracy = [gpsLocAccuracy; repmat('G', length(idPos(idValidFix(idP))), 1)]; - gpsLocSbdFileDate = [gpsLocSbdFileDate; a_tabTech(idPos(idValidFix(idP)), 78)]; + + gpsLocCycleNum = [gpsLocCycleNum; a_tabTech(idPos, 4)]; + gpsLocProfNum = [gpsLocProfNum; a_tabTech(idPos, 5)]; + gpsLocPhase = [gpsLocPhase; a_tabTech(idPos, 8)]; + gpsLocDate = [gpsLocDate; a_tabTech(idPos, 1)]; + gpsLocLon = [gpsLocLon; a_tabTech(idPos, 76)]; + gpsLocLat = [gpsLocLat; a_tabTech(idPos, 77)]; + gpsLocQc = [gpsLocQc; zeros(length(idPos), 1)]; + gpsLocAccuracy = [gpsLocAccuracy; repmat('G', length(idPos), 1)]; + gpsLocSbdFileDate = [gpsLocSbdFileDate; a_tabTech(idPos, 78)]; + + cyProfNumList = [a_tabTech(idPos, 4) a_tabTech(idPos, 5)]; + uCyProfNumList = unique(cyProfNumList, 'rows'); + for idCy = 1:size(uCyProfNumList, 1) + + cycleNumber = uCyProfNumList(idCy, 1); + profNumber = uCyProfNumList(idCy, 2); + + % compute the JAMSTEC QC for the GPS locations of the current cycle - for id = 1:length(idPos) - - % compute the JAMSTEC QC for the GPS locations of the current cycle - - lastLocDateOfPrevCycle = g_decArgo_dateDef; - lastLocLonOfPrevCycle = g_decArgo_argosLonDef; - lastLocLatOfPrevCycle = g_decArgo_argosLatDef; - - cycleNumber = a_tabTech(idPos(id), 4); - profNumber = a_tabTech(idPos(id), 5); - - % retrieve the last good GPS location of the previous surface phase - idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum < profNumber)); - if (~isempty(idF)) - idF = idF(end); - else - idF = find(gpsLocCycleNum == cycleNumber-1); - if (~isempty(idF)) - idF = idF(end); - end - end - - if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); - end - end - - idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum == profNumber)); - locDate = gpsLocDate(idF); - locLon = gpsLocLon(idF); - locLat = gpsLocLat(idF); - locAcc = gpsLocAccuracy(idF); - - [locQc] = compute_jamstec_qc( ... - locDate, locLon, locLat, locAcc, ... - lastLocDateOfPrevCycle, lastLocLonOfPrevCycle, lastLocLatOfPrevCycle, []); - - gpsLocQc(idF) = str2num(locQc')'; + lastLocDateOfPrevCycle = g_decArgo_dateDef; + lastLocLonOfPrevCycle = g_decArgo_argosLonDef; + lastLocLatOfPrevCycle = g_decArgo_argosLatDef; + + % retrieve the last good GPS location of the previous surface phase + idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum < profNumber) & (gpsLocQc == 1), 1, 'last'); + if (isempty(idF)) + idF = find((gpsLocCycleNum == cycleNumber-1) & (gpsLocQc == 1), 1, 'last'); end + if (~isempty(idF)) + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); + end + + idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum == profNumber)); + locDate = gpsLocDate(idF); + locLon = gpsLocLon(idF); + locLat = gpsLocLat(idF); + locAcc = gpsLocAccuracy(idF); + + [locQc] = compute_jamstec_qc( ... + locDate, locLon, locLat, locAcc, ... + lastLocDateOfPrevCycle, lastLocLonOfPrevCycle, lastLocLatOfPrevCycle, []); + + gpsLocQc(idF) = str2num(locQc')'; end + + % sort GPS data according to location dates + [~, idSort] = sort(gpsLocDate); + gpsLocCycleNum = gpsLocCycleNum(idSort); + gpsLocProfNum = gpsLocProfNum(idSort); + gpsLocPhase = gpsLocPhase(idSort); + gpsLocDate = gpsLocDate(idSort); + gpsLocLon = gpsLocLon(idSort); + gpsLocLat = gpsLocLat(idSort); + gpsLocQc = gpsLocQc(idSort); + gpsLocAccuracy = gpsLocAccuracy(idSort); + gpsLocSbdFileDate = gpsLocSbdFileDate(idSort); % update GPS data global variable g_decArgo_gpsData{1} = gpsLocCycleNum; diff --git a/decArgo_soft/soft/sub/store_gps_data_ir_rudics_111_113.m b/decArgo_soft/soft/sub/store_gps_data_ir_rudics_111_113.m index c7017190..d54cc665 100644 --- a/decArgo_soft/soft/sub/store_gps_data_ir_rudics_111_113.m +++ b/decArgo_soft/soft/sub/store_gps_data_ir_rudics_111_113.m @@ -30,7 +30,7 @@ function store_gps_data_ir_rudics_111_113(a_tabTech) if (~isempty(a_tabTech)) - idPos = find(a_tabTech(:, 88) ~= g_decArgo_argosLonDef); + idPos = find((a_tabTech(:, 88) ~= g_decArgo_argosLonDef) & (a_tabTech(:, 77) == 1)); if (~isempty(idPos)) % unpack the GPS data @@ -57,68 +57,66 @@ function store_gps_data_ir_rudics_111_113(a_tabTech) end % GPS data (consider only 'valid' GPS locations) - idValidFix = find(a_tabTech(idPos, 77) == 1); - for idP = 1:length(idValidFix) - gpsLocCycleNum = [gpsLocCycleNum; a_tabTech(idPos(idValidFix(idP)), 4)]; - gpsLocProfNum = [gpsLocProfNum; a_tabTech(idPos(idValidFix(idP)), 5)]; - gpsLocPhase = [gpsLocPhase; a_tabTech(idPos(idValidFix(idP)), 8)]; - gpsLocDate = [gpsLocDate; a_tabTech(idPos(idValidFix(idP)), 1)]; - gpsLocLon = [gpsLocLon; a_tabTech(idPos(idValidFix(idP)), 88)]; - gpsLocLat = [gpsLocLat; a_tabTech(idPos(idValidFix(idP)), 89)]; - gpsLocQc = [gpsLocQc; zeros(length(idPos(idValidFix(idP))), 1)]; - gpsLocAccuracy = [gpsLocAccuracy; repmat('G', length(idPos(idValidFix(idP))), 1)]; - gpsLocSbdFileDate = [gpsLocSbdFileDate; a_tabTech(idPos(idValidFix(idP)), 90)]; + + gpsLocCycleNum = [gpsLocCycleNum; a_tabTech(idPos, 4)]; + gpsLocProfNum = [gpsLocProfNum; a_tabTech(idPos, 5)]; + gpsLocPhase = [gpsLocPhase; a_tabTech(idPos, 8)]; + gpsLocDate = [gpsLocDate; a_tabTech(idPos, 1)]; + gpsLocLon = [gpsLocLon; a_tabTech(idPos, 88)]; + gpsLocLat = [gpsLocLat; a_tabTech(idPos, 89)]; + gpsLocQc = [gpsLocQc; zeros(length(idPos), 1)]; + gpsLocAccuracy = [gpsLocAccuracy; repmat('G', length(idPos), 1)]; + gpsLocSbdFileDate = [gpsLocSbdFileDate; a_tabTech(idPos, 90)]; + + cyProfNumList = [a_tabTech(idPos, 4) a_tabTech(idPos, 5)]; + uCyProfNumList = unique(cyProfNumList, 'rows'); + for idCy = 1:size(uCyProfNumList, 1) + + cycleNumber = uCyProfNumList(idCy, 1); + profNumber = uCyProfNumList(idCy, 2); - for id = 1:length(idPos) - - % compute the JAMSTEC QC for the GPS locations of the current cycle - - lastLocDateOfPrevCycle = g_decArgo_dateDef; - lastLocLonOfPrevCycle = g_decArgo_argosLonDef; - lastLocLatOfPrevCycle = g_decArgo_argosLatDef; - - cycleNumber = a_tabTech(idPos(id), 4); - profNumber = a_tabTech(idPos(id), 5); - - % retrieve the last good GPS location of the previous surface phase - idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum < profNumber)); - if (~isempty(idF)) - idF = idF(end); - else - idF = find(gpsLocCycleNum == cycleNumber-1); - if (~isempty(idF)) - idF = idF(end); - end - end - - if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); - end - end - - idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum == profNumber)); - locDate = gpsLocDate(idF); - locLon = gpsLocLon(idF); - locLat = gpsLocLat(idF); - locAcc = gpsLocAccuracy(idF); - - [locQc] = compute_jamstec_qc( ... - locDate, locLon, locLat, locAcc, ... - lastLocDateOfPrevCycle, lastLocLonOfPrevCycle, lastLocLatOfPrevCycle, []); - - gpsLocQc(idF) = str2num(locQc')'; + % compute the JAMSTEC QC for the GPS locations of the current cycle + + lastLocDateOfPrevCycle = g_decArgo_dateDef; + lastLocLonOfPrevCycle = g_decArgo_argosLonDef; + lastLocLatOfPrevCycle = g_decArgo_argosLatDef; + + % retrieve the last good GPS location of the previous surface phase + idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum < profNumber) & (gpsLocQc == 1), 1, 'last'); + if (isempty(idF)) + idF = find((gpsLocCycleNum == cycleNumber-1) & (gpsLocQc == 1), 1, 'last'); + end + if (~isempty(idF)) + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end + + idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum == profNumber)); + locDate = gpsLocDate(idF); + locLon = gpsLocLon(idF); + locLat = gpsLocLat(idF); + locAcc = gpsLocAccuracy(idF); + + [locQc] = compute_jamstec_qc( ... + locDate, locLon, locLat, locAcc, ... + lastLocDateOfPrevCycle, lastLocLonOfPrevCycle, lastLocLatOfPrevCycle, []); + + gpsLocQc(idF) = str2num(locQc')'; end + % sort GPS data according to location dates + [~, idSort] = sort(gpsLocDate); + gpsLocCycleNum = gpsLocCycleNum(idSort); + gpsLocProfNum = gpsLocProfNum(idSort); + gpsLocPhase = gpsLocPhase(idSort); + gpsLocDate = gpsLocDate(idSort); + gpsLocLon = gpsLocLon(idSort); + gpsLocLat = gpsLocLat(idSort); + gpsLocQc = gpsLocQc(idSort); + gpsLocAccuracy = gpsLocAccuracy(idSort); + gpsLocSbdFileDate = gpsLocSbdFileDate(idSort); + % update GPS data global variable g_decArgo_gpsData{1} = gpsLocCycleNum; g_decArgo_gpsData{2} = gpsLocProfNum; diff --git a/decArgo_soft/soft/sub/store_gps_data_ir_rudics_cts5.m b/decArgo_soft/soft/sub/store_gps_data_ir_rudics_cts5.m index 5aef12a4..d607f5e0 100644 --- a/decArgo_soft/soft/sub/store_gps_data_ir_rudics_cts5.m +++ b/decArgo_soft/soft/sub/store_gps_data_ir_rudics_cts5.m @@ -36,6 +36,7 @@ function store_gps_data_ir_rudics_cts5(a_apmtTech, a_fileTypeNum) global g_decArgo_dateDef; global g_decArgo_argosLonDef; global g_decArgo_argosLatDef; +global g_decArgo_janFirst1950InMatlab; if (~isempty(a_apmtTech)) @@ -46,6 +47,12 @@ function store_gps_data_ir_rudics_cts5(a_apmtTech, a_fileTypeNum) idF3 = find(strcmp(a_apmtTech.GPS.name, 'GPS location latitude'), 1); if (~isempty(idF1) && ~isempty(idF2) && ~isempty(idF3)) + % check GPS location date consistency + % (see 6902829 #0 (from 3aa9_007_autotest_00001.txt file)) + if (a_apmtTech.GPS.data{idF1}+g_decArgo_janFirst1950InMatlab > now_utc) + return + end + % unpack the GPS data if (~isempty(g_decArgo_gpsData)) gpsLocCycleNum = g_decArgo_gpsData{1}; @@ -108,28 +115,14 @@ function store_gps_data_ir_rudics_cts5(a_apmtTech, a_fileTypeNum) end % retrieve the last good GPS location of the previous surface phase - idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum < profNumber)); - if (~isempty(idF)) - idF = idF(end); - else - idF = find(gpsLocCycleNum == cycleNumber-1); - if (~isempty(idF)) - idF = idF(end); - end + idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum < profNumber) & (gpsLocQc == 1), 1, 'last'); + if (isempty(idF)) + idF = find((gpsLocCycleNum == cycleNumber-1) & (gpsLocQc == 1), 1, 'last'); end - if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); - end + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end idF = find((gpsLocCycleNum == cycleNumber) & (gpsLocProfNum == profNumber)); @@ -143,7 +136,19 @@ function store_gps_data_ir_rudics_cts5(a_apmtTech, a_fileTypeNum) lastLocDateOfPrevCycle, lastLocLonOfPrevCycle, lastLocLatOfPrevCycle, []); gpsLocQc(idF) = str2num(locQc')'; - + + % sort GPS data according to location dates + [~, idSort] = sort(gpsLocDate); + gpsLocCycleNum = gpsLocCycleNum(idSort); + gpsLocProfNum = gpsLocProfNum(idSort); + gpsLocPhase = gpsLocPhase(idSort); + gpsLocDate = gpsLocDate(idSort); + gpsLocLon = gpsLocLon(idSort); + gpsLocLat = gpsLocLat(idSort); + gpsLocQc = gpsLocQc(idSort); + gpsLocAccuracy = gpsLocAccuracy(idSort); + gpsLocSbdFileDate = gpsLocSbdFileDate(idSort); + % update GPS data global variable g_decArgo_gpsData{1} = gpsLocCycleNum; g_decArgo_gpsData{2} = gpsLocProfNum; diff --git a/decArgo_soft/soft/sub/store_gps_data_ir_sbd.m b/decArgo_soft/soft/sub/store_gps_data_ir_sbd.m index ae18669d..40978419 100644 --- a/decArgo_soft/soft/sub/store_gps_data_ir_sbd.m +++ b/decArgo_soft/soft/sub/store_gps_data_ir_sbd.m @@ -129,44 +129,50 @@ function store_gps_data_ir_sbd(a_tabTech, a_cycleNum, a_decoderId) gpsLocQc = [gpsLocQc; 0]; gpsLocAccuracy = [gpsLocAccuracy; 'G']; gpsLocSbdFileDate = [gpsLocSbdFileDate; a_tabTech(idPos(idP), end)]; + end + end - % compute the JAMSTEC QC for the GPS locations of the current cycle - - lastLocDateOfPrevCycle = g_decArgo_dateDef; - lastLocLonOfPrevCycle = g_decArgo_argosLonDef; - lastLocLatOfPrevCycle = g_decArgo_argosLatDef; - - % retrieve the last good GPS location of the previous cycle - % (a_cycleNum-1) - idF = find(gpsLocCycleNum == a_cycleNum-1); - if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); - end - end - - idF = find(gpsLocCycleNum == a_cycleNum); - locDate = gpsLocDate(idF); - locLon = gpsLocLon(idF); - locLat = gpsLocLat(idF); - locAcc = gpsLocAccuracy(idF); - - [locQc] = compute_jamstec_qc( ... - locDate, locLon, locLat, locAcc, ... - lastLocDateOfPrevCycle, lastLocLonOfPrevCycle, lastLocLatOfPrevCycle, []); - - gpsLocQc(idF) = str2num(locQc')'; + % compute the JAMSTEC QC for the GPS locations of the current cycle + + lastLocDateOfPrevCycle = g_decArgo_dateDef; + lastLocLonOfPrevCycle = g_decArgo_argosLonDef; + lastLocLatOfPrevCycle = g_decArgo_argosLatDef; + + % retrieve the last good GPS location of the previous cycle + % (a_cycleNum-1) + if (a_cycleNum > 0) + idF = find((gpsLocCycleNum == a_cycleNum-1) & (gpsLocQc == 1), 1, 'last'); + if (~isempty(idF)) + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end end + idF = find(gpsLocCycleNum == a_cycleNum); + locDate = gpsLocDate(idF); + locLon = gpsLocLon(idF); + locLat = gpsLocLat(idF); + locAcc = gpsLocAccuracy(idF); + + [locQc] = compute_jamstec_qc( ... + locDate, locLon, locLat, locAcc, ... + lastLocDateOfPrevCycle, lastLocLonOfPrevCycle, lastLocLatOfPrevCycle, []); + + gpsLocQc(idF) = str2num(locQc')'; + + % sort GPS data according to location dates + [~, idSort] = sort(gpsLocDate); + gpsLocCycleNum = gpsLocCycleNum(idSort); + gpsLocProfNum = gpsLocProfNum(idSort); + gpsLocPhase = gpsLocPhase(idSort); + gpsLocDate = gpsLocDate(idSort); + gpsLocLon = gpsLocLon(idSort); + gpsLocLat = gpsLocLat(idSort); + gpsLocQc = gpsLocQc(idSort); + gpsLocAccuracy = gpsLocAccuracy(idSort); + gpsLocSbdFileDate = gpsLocSbdFileDate(idSort); + % update GPS data global variable g_decArgo_gpsData{1} = gpsLocCycleNum; g_decArgo_gpsData{2} = gpsLocProfNum; diff --git a/decArgo_soft/soft/sub/store_gps_data_ir_sbd_nva_2001_2002.m b/decArgo_soft/soft/sub/store_gps_data_ir_sbd_nva_2001_2002.m index dc33e209..e4e6d55f 100644 --- a/decArgo_soft/soft/sub/store_gps_data_ir_sbd_nva_2001_2002.m +++ b/decArgo_soft/soft/sub/store_gps_data_ir_sbd_nva_2001_2002.m @@ -59,7 +59,7 @@ function store_gps_data_ir_sbd_nva_2001_2002(a_tabTech) if (a_tabTech(idTech, 40+ID_OFFSET) == 0) && ... (fix(a_tabTech(idTech, 38+ID_OFFSET)) == 214) && ... (fix(a_tabTech(idTech, 39+ID_OFFSET)) == 214) - return + continue end % unpack the GPS data @@ -112,6 +112,18 @@ function store_gps_data_ir_sbd_nva_2001_2002(a_tabTech) gpsLocAccuracy = [gpsLocAccuracy; 'G']; gpsLocSbdFileDate = [gpsLocSbdFileDate; a_tabTech(idTech, end)]; + % sort GPS data according to location dates + [~, idSort] = sort(gpsLocDate); + gpsLocCycleNum = gpsLocCycleNum(idSort); + gpsLocProfNum = gpsLocProfNum(idSort); + gpsLocPhase = gpsLocPhase(idSort); + gpsLocDate = gpsLocDate(idSort); + gpsLocLon = gpsLocLon(idSort); + gpsLocLat = gpsLocLat(idSort); + gpsLocQc = gpsLocQc(idSort); + gpsLocAccuracy = gpsLocAccuracy(idSort); + gpsLocSbdFileDate = gpsLocSbdFileDate(idSort); + % update GPS data global variable g_decArgo_gpsData{1} = gpsLocCycleNum; g_decArgo_gpsData{2} = gpsLocProfNum; diff --git a/decArgo_soft/soft/sub/store_gps_data_ir_sbd_nva_2003.m b/decArgo_soft/soft/sub/store_gps_data_ir_sbd_nva_2003.m index 326c337d..419bd563 100644 --- a/decArgo_soft/soft/sub/store_gps_data_ir_sbd_nva_2003.m +++ b/decArgo_soft/soft/sub/store_gps_data_ir_sbd_nva_2003.m @@ -58,7 +58,7 @@ function store_gps_data_ir_sbd_nva_2003(a_tabTech) % no GPS fix in the TECH message if ((a_tabTech(idTech, 39+ID_OFFSET) == 0) && ... (a_tabTech(idTech, 40+ID_OFFSET) == 0)) - return + continue end % unpack the GPS data @@ -111,6 +111,18 @@ function store_gps_data_ir_sbd_nva_2003(a_tabTech) gpsLocAccuracy = [gpsLocAccuracy; 'G']; gpsLocSbdFileDate = [gpsLocSbdFileDate; a_tabTech(idTech, end)]; + % sort GPS data according to location dates + [~, idSort] = sort(gpsLocDate); + gpsLocCycleNum = gpsLocCycleNum(idSort); + gpsLocProfNum = gpsLocProfNum(idSort); + gpsLocPhase = gpsLocPhase(idSort); + gpsLocDate = gpsLocDate(idSort); + gpsLocLon = gpsLocLon(idSort); + gpsLocLat = gpsLocLat(idSort); + gpsLocQc = gpsLocQc(idSort); + gpsLocAccuracy = gpsLocAccuracy(idSort); + gpsLocSbdFileDate = gpsLocSbdFileDate(idSort); + % update GPS data global variable g_decArgo_gpsData{1} = gpsLocCycleNum; g_decArgo_gpsData{2} = gpsLocProfNum; diff --git a/decArgo_soft/soft/sub/store_tech1_data_for_nc_201_to_203_215_216_218.m b/decArgo_soft/soft/sub/store_tech1_data_for_nc_201_to_203_215_216_218.m index e9ecc65c..b26c717b 100644 --- a/decArgo_soft/soft/sub/store_tech1_data_for_nc_201_to_203_215_216_218.m +++ b/decArgo_soft/soft/sub/store_tech1_data_for_nc_201_to_203_215_216_218.m @@ -40,7 +40,7 @@ function store_tech1_data_for_nc_201_to_203_215_216_218(a_tabTech, a_deepCycle) % retrieve technical message #1 data idF1 = find(a_tabTech(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end diff --git a/decArgo_soft/soft/sub/store_tech1_data_for_nc_210_to_212.m b/decArgo_soft/soft/sub/store_tech1_data_for_nc_210_to_212.m index 6ceb40c4..5068cc7c 100644 --- a/decArgo_soft/soft/sub/store_tech1_data_for_nc_210_to_212.m +++ b/decArgo_soft/soft/sub/store_tech1_data_for_nc_210_to_212.m @@ -40,7 +40,7 @@ function store_tech1_data_for_nc_210_to_212(a_tabTech1, a_deepCycle) % retrieve technical message #1 data idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end diff --git a/decArgo_soft/soft/sub/store_tech1_data_for_nc_213_214_217.m b/decArgo_soft/soft/sub/store_tech1_data_for_nc_213_214_217.m index d5f9a20f..4e1c390e 100644 --- a/decArgo_soft/soft/sub/store_tech1_data_for_nc_213_214_217.m +++ b/decArgo_soft/soft/sub/store_tech1_data_for_nc_213_214_217.m @@ -40,7 +40,7 @@ function store_tech1_data_for_nc_213_214_217(a_tabTech1, a_deepCycle) % retrieve technical message #1 data idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end diff --git a/decArgo_soft/soft/sub/store_tech1_data_for_nc_221.m b/decArgo_soft/soft/sub/store_tech1_data_for_nc_221.m index f25da4e1..342bc87b 100644 --- a/decArgo_soft/soft/sub/store_tech1_data_for_nc_221.m +++ b/decArgo_soft/soft/sub/store_tech1_data_for_nc_221.m @@ -40,7 +40,7 @@ function store_tech1_data_for_nc_221(a_tabTech, a_deepCycle) % retrieve technical message #1 data idF1 = find(a_tabTech(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end diff --git a/decArgo_soft/soft/sub/store_tech1_data_for_nc_222_223.m b/decArgo_soft/soft/sub/store_tech1_data_for_nc_222_223.m index 2bc37f3d..2857322a 100644 --- a/decArgo_soft/soft/sub/store_tech1_data_for_nc_222_223.m +++ b/decArgo_soft/soft/sub/store_tech1_data_for_nc_222_223.m @@ -40,7 +40,7 @@ function store_tech1_data_for_nc_222_223(a_tabTech1, a_deepCycle) % retrieve technical message #1 data idF1 = find(a_tabTech1(:, 1) == 0); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #1 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end diff --git a/decArgo_soft/soft/sub/store_tech2_data_for_nc_201_203_215.m b/decArgo_soft/soft/sub/store_tech2_data_for_nc_201_203_215.m index 818e540f..0b4ae9c9 100644 --- a/decArgo_soft/soft/sub/store_tech2_data_for_nc_201_203_215.m +++ b/decArgo_soft/soft/sub/store_tech2_data_for_nc_201_203_215.m @@ -37,7 +37,7 @@ function store_tech2_data_for_nc_201_203_215(a_tabTech, a_deepCycle, a_decoderId % retrieve technical message #2 data idF2 = find(a_tabTech(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/store_tech2_data_for_nc_202.m b/decArgo_soft/soft/sub/store_tech2_data_for_nc_202.m index 5b464ae6..7d3979d2 100644 --- a/decArgo_soft/soft/sub/store_tech2_data_for_nc_202.m +++ b/decArgo_soft/soft/sub/store_tech2_data_for_nc_202.m @@ -36,7 +36,7 @@ function store_tech2_data_for_nc_202(a_tabTech, a_deepCycle) % retrieve technical message #2 data idF2 = find(a_tabTech(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/store_tech2_data_for_nc_210_211_213.m b/decArgo_soft/soft/sub/store_tech2_data_for_nc_210_211_213.m index 0a5e6cdb..74fc9107 100644 --- a/decArgo_soft/soft/sub/store_tech2_data_for_nc_210_211_213.m +++ b/decArgo_soft/soft/sub/store_tech2_data_for_nc_210_211_213.m @@ -40,7 +40,7 @@ function store_tech2_data_for_nc_210_211_213(a_tabTech2, a_deepCycle) % retrieve technical message #2 data idF1 = find(a_tabTech2(:, 1) == 4); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end diff --git a/decArgo_soft/soft/sub/store_tech2_data_for_nc_212_214_217_222_223.m b/decArgo_soft/soft/sub/store_tech2_data_for_nc_212_214_217_222_223.m index 0e1c3fac..cce7ee05 100644 --- a/decArgo_soft/soft/sub/store_tech2_data_for_nc_212_214_217_222_223.m +++ b/decArgo_soft/soft/sub/store_tech2_data_for_nc_212_214_217_222_223.m @@ -44,7 +44,7 @@ function store_tech2_data_for_nc_212_214_217_222_223(a_tabTech2, a_deepCycle, a_ % retrieve technical message #2 data idF1 = find(a_tabTech2(:, 1) == 4); if (length(idF1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF1)); end diff --git a/decArgo_soft/soft/sub/store_tech2_data_for_nc_216.m b/decArgo_soft/soft/sub/store_tech2_data_for_nc_216.m index 584fc5ae..cd5a49d2 100644 --- a/decArgo_soft/soft/sub/store_tech2_data_for_nc_216.m +++ b/decArgo_soft/soft/sub/store_tech2_data_for_nc_216.m @@ -41,7 +41,7 @@ function store_tech2_data_for_nc_216(a_tabTech, a_deepCycle, a_iceDetected) % retrieve technical message #2 data idF2 = find(a_tabTech(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/store_tech2_data_for_nc_218.m b/decArgo_soft/soft/sub/store_tech2_data_for_nc_218.m index 866d416c..f1e30b72 100644 --- a/decArgo_soft/soft/sub/store_tech2_data_for_nc_218.m +++ b/decArgo_soft/soft/sub/store_tech2_data_for_nc_218.m @@ -44,7 +44,7 @@ function store_tech2_data_for_nc_218(a_tabTech, a_deepCycle, a_iceDetected) % retrieve technical message #2 data idF2 = find(a_tabTech(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/store_tech2_data_for_nc_221.m b/decArgo_soft/soft/sub/store_tech2_data_for_nc_221.m index 6ec543a7..ac3ae5d3 100644 --- a/decArgo_soft/soft/sub/store_tech2_data_for_nc_221.m +++ b/decArgo_soft/soft/sub/store_tech2_data_for_nc_221.m @@ -44,7 +44,7 @@ function store_tech2_data_for_nc_221(a_tabTech, a_deepCycle, a_iceDetected) % retrieve technical message #2 data idF2 = find(a_tabTech(:, 1) == 4); if (length(idF2) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message #2 in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF2)); end diff --git a/decArgo_soft/soft/sub/store_tech_data_for_nc_2001.m b/decArgo_soft/soft/sub/store_tech_data_for_nc_2001.m index f6bfb461..3cb8ad40 100644 --- a/decArgo_soft/soft/sub/store_tech_data_for_nc_2001.m +++ b/decArgo_soft/soft/sub/store_tech_data_for_nc_2001.m @@ -45,7 +45,7 @@ function store_tech_data_for_nc_2001(a_tabTech, a_deepCycle) % retrieve technical message data if (g_decArgo_finalEolMode == 0) if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/store_tech_data_for_nc_2002.m b/decArgo_soft/soft/sub/store_tech_data_for_nc_2002.m index ca75b6c6..41dd1638 100644 --- a/decArgo_soft/soft/sub/store_tech_data_for_nc_2002.m +++ b/decArgo_soft/soft/sub/store_tech_data_for_nc_2002.m @@ -45,7 +45,7 @@ function store_tech_data_for_nc_2002(a_tabTech, a_deepCycle) % retrieve technical message data if (g_decArgo_finalEolMode == 0) if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/store_tech_data_for_nc_2003.m b/decArgo_soft/soft/sub/store_tech_data_for_nc_2003.m index 58aa42c3..46546267 100644 --- a/decArgo_soft/soft/sub/store_tech_data_for_nc_2003.m +++ b/decArgo_soft/soft/sub/store_tech_data_for_nc_2003.m @@ -45,7 +45,7 @@ function store_tech_data_for_nc_2003(a_tabTech, a_deepCycle) % retrieve technical message data if (g_decArgo_finalEolMode == 0) if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/store_tech_data_for_nc_204_to_208.m b/decArgo_soft/soft/sub/store_tech_data_for_nc_204_to_208.m index 9616e324..2e196641 100644 --- a/decArgo_soft/soft/sub/store_tech_data_for_nc_204_to_208.m +++ b/decArgo_soft/soft/sub/store_tech_data_for_nc_204_to_208.m @@ -35,7 +35,7 @@ function store_tech_data_for_nc_204_to_208(a_tabTech, a_deepCycle) % retrieve technical message data if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/store_tech_data_for_nc_209.m b/decArgo_soft/soft/sub/store_tech_data_for_nc_209.m index 63d72731..1c4dd004 100644 --- a/decArgo_soft/soft/sub/store_tech_data_for_nc_209.m +++ b/decArgo_soft/soft/sub/store_tech_data_for_nc_209.m @@ -35,7 +35,7 @@ function store_tech_data_for_nc_209(a_tabTech, a_deepCycle) % retrieve technical message data if (size(a_tabTech, 1) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_tabTech, 1)); end diff --git a/decArgo_soft/soft/sub/store_tech_data_for_nc_219_220.m b/decArgo_soft/soft/sub/store_tech_data_for_nc_219_220.m index f5ae462e..8d5cdd79 100644 --- a/decArgo_soft/soft/sub/store_tech_data_for_nc_219_220.m +++ b/decArgo_soft/soft/sub/store_tech_data_for_nc_219_220.m @@ -37,7 +37,7 @@ function store_tech_data_for_nc_219_220(a_tabTech) if (~isempty(a_tabTech)) idF = find((a_tabTech(:, 1) == 0) & (a_tabTech(:, end-4) == 1)); if (length(idF) > 1) - fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer => using the last one\n', ... + fprintf('WARNING: Float #%d cycle #%d: %d tech message in the buffer - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... length(idF)); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_rudics_cts5.m b/decArgo_soft/soft/sub/update_float_config_ir_rudics_cts5.m index 35d634b1..732d661b 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_rudics_cts5.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_rudics_cts5.m @@ -83,7 +83,7 @@ function update_float_config_ir_rudics_cts5(a_configType, a_configData) end if (~isempty(confValue)) if (newConfig(idC) ~= confValue) - fprintf('DEC_INFO: Float #%d: updated param ''%s'': %g => %g \n', ... + fprintf('DEC_INFO: Float #%d: updated param ''%s'': %g - %g \n', ... g_decArgo_floatNum, ... confName, newConfig(idC), confValue); if (~isempty(g_decArgo_outputCsvFileId)) @@ -134,7 +134,7 @@ function update_float_config_ir_rudics_cts5(a_configType, a_configData) if (~isempty(idF)) if ((newConfig(idF) ~= payloadConfigValues(idC)) && ... (~isnan(newConfig(idF)) || ~isnan(payloadConfigValues(idC)))) - fprintf('DEC_INFO: Float #%d: updated param ''%s'': %g => %g \n', ... + fprintf('DEC_INFO: Float #%d: updated param ''%s'': %g - %g \n', ... g_decArgo_floatNum, ... payloadConfName, newConfig(idF), payloadConfigValues(idC)); if (~isempty(g_decArgo_outputCsvFileId)) diff --git a/decArgo_soft/soft/sub/update_float_config_ir_rudics_cts5_usea.m b/decArgo_soft/soft/sub/update_float_config_ir_rudics_cts5_usea.m index 2399f92b..df939ab3 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_rudics_cts5_usea.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_rudics_cts5_usea.m @@ -96,7 +96,7 @@ function update_float_config_ir_rudics_cts5_usea(a_configData) end if (~isempty(confValue)) if (newConfig(idC) ~= confValue) - fprintf('DEC_INFO: Float #%d: updated param ''%s'': %g => %g \n', ... + fprintf('DEC_INFO: Float #%d: updated param ''%s'': %g - %g \n', ... g_decArgo_floatNum, ... confName, newConfig(idC), confValue); if (~isempty(g_decArgo_outputCsvFileId)) diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_201_203.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_201_203.m index bf34d294..abdbf019 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_201_203.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_201_203.m @@ -34,7 +34,7 @@ function update_float_config_ir_sbd_201_203(a_floatParam) if (size(a_floatParam, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_floatParam, 1)); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_202.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_202.m index b4a9b334..dcc23a33 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_202.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_202.m @@ -34,7 +34,7 @@ function update_float_config_ir_sbd_202(a_floatParam) if (size(a_floatParam, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_floatParam, 1)); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_204.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_204.m index 38398c97..cdc20172 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_204.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_204.m @@ -34,7 +34,7 @@ function update_float_config_ir_sbd_204(a_floatParam) if (size(a_floatParam, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_floatParam, 1)); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_205.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_205.m index 4bbd47cf..9894979a 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_205.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_205.m @@ -34,7 +34,7 @@ function update_float_config_ir_sbd_205(a_floatParam) if (size(a_floatParam, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_floatParam, 1)); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_206_to_209.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_206_to_209.m index 7ae5301c..d66216e5 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_206_to_209.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_206_to_209.m @@ -34,7 +34,7 @@ function update_float_config_ir_sbd_206_to_209(a_floatParam) if (size(a_floatParam, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_floatParam, 1)); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_210_211_213.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_210_211_213.m index 083b6189..9cbced49 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_210_211_213.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_210_211_213.m @@ -41,7 +41,7 @@ function update_float_config_ir_sbd_210_211_213(a_floatParam) ID_OFFSET = 1; if (size(a_floatParam, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_floatParam, 1)); end @@ -200,7 +200,7 @@ function update_float_config_ir_sbd_210_211_213(a_floatParam) ctdPumpSwitchOffPres = newConfig(idPosMc28); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_212_214_217.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_212_214_217.m index c718a394..3c61425a 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_212_214_217.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_212_214_217.m @@ -43,7 +43,7 @@ function update_float_config_ir_sbd_212_214_217(a_floatParam, a_cycleNum) floatParam1 = a_floatParam{1}; if (size(floatParam1, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #1 in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #1 in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(floatParam1, 1)); end @@ -53,7 +53,7 @@ function update_float_config_ir_sbd_212_214_217(a_floatParam, a_cycleNum) floatParam2 = a_floatParam{2}; if (size(floatParam2, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #2 in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #2 in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(floatParam2, 1)); end @@ -225,7 +225,7 @@ function update_float_config_ir_sbd_212_214_217(a_floatParam, a_cycleNum) ctdPumpSwitchOffPres = newConfig(idPosMc28); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_215.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_215.m index 9da6c848..182aed72 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_215.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_215.m @@ -34,7 +34,7 @@ function update_float_config_ir_sbd_215(a_floatParam) if (size(a_floatParam, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_floatParam, 1)); end diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_216.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_216.m index 670ee2c6..d9f0ec75 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_216.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_216.m @@ -43,7 +43,7 @@ function update_float_config_ir_sbd_216(a_floatParam, a_cycleNum) floatInternalCycleNumber = g_decArgo_cycleNum - g_decArgo_cycleNumOffset; if (size(a_floatParam, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(a_floatParam, 1)); end @@ -163,7 +163,7 @@ function update_float_config_ir_sbd_216(a_floatParam, a_cycleNum) ctdPumpSwitchOffPres = newConfig(idPos); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end name = 'CONFIG_PX01'; diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_218.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_218.m index 2145e9cf..8fcbd8ed 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_218.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_218.m @@ -44,7 +44,7 @@ function update_float_config_ir_sbd_218(a_floatParam, a_cycleNum) floatParam1 = a_floatParam{1}; if (size(floatParam1, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #1 in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #1 in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(floatParam1, 1)); end @@ -54,7 +54,7 @@ function update_float_config_ir_sbd_218(a_floatParam, a_cycleNum) floatParam2 = a_floatParam{2}; if (size(floatParam2, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #2 in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #2 in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(floatParam2, 1)); end @@ -176,7 +176,7 @@ function update_float_config_ir_sbd_218(a_floatParam, a_cycleNum) ctdPumpSwitchOffPres = newConfig(idPos); else ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... g_decArgo_floatNum, ctdPumpSwitchOffPres); end name = 'CONFIG_PX01'; diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_221.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_221.m index b94cc746..eb0356bf 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_221.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_221.m @@ -21,6 +21,9 @@ % ------------------------------------------------------------------------------ function update_float_config_ir_sbd_221(a_floatParam, a_cycleNum) +% default values +global g_decArgo_dateDef; + % current float WMO number global g_decArgo_floatNum; @@ -36,6 +39,15 @@ function update_float_config_ir_sbd_221(a_floatParam, a_cycleNum) % number of the first deep cycle global g_decArgo_firstDeepCycleNumber; +% from +% - decId 223 for Arvor +% - decId 221 for Arvor Deep +% configuration parameters are not transmitted each cycle +% consequently we must update the configuration of the second deep cycle with +% initial parameters, this should be done once (except if alterneated profil or +% auto-increment flag are set) +global g_decArgo_doneOnceFlag; + % we must use the float internal cycle number to set the configuration values % (if the float has been reset float internal cycle number differ from decoder @@ -44,7 +56,7 @@ function update_float_config_ir_sbd_221(a_floatParam, a_cycleNum) floatParam1 = a_floatParam{1}; if (size(floatParam1, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #1 in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #1 in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(floatParam1, 1)); end @@ -54,7 +66,7 @@ function update_float_config_ir_sbd_221(a_floatParam, a_cycleNum) floatParam2 = a_floatParam{2}; if (size(floatParam2, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #2 in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #2 in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(floatParam2, 1)); end @@ -66,153 +78,267 @@ function update_float_config_ir_sbd_221(a_floatParam, a_cycleNum) configNames = g_decArgo_floatConfig.DYNAMIC_TMP.NAMES; newConfig = g_decArgo_floatConfig.DYNAMIC_TMP.VALUES(:, end); -if (~isempty(floatParam1)) - for id = 0:3 - name = sprintf('CONFIG_PM%02d', id); - idPos = find(strcmp(name, configNames) == 1, 1); - if (~isempty(idPos)) - newConfig(idPos) = floatParam1(id+10); +updateDate = g_decArgo_dateDef; +if (~isempty(floatParam1) || ~isempty(floatParam2)) + + if (~isempty(floatParam1)) + for id = 0:3 + name = sprintf('CONFIG_PM%02d', id); + idPos = find(strcmp(name, configNames) == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = floatParam1(id+10); + end + end + for id = 5:18 + name = sprintf('CONFIG_PM%02d', id); + idPos = find(strcmp(name, configNames) == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = floatParam1(id+9); + end + end + for id = [0:14 16:37] + name = sprintf('CONFIG_PT%02d', id); + idPos = find(strcmp(name, configNames) == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = floatParam1(id+28); + end end end - for id = 5:18 - name = sprintf('CONFIG_PM%02d', id); - idPos = find(strcmp(name, configNames) == 1, 1); - if (~isempty(idPos)) - newConfig(idPos) = floatParam1(id+9); + + if (~isempty(floatParam2)) + for id = 0:15 + name = sprintf('CONFIG_PG%02d', id); + idPos = find(strcmp(name, configNames) == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = floatParam2(id+10); + end end end - for id = [0:14 18 20:37] - name = sprintf('CONFIG_PT%02d', id); - idPos = find(strcmp(name, configNames) == 1, 1); - if (~isempty(idPos)) - newConfig(idPos) = floatParam1(id+28); + + name = 'CONFIG_PX00'; + idPos = find(strcmp(name, configNames) == 1, 1); + if (~isempty(idPos)) + if (floatInternalCycleNumber + 1 > g_decArgo_firstDeepCycleNumber) + + direction = 0; + if ((floatParam1(14) == 0) && (floatParam1(16) ~= 0)) + direction = 1; % ascending + elseif ((floatParam1(14) ~= 0) && (floatParam1(16) ~= 0)) + direction = 3; % descending and ascending + elseif ((floatParam1(14) ~= 0) && (floatParam1(16) == 0)) + direction = 2; % descending + end + else + direction = 3; end + newConfig(idPos) = direction; end -end - -if (~isempty(floatParam2)) - for id = 0:15 - name = sprintf('CONFIG_PG%02d', id); - idPos = find(strcmp(name, configNames) == 1, 1); + + % for the configuration of the first deep cycle + if (floatInternalCycleNumber + 1 == g_decArgo_firstDeepCycleNumber) + + % as the float always profiles during the first descent (at a 10 sec period) + % when CONFIG_PM05 = 0 in the starting configuration, set it to 10 sec + idPos = find(strcmp(configNames, 'CONFIG_PM05') == 1, 1); if (~isempty(idPos)) - newConfig(idPos) = floatParam2(id+10); + if (newConfig(idPos) == 0) + newConfig(idPos) = 10; + end + end + + % set cycle #1 duration + idPos = find(strcmp(configNames, 'CONFIG_PM01') == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = g_decArgo_floatConfig.DYNAMIC_TMP.VALUES(idPos, 1); end end -end - -name = 'CONFIG_PX00'; -idPos = find(strcmp(name, configNames) == 1, 1); -if (~isempty(idPos)) - if (floatInternalCycleNumber + 1 > g_decArgo_firstDeepCycleNumber) + + % manage alternated profile pressure + if (floatParam1(44) ~= 1) - direction = 0; - if ((floatParam1(14) == 0) && (floatParam1(16) ~= 0)) - direction = 1; % ascending - elseif ((floatParam1(14) ~= 0) && (floatParam1(16) ~= 0)) - direction = 3; % descending and ascending - elseif ((floatParam1(14) ~= 0) && (floatParam1(16) == 0)) - direction = 2; % descending + % check cycle number VS PT16 + if (mod(floatInternalCycleNumber + 1, floatParam1(44)) == 0) + % profile pressure is PT17 + idPos = find(strcmp(configNames, 'CONFIG_PM09') == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = floatParam1(45); + end end - else - direction = 3; + + g_decArgo_doneOnceFlag = 2; % alternatePeriod or pressureIncrement should be considered once again end - newConfig(idPos) = direction; -end - -% for the configuration of the first deep cycle -if (floatInternalCycleNumber + 1 == g_decArgo_firstDeepCycleNumber) - % as the float always profiles during the first descent (at a 10 sec period) - % when CONFIG_PM05 = 0 in the starting configuration, set it to 10 sec - idPos = find(strcmp(configNames, 'CONFIG_PM05') == 1, 1); - if (~isempty(idPos)) - if (newConfig(idPos) == 0) - newConfig(idPos) = 10; + % manage auto-increment of parking pressure + if (floatParam1(47) ~= 0) + + % get park pressure of the previous cycle + [configNames, configValues] = get_float_config_ir_sbd(floatParam1(9)-1); + if (~isempty(configNames)) + parkPresPrevCycle = get_config_value('CONFIG_PM08', configNames, configValues); + if (~isempty(parkPresPrevCycle)) + + % add PT19 to park pressure of the previous cycle + idPos = find(strcmp(configNames, 'CONFIG_PM08') == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = parkPresPrevCycle + floatParam1(47); + end + end end + + g_decArgo_doneOnceFlag = 2; % alternatePeriod or pressureIncrement should be considered once again end - % set cycle #1 duration - idPos = find(strcmp(configNames, 'CONFIG_PM01') == 1, 1); + % CTD and profile cut-off pressure + name = 'CONFIG_PT20'; + idPos = find(strcmp(name, configNames) == 1, 1); + if (~isnan(newConfig(idPos))) + ctdPumpSwitchOffPres = newConfig(idPos); + else + ctdPumpSwitchOffPres = 5; + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... + g_decArgo_floatNum, ctdPumpSwitchOffPres); + end + name = 'CONFIG_PX01'; + idPos = find(strcmp(name, configNames) == 1, 1); if (~isempty(idPos)) - newConfig(idPos) = g_decArgo_floatConfig.DYNAMIC_TMP.VALUES(idPos, 1); + newConfig(idPos) = ctdPumpSwitchOffPres; end -end - -% manage alternated profile pressure -if (floatParam1(44) ~= 1) - - % check cycle number VS PT16 - if (mod(floatInternalCycleNumber + 1, floatParam1(44)) == 0) - % profile pressure is PT17 - idPos = find(strcmp(configNames, 'CONFIG_PM09') == 1, 1); + name = 'CONFIG_PX02'; + idPos = find(strcmp(name, configNames) == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = ctdPumpSwitchOffPres + 0.5; + end + + % update the units of some technical parameters + for id = [0 2 3 6 12 13] + name = sprintf('CONFIG_PT%02d', id); + idPos = find(strcmp(name, configNames) == 1, 1); if (~isempty(idPos)) - newConfig(idPos) = floatParam1(45)*10; + newConfig(idPos) = newConfig(idPos)*10; + end + end + for id = [4 32] + name = sprintf('CONFIG_PT%02d', id); + idPos = find(strcmp(name, configNames) == 1, 1); + if (~isempty(idPos)) + newConfig(idPos) = newConfig(idPos)*1000; end end -end - -% manage auto-increment of parking pressure -if (floatParam1(47) ~= 0) - % get park pressure of the previous cycle - [configNames, configValues] = get_float_config_ir_sbd(floatParam1(9)-1); - if (~isempty(configNames)) - parkPresPrevCycle = get_config_value('CONFIG_PM08', configNames, configValues); - if (~isempty(parkPresPrevCycle)) + if (~isempty(floatParam1)) + updateDate = floatParam1(end-1); + else + updateDate = floatParam2(end-1); + end + +else - % add PT19 to park pressure of the previous cycle - idPos = find(strcmp(configNames, 'CONFIG_PM08') == 1, 1); + if (g_decArgo_doneOnceFlag == 0) % this is the second deep cycle + + staticConfigNames = g_decArgo_floatConfig.STATIC.NAMES; + staticConfigValues = g_decArgo_floatConfig.STATIC.VALUES; + + % set PM01 and PM05 to initial values + idDel = []; + for id = [1 5] + name = sprintf('CONFIG_PM%02d', id); + idPos = find(strcmp(name, configNames) == 1, 1); if (~isempty(idPos)) - newConfig(idPos) = parkPresPrevCycle + floatParam1(47); + idPos2 = find(strcmp(name, staticConfigNames) == 1, 1); + if (~isempty(idPos2)) + newConfig(idPos) = str2double(staticConfigValues{idPos2}); + idDel = [idDel idPos2]; + end end end + + % update PX00 (profiling direction) + idPx00 = find(strcmp('CONFIG_PX00', configNames) == 1, 1); + if (~isempty(idPx00)) + + idPm05 = find(strcmp('CONFIG_PM05', configNames) == 1, 1); + idPm07 = find(strcmp('CONFIG_PM07', configNames) == 1, 1); + if (~isempty(idPm05) && ~isnan(newConfig(idPm05)) && ... + ~isempty(idPm07) && ~isnan(newConfig(idPm07))) + + descentSamPeriod = newConfig(idPm05); + ascentSamPeriod = newConfig(idPm07); + + direction = 0; + if ((descentSamPeriod == 0) && (ascentSamPeriod ~= 0)) + direction = 1; % ascending + elseif ((descentSamPeriod ~= 0) && (ascentSamPeriod ~= 0)) + direction = 3; % descending and ascending + elseif ((descentSamPeriod ~= 0) && (ascentSamPeriod == 0)) + direction = 2; % descending + end + + newConfig(idPx00) = direction; + end + end + + % remove temporary static parameters + g_decArgo_floatConfig.STATIC.NAMES(idDel) = []; + g_decArgo_floatConfig.STATIC.VALUES(idDel) = []; end -end - -% CTD and profile cut-off pressure -name = 'CONFIG_PT20'; -idPos = find(strcmp(name, configNames) == 1, 1); -if (~isnan(newConfig(idPos))) - ctdPumpSwitchOffPres = newConfig(idPos); -else - ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... - g_decArgo_floatNum, ctdPumpSwitchOffPres); -end -name = 'CONFIG_PX01'; -idPos = find(strcmp(name, configNames) == 1, 1); -if (~isempty(idPos)) - newConfig(idPos) = ctdPumpSwitchOffPres; -end -name = 'CONFIG_PX02'; -idPos = find(strcmp(name, configNames) == 1, 1); -if (~isempty(idPos)) - newConfig(idPos) = ctdPumpSwitchOffPres + 0.5; -end + + % manage alternated profile pressure + alternatePeriod = ''; + idPt16 = find(strcmp('CONFIG_PT16', configNames) == 1, 1); + if (~isempty(idPt16) && ~isnan(newConfig(idPt16))) + alternatePeriod = newConfig(idPt16); + if (alternatePeriod ~= 1) + + % check cycle number VS PT16 + if (mod(floatInternalCycleNumber + 1, alternatePeriod) == 0) + + % profile pressure is PT17 + idPt17 = find(strcmp('CONFIG_PT17', configNames) == 1, 1); + if (~isempty(idPt17) && ~isnan(newConfig(idPt17))) + alternatePressure = newConfig(idPt17); + idPm09 = find(strcmp(configNames, 'CONFIG_PM09') == 1, 1); + if (~isempty(idPm09)) + newConfig(idPm09) = alternatePressure; + end + end + end + end + end + + % manage auto-increment of parking pressure + pressureIncrement = ''; + idPt19 = find(strcmp('CONFIG_PT19', configNames) == 1, 1); + if (~isempty(idPt19) && ~isnan(newConfig(idPt19))) + pressureIncrement = newConfig(idPt19); + if (pressureIncrement ~= 0) -% update the units of some technical parameters -for id = [0 2 3 6 12 13] - name = sprintf('CONFIG_PT%02d', id); - idPos = find(strcmp(name, configNames) == 1, 1); - if (~isempty(idPos)) - newConfig(idPos) = newConfig(idPos)*10; + % get park pressure of the previous cycle + [configNames, configValues] = get_float_config_ir_sbd(a_cycleNum-1); + if (~isempty(configNames)) + parkPresPrevCycle = get_config_value('CONFIG_PM08', configNames, configValues); + if (~isempty(parkPresPrevCycle)) + + % add PT19 to park pressure of the previous cycle + idPm08 = find(strcmp(configNames, 'CONFIG_PM08') == 1, 1); + if (~isempty(idPm08)) + newConfig(idPm08) = parkPresPrevCycle + pressureIncrement; + end + end + end + end end -end -for id = [4 32] - name = sprintf('CONFIG_PT%02d', id); - idPos = find(strcmp(name, configNames) == 1, 1); - if (~isempty(idPos)) - newConfig(idPos) = newConfig(idPos)*1000; + + if (~isempty(alternatePeriod) && (alternatePeriod == 1) && ... + ~isempty(pressureIncrement) && (pressureIncrement == 0)) + g_decArgo_doneOnceFlag = 1; % no need to check again until alternatePeriod or pressureIncrement are modified + else + g_decArgo_doneOnceFlag = 2; % alternatePeriod or pressureIncrement should be considered once again end end % update float configuration g_decArgo_floatConfig.DYNAMIC_TMP.CYCLES = [g_decArgo_floatConfig.DYNAMIC_TMP.CYCLES a_cycleNum]; -if (~isempty(floatParam1)) - g_decArgo_floatConfig.DYNAMIC_TMP.DATES = [g_decArgo_floatConfig.DYNAMIC_TMP.DATES floatParam1(end-1)]; -else - g_decArgo_floatConfig.DYNAMIC_TMP.DATES = [g_decArgo_floatConfig.DYNAMIC_TMP.DATES floatParam2(end-1)]; -end +g_decArgo_floatConfig.DYNAMIC_TMP.DATES = [g_decArgo_floatConfig.DYNAMIC_TMP.DATES updateDate]; g_decArgo_floatConfig.DYNAMIC_TMP.VALUES = [g_decArgo_floatConfig.DYNAMIC_TMP.VALUES newConfig]; % create_csv_to_print_config_ir_sbd('updateConfig_', 0, g_decArgo_floatConfig); diff --git a/decArgo_soft/soft/sub/update_float_config_ir_sbd_222_223.m b/decArgo_soft/soft/sub/update_float_config_ir_sbd_222_223.m index 47c28c1a..e7d5ea16 100644 --- a/decArgo_soft/soft/sub/update_float_config_ir_sbd_222_223.m +++ b/decArgo_soft/soft/sub/update_float_config_ir_sbd_222_223.m @@ -13,7 +13,7 @@ % % EXAMPLES : % -% SEE ALSO : +% SEE ALSO : % AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) % ------------------------------------------------------------------------------ % RELEASES : @@ -21,6 +21,9 @@ % ------------------------------------------------------------------------------ function update_float_config_ir_sbd_222_223(a_floatParam, a_cycleNum) +% default values +global g_decArgo_dateDef; + % current float WMO number global g_decArgo_floatNum; @@ -33,6 +36,15 @@ function update_float_config_ir_sbd_222_223(a_floatParam, a_cycleNum) % float configuration global g_decArgo_floatConfig; +% from +% - decId 223 for Arvor +% - decId 221 for Arvor Deep +% configuration parameters are not transmitted each cycle +% consequently we must update the configuration of the second deep cycle with +% initial parameters, this should be done once (except if alterneated profil or +% auto-increment flag are set) +global g_decArgo_doneOnceFlag; + % we must use the float internal cycle number to set the configuration values % (if the float has been reset float internal cycle number differ from decoder @@ -43,7 +55,7 @@ function update_float_config_ir_sbd_222_223(a_floatParam, a_cycleNum) floatParam1 = a_floatParam{1}; if (size(floatParam1, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #1 in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #1 in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(floatParam1, 1)); end @@ -53,7 +65,7 @@ function update_float_config_ir_sbd_222_223(a_floatParam, a_cycleNum) floatParam2 = a_floatParam{2}; if (size(floatParam2, 1) > 1) - fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #2 in the buffer) => using the last one\n', ... + fprintf('ERROR: Float #%d cycle #%d: BUFFER anomaly (%d param messages #2 in the buffer) - using the last one\n', ... g_decArgo_floatNum, g_decArgo_cycleNum, ... size(floatParam2, 1)); end @@ -65,11 +77,13 @@ function update_float_config_ir_sbd_222_223(a_floatParam, a_cycleNum) configNames = g_decArgo_floatConfig.DYNAMIC_TMP.NAMES; newConfig = g_decArgo_floatConfig.DYNAMIC_TMP.VALUES(:, end); - -% modify transmitted parameter units so that they fit with the configuration -% ones +updateDate = g_decArgo_dateDef; if (~isempty(floatParam1)) + + % modify transmitted parameter units so that they fit with the configuration + % ones + % TC02 transmitted in 10 csec => in csec in the configuration floatParam1(44+ID_OFFSET) = floatParam1(44+ID_OFFSET)*10; % TC03 transmitted in 10 csec => in csec in the configuration @@ -94,6 +108,7 @@ function update_float_config_ir_sbd_222_223(a_floatParam, a_cycleNum) end end end + if (~isempty(floatParam2)) for id = 0:15 name = sprintf('CONFIG_IC%02d_', id); @@ -104,186 +119,219 @@ function update_float_config_ir_sbd_222_223(a_floatParam, a_cycleNum) end end -% update MC002, MC010 and MC011 -confName = 'CONFIG_MC01_'; -idPosMc01 = find(strncmp(confName, configNames, length(confName)) == 1, 1); -nbCyclesFirstMission = newConfig(idPosMc01); -if (floatInternalCycleNumber < nbCyclesFirstMission) +if (~isempty(floatParam1)) + updateDate = floatParam1(end-1); +elseif (~isempty(floatParam2)) + updateDate = floatParam2(end-1); +end - % first mission - % copy MC02 in MC002 - if (floatInternalCycleNumber ~= 0) - confName = 'CONFIG_MC02_'; - idPosMc02 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - confName = 'CONFIG_MC002_'; - idPosMc002 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc002) = newConfig(idPosMc02); - end - % copy MC11 in MC011 - confName = 'CONFIG_MC11_'; - idPosMc11 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - confName = 'CONFIG_MC011_'; - idPosMc011 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc011) = newConfig(idPosMc11); - % copy MC12 in MC012 - confName = 'CONFIG_MC12_'; - idPosMc12 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - confName = 'CONFIG_MC012_'; - idPosMc012 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc012) = newConfig(idPosMc12); -else +if (~isempty(floatParam1) || ~isempty(floatParam2) || (g_decArgo_doneOnceFlag ~= 1)) - % second mission - % update MC002 - if (floatInternalCycleNumber ~= 0) - if (floatInternalCycleNumber == nbCyclesFirstMission) - - % compute transition cycle duration + % update MC002, MC010 and MC011 + confName = 'CONFIG_MC01_'; + idPosMc01 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + nbCyclesFirstMission = newConfig(idPosMc01); + if (floatInternalCycleNumber < nbCyclesFirstMission) + + % first mission + % copy MC02 in MC002 + if (floatInternalCycleNumber ~= 0) confName = 'CONFIG_MC02_'; idPosMc02 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - cycleDuration1 = newConfig(idPosMc02); - confName = 'CONFIG_MC03_'; - idPosMc03 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - cycleDuration2 = newConfig(idPosMc03); - confName = 'CONFIG_MC05_'; - idPosMc05 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - surfTime = newConfig(idPosMc05); - - cycleStartDate = surfTime/24 + (nbCyclesFirstMission-1)*cycleDuration1/24; - cycleEndDate = fix(cycleStartDate + cycleDuration2/24) + surfTime/24; - cycleDuration = (cycleEndDate - cycleStartDate)*24; - else - confName = 'CONFIG_MC03_'; - idPosMc03 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - cycleDuration = newConfig(idPosMc03); + confName = 'CONFIG_MC002_'; + idPosMc002 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc002) = newConfig(idPosMc02); end - confName = 'CONFIG_MC002_'; - idPosMc002 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc002) = cycleDuration; + % copy MC11 in MC011 + confName = 'CONFIG_MC11_'; + idPosMc11 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + confName = 'CONFIG_MC011_'; + idPosMc011 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc011) = newConfig(idPosMc11); + % copy MC12 in MC012 + confName = 'CONFIG_MC12_'; + idPosMc12 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + confName = 'CONFIG_MC012_'; + idPosMc012 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc012) = newConfig(idPosMc12); + else + + % second mission + % update MC002 + if (floatInternalCycleNumber ~= 0) + if (floatInternalCycleNumber == nbCyclesFirstMission) + + % compute transition cycle duration + confName = 'CONFIG_MC02_'; + idPosMc02 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + cycleDuration1 = newConfig(idPosMc02); + confName = 'CONFIG_MC03_'; + idPosMc03 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + cycleDuration2 = newConfig(idPosMc03); + confName = 'CONFIG_MC05_'; + idPosMc05 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + surfTime = newConfig(idPosMc05); + + cycleStartDate = surfTime/24 + (nbCyclesFirstMission-1)*cycleDuration1/24; + cycleEndDate = fix(cycleStartDate + cycleDuration2/24) + surfTime/24; + cycleDuration = (cycleEndDate - cycleStartDate)*24; + else + confName = 'CONFIG_MC03_'; + idPosMc03 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + cycleDuration = newConfig(idPosMc03); + end + confName = 'CONFIG_MC002_'; + idPosMc002 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc002) = cycleDuration; + end + + % copy MC13 in MC011 + confName = 'CONFIG_MC13_'; + idPosMc13 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + confName = 'CONFIG_MC011_'; + idPosMc011 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc011) = newConfig(idPosMc13); + % copy MC14 in MC012 + confName = 'CONFIG_MC14_'; + idPosMc14 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + confName = 'CONFIG_MC012_'; + idPosMc012 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc012) = newConfig(idPosMc14); end - - % copy MC13 in MC011 - confName = 'CONFIG_MC13_'; - idPosMc13 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - confName = 'CONFIG_MC011_'; - idPosMc011 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc011) = newConfig(idPosMc13); - % copy MC14 in MC012 - confName = 'CONFIG_MC14_'; - idPosMc14 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - confName = 'CONFIG_MC012_'; - idPosMc012 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc012) = newConfig(idPosMc14); -end - -% update PX00 -if (floatInternalCycleNumber > 0) - - % set the profile direction - confName = 'CONFIG_MC08_'; - idPosMc08 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - descSampPeriod = newConfig(idPosMc08); - confName = 'CONFIG_MC10_'; - idPosMc10 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - ascSampPeriod = newConfig(idPosMc10); - direction = 0; - if ((ascSampPeriod ~= 0) && (descSampPeriod == 0)) - direction = 1; - elseif ((ascSampPeriod == 0) && (descSampPeriod ~= 0)) - direction = 2; - elseif ((ascSampPeriod ~= 0) && (descSampPeriod ~= 0)) - direction = 3; + + if (isempty(floatParam1) && isempty(floatParam2)) + if (g_decArgo_doneOnceFlag == 0) % this is the second deep cycle + + staticConfigNames = g_decArgo_floatConfig.STATIC.NAMES; + staticConfigValues = g_decArgo_floatConfig.STATIC.VALUES; + + % set MC08 to initial values + idDel = []; + confName = 'CONFIG_MC08_'; + idPos = find(strncmp(confName, staticConfigNames, length(confName)) == 1, 1); + if (~isempty(idPos) && ~isnan(str2double(staticConfigValues{idPos}))) + idPosMc08 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc08) = str2double(staticConfigValues{idPos}); + idDel = [idDel idPos]; + end + + % remove temporary static parameters + g_decArgo_floatConfig.STATIC.NAMES(idDel) = []; + g_decArgo_floatConfig.STATIC.VALUES(idDel) = []; + + g_decArgo_doneOnceFlag = 1; % no need to check again until alternatePeriod or pressureIncrement are modified + end end - confName = 'CONFIG_PX00_'; - idPosPx00 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosPx00) = direction; -else - % set the descending sampling period to 10 seconds - confName = 'CONFIG_MC08_'; - idPosMc08 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc08) = 10; + % update PX00 + if (floatInternalCycleNumber > 0) + + % set the profile direction + confName = 'CONFIG_MC08_'; + idPosMc08 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + descSampPeriod = newConfig(idPosMc08); + confName = 'CONFIG_MC10_'; + idPosMc10 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + ascSampPeriod = newConfig(idPosMc10); + direction = 0; + if ((ascSampPeriod ~= 0) && (descSampPeriod == 0)) + direction = 1; + elseif ((ascSampPeriod == 0) && (descSampPeriod ~= 0)) + direction = 2; + elseif ((ascSampPeriod ~= 0) && (descSampPeriod ~= 0)) + direction = 3; + end + confName = 'CONFIG_PX00_'; + idPosPx00 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosPx00) = direction; + else + + % set the descending sampling period to 10 seconds + confName = 'CONFIG_MC08_'; + idPosMc08 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc08) = 10; + + % set the profile direction + confName = 'CONFIG_MC10_'; + idPosMc10 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + ascSampPeriod = newConfig(idPosMc10); + if (ascSampPeriod == 0) + direction = 2; + else + direction = 3; + end + confName = 'CONFIG_PX00_'; + idPosPx00 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosPx00) = direction; + end - % set the profile direction - confName = 'CONFIG_MC10_'; - idPosMc10 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - ascSampPeriod = newConfig(idPosMc10); - if (ascSampPeriod == 0) - direction = 2; + % update PX01 and PX02 + confName = 'CONFIG_MC28_'; + idPosMc28 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + if (~isnan(newConfig(idPosMc28))) + ctdPumpSwitchOffPres = newConfig(idPosMc28); else - direction = 3; + ctdPumpSwitchOffPres = 5; + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (%d dbars)\n', ... + g_decArgo_floatNum, ctdPumpSwitchOffPres); end - confName = 'CONFIG_PX00_'; - idPosPx00 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosPx00) = direction; -end - -% update PX01 and PX02 -confName = 'CONFIG_MC28_'; -idPosMc28 = find(strncmp(confName, configNames, length(confName)) == 1, 1); -if (~isnan(newConfig(idPosMc28))) - ctdPumpSwitchOffPres = newConfig(idPosMc28); -else - ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (%d dbars)\n', ... - g_decArgo_floatNum, ctdPumpSwitchOffPres); -end - -confName = 'CONFIG_PX01_'; -idPosPx01 = find(strncmp(confName, configNames, length(confName)) == 1, 1); -newConfig(idPosPx01) = ctdPumpSwitchOffPres; -confName = 'CONFIG_PX02_'; -idPosPx02 = find(strncmp(confName, configNames, length(confName)) == 1, 1); -newConfig(idPosPx02) = ctdPumpSwitchOffPres + 0.5; - -% manage alternated profile pressure -confName = 'CONFIG_MC15_'; -idPosMc15 = find(strncmp(confName, configNames, length(confName)) == 1, 1); -secondProfRepRate = newConfig(idPosMc15); -if (~isnan(secondProfRepRate) && (secondProfRepRate ~= 1)) - % check float internal cycle number VS MC15 - if ((mod(floatInternalCycleNumber, secondProfRepRate) == 0) || (floatInternalCycleNumber == 0)) % a_cyNum == 0 added to have the same configuration for cycle #0 and #1 - % profile pressure is MC16 - confName = 'CONFIG_MC16_'; - idPosMc16 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - secondProfPres = newConfig(idPosMc16); - if (~isnan(secondProfPres)) - confName = 'CONFIG_MC012_'; - idPosMc012 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc012) = secondProfPres; + confName = 'CONFIG_PX01_'; + idPosPx01 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosPx01) = ctdPumpSwitchOffPres; + confName = 'CONFIG_PX02_'; + idPosPx02 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosPx02) = ctdPumpSwitchOffPres + 0.5; + + % manage alternated profile pressure + confName = 'CONFIG_MC15_'; + idPosMc15 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + secondProfRepRate = newConfig(idPosMc15); + if (~isnan(secondProfRepRate) && (secondProfRepRate ~= 1)) + + % check float internal cycle number VS MC15 + if ((mod(floatInternalCycleNumber, secondProfRepRate) == 0) || (floatInternalCycleNumber == 0)) % a_cyNum == 0 added to have the same configuration for cycle #0 and #1 + % profile pressure is MC16 + confName = 'CONFIG_MC16_'; + idPosMc16 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + secondProfPres = newConfig(idPosMc16); + if (~isnan(secondProfPres)) + confName = 'CONFIG_MC012_'; + idPosMc012 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc012) = secondProfPres; + end end + + g_decArgo_doneOnceFlag = 2; % alternatePeriod or pressureIncrement should be considered once again end -end - -% manage auto-increment of parking pressure -confName = 'CONFIG_TC14_'; -idPosTc14 = find(strncmp(confName, configNames, length(confName)) == 1, 1); -driftDepthIncrement = newConfig(idPosTc14); -if (~isnan(driftDepthIncrement) && (driftDepthIncrement ~= 0)) - % get park pressure of the previous cycle (the previous cycle is the current - % cycle cycle since we are updating the configuration for the next cycle) - [configNamesTmp, configValuesTmp] = get_float_config_ir_sbd(g_decArgo_cycleNum); - if (~isempty(configNamesTmp)) - parkPresPrevCycle = get_config_value('CONFIG_MC011_', configNamesTmp, configValuesTmp); - if (~isempty(parkPresPrevCycle)) - - % add TC14 to park pressure of the previous cycle - confName = 'CONFIG_MC011_'; - idPosMc011 = find(strncmp(confName, configNames, length(confName)) == 1, 1); - newConfig(idPosMc011) = parkPresPrevCycle + driftDepthIncrement; + % manage auto-increment of parking pressure + confName = 'CONFIG_TC14_'; + idPosTc14 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + driftDepthIncrement = newConfig(idPosTc14); + if (~isnan(driftDepthIncrement) && (driftDepthIncrement ~= 0)) + + % get park pressure of the previous cycle (the previous cycle is the current + % cycle cycle since we are updating the configuration for the next cycle) + [configNamesTmp, configValuesTmp] = get_float_config_ir_sbd(g_decArgo_cycleNum); + if (~isempty(configNamesTmp)) + parkPresPrevCycle = get_config_value('CONFIG_MC011_', configNamesTmp, configValuesTmp); + if (~isempty(parkPresPrevCycle)) + + % add TC14 to park pressure of the previous cycle + confName = 'CONFIG_MC011_'; + idPosMc011 = find(strncmp(confName, configNames, length(confName)) == 1, 1); + newConfig(idPosMc011) = parkPresPrevCycle + driftDepthIncrement; + end end + + g_decArgo_doneOnceFlag = 2; % alternatePeriod or pressureIncrement should be considered once again end end % update float configuration g_decArgo_floatConfig.DYNAMIC_TMP.CYCLES = [g_decArgo_floatConfig.DYNAMIC_TMP.CYCLES a_cycleNum]; -if (~isempty(floatParam1)) - g_decArgo_floatConfig.DYNAMIC_TMP.DATES = [g_decArgo_floatConfig.DYNAMIC_TMP.DATES floatParam1(end-1)]; -else - g_decArgo_floatConfig.DYNAMIC_TMP.DATES = [g_decArgo_floatConfig.DYNAMIC_TMP.DATES floatParam2(end-1)]; -end +g_decArgo_floatConfig.DYNAMIC_TMP.DATES = [g_decArgo_floatConfig.DYNAMIC_TMP.DATES updateDate]; g_decArgo_floatConfig.DYNAMIC_TMP.VALUES = [g_decArgo_floatConfig.DYNAMIC_TMP.VALUES newConfig]; % create_csv_to_print_config_ir_sbd('updateConfig_', 0, g_decArgo_floatConfig); diff --git a/decArgo_soft/soft/sub/update_gps_position_qc_ir_sbd.m b/decArgo_soft/soft/sub/update_gps_position_qc_ir_sbd.m index f3915878..f123f0ae 100644 --- a/decArgo_soft/soft/sub/update_gps_position_qc_ir_sbd.m +++ b/decArgo_soft/soft/sub/update_gps_position_qc_ir_sbd.m @@ -58,18 +58,12 @@ % retrieve the last good GPS location of the previous cycle % (cycleNum-1) - idF = find(gpsLocCycleNum == cycleNum-1); - if (~isempty(idF)) - prevLocDate = gpsLocDate(idF); - prevLocLon = gpsLocLon(idF); - prevLocLat = gpsLocLat(idF); - prevLocQc = gpsLocQc(idF); - - idGoodLoc = find(prevLocQc == 1); - if (~isempty(idGoodLoc)) - lastLocDateOfPrevCycle = prevLocDate(idGoodLoc(end)); - lastLocLonOfPrevCycle = prevLocLon(idGoodLoc(end)); - lastLocLatOfPrevCycle = prevLocLat(idGoodLoc(end)); + if (cycleNum > 0) + idF = find((gpsLocCycleNum == cycleNum-1) & (gpsLocQc == 1), 1, 'last'); + if (~isempty(idF)) + lastLocDateOfPrevCycle = gpsLocDate(idF); + lastLocLonOfPrevCycle = gpsLocLon(idF); + lastLocLatOfPrevCycle = gpsLocLat(idF); end end diff --git a/decArgo_soft/soft/sub/update_meta_data.m b/decArgo_soft/soft/sub/update_meta_data.m index 0f144d2d..e1a79e51 100644 --- a/decArgo_soft/soft/sub/update_meta_data.m +++ b/decArgo_soft/soft/sub/update_meta_data.m @@ -122,17 +122,17 @@ % check meta data length FORMAT_SIZE = 4096; if (length(preCalibEq) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibEq), FORMAT_SIZE); preCalibEq = preCalibEq(1:FORMAT_SIZE); end if (length(preCalibCoef) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibCoef), FORMAT_SIZE); preCalibCoef = preCalibCoef(1:FORMAT_SIZE); end if (length(preCalibComment) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibComment), FORMAT_SIZE); preCalibComment = preCalibComment(1:FORMAT_SIZE); end @@ -171,17 +171,17 @@ % check meta data length FORMAT_SIZE = 4096; if (length(preCalibEq) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibEq), FORMAT_SIZE); preCalibEq = preCalibEq(1:FORMAT_SIZE); end if (length(preCalibCoef) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibCoef), FORMAT_SIZE); preCalibCoef = preCalibCoef(1:FORMAT_SIZE); end if (length(preCalibComment) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibComment), FORMAT_SIZE); preCalibComment = preCalibComment(1:FORMAT_SIZE); end @@ -218,17 +218,17 @@ % check meta data length FORMAT_SIZE = 4096; if (length(preCalibEq) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibEq), FORMAT_SIZE); preCalibEq = preCalibEq(1:FORMAT_SIZE); end if (length(preCalibCoef) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibCoef), FORMAT_SIZE); preCalibCoef = preCalibCoef(1:FORMAT_SIZE); end if (length(preCalibComment) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibComment), FORMAT_SIZE); preCalibComment = preCalibComment(1:FORMAT_SIZE); end @@ -265,17 +265,17 @@ % check meta data length FORMAT_SIZE = 4096; if (length(preCalibEq) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibEq), FORMAT_SIZE); preCalibEq = preCalibEq(1:FORMAT_SIZE); end if (length(preCalibCoef) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibCoef), FORMAT_SIZE); preCalibCoef = preCalibCoef(1:FORMAT_SIZE); end if (length(preCalibComment) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibComment), FORMAT_SIZE); preCalibComment = preCalibComment(1:FORMAT_SIZE); end @@ -312,17 +312,17 @@ % check meta data length FORMAT_SIZE = 4096; if (length(preCalibEq) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibEq), FORMAT_SIZE); preCalibEq = preCalibEq(1:FORMAT_SIZE); end if (length(preCalibCoef) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibCoef), FORMAT_SIZE); preCalibCoef = preCalibCoef(1:FORMAT_SIZE); end if (length(preCalibComment) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibComment), FORMAT_SIZE); preCalibComment = preCalibComment(1:FORMAT_SIZE); end @@ -359,17 +359,17 @@ % check meta data length FORMAT_SIZE = 4096; if (length(preCalibEq) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibEq), FORMAT_SIZE); preCalibEq = preCalibEq(1:FORMAT_SIZE); end if (length(preCalibCoef) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibCoef), FORMAT_SIZE); preCalibCoef = preCalibCoef(1:FORMAT_SIZE); end if (length(preCalibComment) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibComment), FORMAT_SIZE); preCalibComment = preCalibComment(1:FORMAT_SIZE); end @@ -406,17 +406,17 @@ % check meta data length FORMAT_SIZE = 4096; if (length(preCalibEq) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibEq), FORMAT_SIZE); preCalibEq = preCalibEq(1:FORMAT_SIZE); end if (length(preCalibCoef) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibCoef), FORMAT_SIZE); preCalibCoef = preCalibCoef(1:FORMAT_SIZE); end if (length(preCalibComment) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibComment), FORMAT_SIZE); preCalibComment = preCalibComment(1:FORMAT_SIZE); end @@ -453,17 +453,17 @@ % check meta data length FORMAT_SIZE = 4096; if (length(preCalibEq) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_EQUATION'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibEq), FORMAT_SIZE); preCalibEq = preCalibEq(1:FORMAT_SIZE); end if (length(preCalibCoef) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COEFFICIENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibCoef), FORMAT_SIZE); preCalibCoef = preCalibCoef(1:FORMAT_SIZE); end if (length(preCalibComment) > FORMAT_SIZE) - fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) => cut to fit the format\n', ... + fprintf('ERROR: Float #%d: ''PREDEPLOYMENT_CALIB_COMMENT'' information exceeds format size (%d > STRING%d) - cut to fit the format\n', ... g_decArgo_floatNum, length(preCalibComment), FORMAT_SIZE); preCalibComment = preCalibComment(1:FORMAT_SIZE); end @@ -487,7 +487,7 @@ end else - fprintf('WARNING: Float #%d: ''PARAMETER'' field not found in Json meta-data information => parameter information cannot be updated\n', ... + fprintf('WARNING: Float #%d: ''PARAMETER'' field not found in Json meta-data information - parameter information cannot be updated\n', ... g_decArgo_floatNum); end @@ -1605,7 +1605,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 28 for the % Aanderaa standard calibration if (~isempty(find((size(tabDoxyCoef) == [5 28]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -1653,7 +1653,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 28 for the % Aanderaa standard calibration if (~isempty(find((size(tabDoxyCoef) == [5 28]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -1754,7 +1754,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 6 28 for the % Aanderaa standard calibration + an additional two-point adjustment if (~isempty(find((size(tabDoxyCoef) == [6 28]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -1802,7 +1802,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 6 28 for the % Aanderaa standard calibration + an additional two-point adjustment if (~isempty(find((size(tabDoxyCoef) == [6 28]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -1854,7 +1854,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 6 28 for the % Aanderaa standard calibration + an additional two-point adjustment if (~isempty(find((size(tabDoxyCoef) == [6 28]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -1935,7 +1935,7 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.TabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 2 7 if (~isempty(find((size(tabDoxyCoef) == [2 7]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -1977,7 +1977,7 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.TabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 2 7 if (~isempty(find((size(tabDoxyCoef) == [2 7]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2050,7 +2050,7 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.TabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 2 7 if (~isempty(find((size(tabDoxyCoef) == [2 7]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2114,7 +2114,7 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.SbeTabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 1 9 if (~isempty(find((size(tabDoxyCoef) == [1 9]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2181,7 +2181,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 4 for the % Aanderaa standard calibration (tabDoxyCoef(i,j) = Cij). if (~isempty(find((size(tabDoxyCoef) == [5 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2251,7 +2251,7 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.SbeTabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 1 9 if (~isempty(find((size(tabDoxyCoef) == [1 9]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2332,7 +2332,7 @@ % the size of the tabPhaseCoef should be: size(tabPhaseCoef) = 1 4 for the % Aanderaa standard calibration (tabPhaseCoef(i) = PhaseCoefi). if (~isempty(find((size(tabPhaseCoef) == [1 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2340,7 +2340,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 4 for the % Aanderaa standard calibration (tabDoxyCoef(i,j) = Cij). if (~isempty(find((size(tabDoxyCoef) == [5 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2388,7 +2388,7 @@ % the size of the tabPhaseCoef should be: size(tabPhaseCoef) = 1 4 for the % Aanderaa standard calibration (tabPhaseCoef(i) = PhaseCoefi). if (~isempty(find((size(tabPhaseCoef) == [1 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2396,7 +2396,7 @@ % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 5 4 for the % Aanderaa standard calibration (tabDoxyCoef(i,j) = Cij). if (~isempty(find((size(tabDoxyCoef) == [5 4]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end @@ -2919,7 +2919,7 @@ tabDoxyCoef = g_decArgo_calibInfo.OPTODE.SbeTabDoxyCoef; % the size of the tabDoxyCoef should be: size(tabDoxyCoef) = 1 9 if (~isempty(find((size(tabDoxyCoef) == [1 9]) ~= 1, 1))) - fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent => DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... + fprintf('ERROR: Float #%d: DOXY calibration coefficients are inconsistent - DOXY data set to fill value in ''%c'' profile of OPTODE sensor\n', ... g_decArgo_floatNum); return end diff --git a/decArgo_soft/soft/util/check_argos_spool_directory.m b/decArgo_soft/soft/util/check_argos_spool_directory.m index 7d756ee9..09ef6d6f 100644 --- a/decArgo_soft/soft/util/check_argos_spool_directory.m +++ b/decArgo_soft/soft/util/check_argos_spool_directory.m @@ -347,7 +347,7 @@ function check_argos_spool_directory(varargin) lastArgosMsgDate = max(argosDataDate); if (isempty(lastArgosMsgDate)) - fprintf('WARNING: Input Argos file (%s) is empty => cannot choose between possible WMO numbers\n', a_argosFilePathName); + fprintf('WARNING: Input Argos file (%s) is empty - cannot choose between possible WMO numbers\n', a_argosFilePathName); return end diff --git a/decArgo_soft/soft/util/collect_nemo_profile_info.m b/decArgo_soft/soft/util/collect_nemo_profile_info.m index 59b58ded..69ee6739 100644 --- a/decArgo_soft/soft/util/collect_nemo_profile_info.m +++ b/decArgo_soft/soft/util/collect_nemo_profile_info.m @@ -107,7 +107,7 @@ secondOrderInformationStr ... ] = read_nemo_profile_file(floatFilePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', floatFilePathName); + fprintf('ERROR: Error in file: %s - ignored\n', floatFilePathName); continue elseif (error == 2) continue diff --git a/decArgo_soft/soft/util/concat_argos_cycle_files.m b/decArgo_soft/soft/util/concat_argos_cycle_files.m index 48f771a7..c25fcb6a 100644 --- a/decArgo_soft/soft/util/concat_argos_cycle_files.m +++ b/decArgo_soft/soft/util/concat_argos_cycle_files.m @@ -96,7 +96,7 @@ function concat_argos_cycle_files(varargin) % check the input directory if ~(exist(DIR_INPUT_ARGOS_FILES, 'dir') == 7) - fprintf('ERROR: The Argos cycle files directory %s does not exist => exit\n', DIR_INPUT_ARGOS_FILES); + fprintf('ERROR: The Argos cycle files directory %s does not exist - exit\n', DIR_INPUT_ARGOS_FILES); return end @@ -109,7 +109,7 @@ function concat_argos_cycle_files(varargin) % find current float Argos Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => exit\n', floatNum); + fprintf('ERROR: No information on float #%d - exit\n', floatNum); return end floatArgosId = str2num(listArgosId{idF}); @@ -156,14 +156,14 @@ function concat_argos_cycle_files(varargin) end end else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end end if ~((nargin == 1) || ... ((nargin == 2) && (fileFound == 1)) || ... ((nargin == 3) && (fileFound == 2))) - fprintf('ERROR: Check that provided date(s) is(are) part of the Argos cycle file name => exit\n'); + fprintf('ERROR: Check that provided date(s) is(are) part of the Argos cycle file name - exit\n'); return end diff --git a/decArgo_soft/soft/util/convert_nemo_profile_file_2_csv.m b/decArgo_soft/soft/util/convert_nemo_profile_file_2_csv.m index f7e2d110..1f2ffb7a 100644 --- a/decArgo_soft/soft/util/convert_nemo_profile_file_2_csv.m +++ b/decArgo_soft/soft/util/convert_nemo_profile_file_2_csv.m @@ -109,7 +109,7 @@ function convert_nemo_profile_file_2_csv(varargin) % find float SN idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done for this float\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done for this float\n', floatNum); continue end floatSerialNumStr = sprintf('%04d', str2num(listSn{idF})); @@ -174,7 +174,7 @@ function convert_nemo_profile_file_2_csv(varargin) secondOrderInformationStr ... ] = read_nemo_profile_file(profilePathFileName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', profilePathFileName); + fprintf('ERROR: Error in file: %s - ignored\n', profilePathFileName); continue end diff --git a/decArgo_soft/soft/util/copy_apx_iridium_rudics_files.m b/decArgo_soft/soft/util/copy_apx_iridium_rudics_files.m index 12ae93d9..eae6ab26 100644 --- a/decArgo_soft/soft/util/copy_apx_iridium_rudics_files.m +++ b/decArgo_soft/soft/util/copy_apx_iridium_rudics_files.m @@ -83,7 +83,7 @@ function copy_apx_iridium_rudics_files(varargin) % find information on current float idF = find(floatWmoList == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => (nothing done)\n', floatNum); + fprintf('ERROR: No information on float #%d - (nothing done)\n', floatNum); continue end floatDecId = floatDecIdList(idF); @@ -105,7 +105,7 @@ function copy_apx_iridium_rudics_files(varargin) for idFile = 1:length(fileNames) if (fileNames(idFile).bytes == 0) - fprintf('INFO: Empty file: %s => ignored\n', fileNames(idFile).name); + fprintf('INFO: Empty file: %s - ignored\n', fileNames(idFile).name); continue end @@ -148,7 +148,7 @@ function copy_apx_iridium_rudics_files(varargin) nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file(dataFilePathName); if (error == 1) - fprintf('ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... floatNum, dataFilePathName); continue end @@ -202,7 +202,7 @@ function copy_apx_iridium_rudics_files(varargin) if (~isempty(dates)) date = min(dates); else - fprintf('INFO: Float #%d: No dates in file ''%s'' => ignored\n', ... + fprintf('INFO: Float #%d: No dates in file ''%s'' - ignored\n', ... floatNum, dataFilePathName); continue end @@ -211,7 +211,7 @@ function copy_apx_iridium_rudics_files(varargin) [error, events] = read_apx_ir_rudics_log_file(dataFilePathName); if (error == 1) - fprintf('ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... floatNum, dataFilePathName); continue end @@ -365,7 +365,7 @@ function copy_apx_iridium_rudics_files(varargin) % use deployment date [error, events] = read_apx_ir_rudics_log_file([floatOutputDirName fileName]); if (error == 1) - fprintf('ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... floatNum, [floatOutputDirName fileName]); continue end @@ -460,7 +460,7 @@ function copy_apx_iridium_rudics_files(varargin) nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file([floatOutputDirName fileName]); if (error == 1) - fprintf('ERROR: Float #%d: Error in file ''%s'' => ignored\n', ... + fprintf('ERROR: Float #%d: Error in file ''%s'' - ignored\n', ... floatNum, [floatOutputDirName fileName]); continue end diff --git a/decArgo_soft/soft/util/copy_apx_iridium_rudics_files_after_move_archive.m b/decArgo_soft/soft/util/copy_apx_iridium_rudics_files_after_move_archive.m index 54ff5cc5..bfdadef1 100644 --- a/decArgo_soft/soft/util/copy_apx_iridium_rudics_files_after_move_archive.m +++ b/decArgo_soft/soft/util/copy_apx_iridium_rudics_files_after_move_archive.m @@ -84,7 +84,7 @@ function copy_apx_iridium_rudics_files_after_move_archive(varargin) % find information on current float idF = find(floatWmoList == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => (nothing done)\n', floatNum); + fprintf('ERROR: No information on float #%d - (nothing done)\n', floatNum); continue end floatDecId = floatDecIdList(idF); @@ -113,7 +113,7 @@ function copy_apx_iridium_rudics_files_after_move_archive(varargin) outputFileName = create_apx_rudics_log_file_name(inputFilePathName, ... floatNum, floatId, floatLaunchDate, floatEndDate); else - fprintf('ERROR: Unknown file type (%s) => (nothing done)\n', inputFilePathName); + fprintf('ERROR: Unknown file type (%s) - (nothing done)\n', inputFilePathName); continue end @@ -207,7 +207,7 @@ function copy_apx_iridium_rudics_files_after_move_archive(varargin) [error, events] = read_apx_ir_rudics_log_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end diff --git a/decArgo_soft/soft/util/copy_archive_message_files.m b/decArgo_soft/soft/util/copy_archive_message_files.m index 8f0be69c..e7da560d 100644 --- a/decArgo_soft/soft/util/copy_archive_message_files.m +++ b/decArgo_soft/soft/util/copy_archive_message_files.m @@ -38,7 +38,7 @@ function copy_archive_message_files() % check the input directory if ~(exist(INPUT_DIR_NAME, 'dir') == 7) - fprintf('ERROR: Input directory doesn''t exist => exit\n'); + fprintf('ERROR: Input directory doesn''t exist - exit\n'); return end diff --git a/decArgo_soft/soft/util/copy_cts5_files.m b/decArgo_soft/soft/util/copy_cts5_files.m index a9373af0..b5a00ddf 100644 --- a/decArgo_soft/soft/util/copy_cts5_files.m +++ b/decArgo_soft/soft/util/copy_cts5_files.m @@ -165,7 +165,7 @@ function copy_cts5_files(varargin) delFile = dir([floatOutputDirName '/019b_*']); for idF = 1:length(delFile) move_file([floatOutputDirName '/' delFile(idF).name], unusedDirName); - fprintf('MISC: %s => not used\n', delFile(idF).name); + fprintf('MISC: %s - not used\n', delFile(idF).name); end case 4901802 @@ -174,7 +174,7 @@ function copy_cts5_files(varargin) delFile = dir([floatOutputDirName '/013b_system_00007#01*.hex']); if (~isempty(delFile)) move_file([floatOutputDirName '/' delFile.name], unusedDirName); - fprintf('MISC: %s => not used\n', delFile.name); + fprintf('MISC: %s - not used\n', delFile.name); end % 013b_system_00007#02.hex should be renamed 013b_system_00007#02.hex movFile = dir([floatOutputDirName '/013b_system_00007#02*.hex']); @@ -186,7 +186,7 @@ function copy_cts5_files(varargin) delFile = dir([floatOutputDirName '/012b_*']); for idF = 1:length(delFile) move_file([floatOutputDirName '/' delFile(idF).name], unusedDirName); - fprintf('MISC: %s => not used\n', delFile(idF).name); + fprintf('MISC: %s - not used\n', delFile(idF).name); end case 6902667 @@ -198,7 +198,7 @@ function copy_cts5_files(varargin) if (~files(idF).isdir) if (datenum(files(idF).date, 'dd-mmmm-yyyy HH:MM:SS')-g_decArgo_janFirst1950InMatlab < startDate) move_file([floatOutputDirName '/' files(idF).name], unusedDirName); - fprintf('MISC: %s => not used\n', files(idF).name); + fprintf('MISC: %s - not used\n', files(idF).name); end end end @@ -208,7 +208,7 @@ function copy_cts5_files(varargin) delFile = dir([floatOutputDirName '/3a9b_*']); for idF = 1:length(delFile) move_file([floatOutputDirName '/' delFile(idF).name], unusedDirName); - fprintf('MISC: %s => not used\n', delFile(idF).name); + fprintf('MISC: %s - not used\n', delFile(idF).name); end case 6902829 @@ -216,7 +216,7 @@ function copy_cts5_files(varargin) delFile = dir([floatOutputDirName '/3aa9_system_00116_*.hex']); if (~isempty(delFile)) move_file([floatOutputDirName '/' delFile.name], unusedDirName); - fprintf('MISC: %s => not used\n', delFile.name); + fprintf('MISC: %s - not used\n', delFile.name); end case 6902968 diff --git a/decArgo_soft/soft/util/copy_iridium_mail_files_float_to_recover.m b/decArgo_soft/soft/util/copy_iridium_mail_files_float_to_recover.m index a156cbb8..fcf8fa01 100644 --- a/decArgo_soft/soft/util/copy_iridium_mail_files_float_to_recover.m +++ b/decArgo_soft/soft/util/copy_iridium_mail_files_float_to_recover.m @@ -126,15 +126,15 @@ function copy_iridium_mail_files_float_to_recover(varargin) % check input parameters if ~(exist(rsyncDirName, 'dir') == 7) - fprintf('ERROR: Directory not found: %s => exit\n', rsyncDirName); + fprintf('ERROR: Directory not found: %s - exit\n', rsyncDirName); return end if ~(exist(spoolDirName, 'dir') == 7) - fprintf('ERROR: Directory not found: %s => exit\n', spoolDirName); + fprintf('ERROR: Directory not found: %s - exit\n', spoolDirName); return end if ~(exist(floatInformationFileName, 'file') == 2) - fprintf('ERROR: File not found: %s => exit\n', floatInformationFileName); + fprintf('ERROR: File not found: %s - exit\n', floatInformationFileName); return end @@ -319,7 +319,7 @@ function copy_iridium_mail_files_float_to_recover(varargin) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); return else for id = 1:2:length(a_varargin) @@ -338,7 +338,7 @@ function copy_iridium_mail_files_float_to_recover(varargin) elseif (strcmpi(a_varargin{id}, 'logDir')) o_logDir = a_varargin{id+1}; else - fprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + fprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end @@ -346,7 +346,7 @@ function copy_iridium_mail_files_float_to_recover(varargin) % 'floatWmo' is mandatory if (isempty(o_floatWmo)) - fprintf('ERROR: ''floatWmo'' input parameter is mandatory => exit\n'); + fprintf('ERROR: ''floatWmo'' input parameter is mandatory - exit\n'); return end diff --git a/decArgo_soft/soft/util/create_argos_cycle_files.m b/decArgo_soft/soft/util/create_argos_cycle_files.m index 43f71599..44813522 100644 --- a/decArgo_soft/soft/util/create_argos_cycle_files.m +++ b/decArgo_soft/soft/util/create_argos_cycle_files.m @@ -179,10 +179,10 @@ function create_argos_cycle_files(varargin) floatArgosDate = [floatArgosDate; argosDate]; else - fprintf('WARNING: Empty file (%s) => not considered\n', argosFileName); + fprintf('WARNING: Empty file (%s) - not considered\n', argosFileName); end else - fprintf('WARNING: Not expected file name %s => not considered\n', argosFileName); + fprintf('WARNING: Not expected file name %s - not considered\n', argosFileName); end end @@ -262,7 +262,7 @@ function create_argos_cycle_files(varargin) fclose(fIdOut); else - fprintf('INFO: Argos data without dates => not considered\n'); + fprintf('INFO: Argos data without dates - not considered\n'); for id = 1:length(text) fprintf('%s\n', text{id}); end @@ -307,7 +307,7 @@ function create_argos_cycle_files(varargin) fclose(fIdOut); else - fprintf('INFO: Argos data without dates => not considered\n'); + fprintf('INFO: Argos data without dates - not considered\n'); for id = 1:length(text) fprintf('%s\n', text{id}); end diff --git a/decArgo_soft/soft/util/delete_double_argos_split.m b/decArgo_soft/soft/util/delete_double_argos_split.m index 912b51b5..515bf88a 100644 --- a/decArgo_soft/soft/util/delete_double_argos_split.m +++ b/decArgo_soft/soft/util/delete_double_argos_split.m @@ -134,21 +134,21 @@ function delete_double_argos_split() if (compRes == 1) % files are identical - fprintf('INFO: Files %s and %s are identical => %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); + fprintf('INFO: Files %s and %s are identical - %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); delete(fileName2); deleted = 1; break elseif (compRes == 3) % new file contents is included in base file - fprintf('INFO: File %s includes file %s contents => %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); + fprintf('INFO: File %s includes file %s contents - %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); delete(fileName2); deleted = 1; break elseif (compRes == 4) % base file contents is included in new file - fprintf('INFO: File %s includes file %s contents => %s deleted\n', dFiles(id2).name, dFiles(id1).name, dFiles(id1).name); + fprintf('INFO: File %s includes file %s contents - %s deleted\n', dFiles(id2).name, dFiles(id1).name, dFiles(id1).name); delete(fileName1); deleted = 1; break diff --git a/decArgo_soft/soft/util/extract_conf_tech_apx_ir_rudics.m b/decArgo_soft/soft/util/extract_conf_tech_apx_ir_rudics.m index f5e2f637..3c6d258f 100644 --- a/decArgo_soft/soft/util/extract_conf_tech_apx_ir_rudics.m +++ b/decArgo_soft/soft/util/extract_conf_tech_apx_ir_rudics.m @@ -105,7 +105,7 @@ function extract_conf_tech_apx_ir_rudics(varargin) % find float SN and decoder Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done for this float\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done for this float\n', floatNum); continue end floatDecId = listDecId(idF); @@ -145,7 +145,7 @@ function extract_conf_tech_apx_ir_rudics(varargin) nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end @@ -172,7 +172,7 @@ function extract_conf_tech_apx_ir_rudics(varargin) else if (any(~strcmp(configNameList{idF}, configName)) || ... any(~strcmp(configUnitList{idF}, configUnit))) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent configuration => ignored\n', floatNum, cyNum); + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent configuration - ignored\n', floatNum, cyNum); continue end end @@ -196,7 +196,7 @@ function extract_conf_tech_apx_ir_rudics(varargin) engNameList0{end+1} = engName; else if ((length(engNameList0{idF}) ~= length(engName)) || any(~strcmp(engNameList0{idF}, engName))) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering => ignored\n', floatNum, cyNum); + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering - ignored\n', floatNum, cyNum); continue end end @@ -212,7 +212,7 @@ function extract_conf_tech_apx_ir_rudics(varargin) engNameList{end+1} = engName; else if ((length(engNameList{idF}) ~= length(engName)) || any(~strcmp(engNameList{idF}, engName))) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering => ignored\n', floatNum, cyNum); + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering - ignored\n', floatNum, cyNum); continue end end diff --git a/decArgo_soft/soft/util/extract_conf_tech_apx_ir_sbd.m b/decArgo_soft/soft/util/extract_conf_tech_apx_ir_sbd.m index 8addcc5f..e2feea46 100644 --- a/decArgo_soft/soft/util/extract_conf_tech_apx_ir_sbd.m +++ b/decArgo_soft/soft/util/extract_conf_tech_apx_ir_sbd.m @@ -103,7 +103,7 @@ function extract_conf_tech_apx_ir_sbd(varargin) % find float SN and decoder Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done for this float\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done for this float\n', floatNum); continue end floatDecId = listDecId(idF); @@ -142,7 +142,7 @@ function extract_conf_tech_apx_ir_sbd(varargin) engineeringDataStr, ... ] = read_apx_ir_sbd_msg_file(filePathName, [], 0); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end @@ -171,16 +171,16 @@ function extract_conf_tech_apx_ir_sbd(varargin) any(~strcmp(configNameList{idF}, configName)) || ... any(~strcmp(configUnitList{idF}, configUnit))) if (length(configNameList{idF}) > length(configName)) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent configuration (%d items instead of %d) => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent configuration (%d items instead of %d) - ignored\n', ... floatNum, cyNum, length(configName), length(configNameList{idF})); elseif (length(configNameList{idF}) < length(configName)) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent configuration (%d items instead of %d) => new configuration stored, previous one ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent configuration (%d items instead of %d) - new configuration stored, previous one ignored\n', ... floatNum, cyNum, length(configName), length(configNameList{idF})); configNameList{idF} = configName; configUnitList{idF} = configUnit; configValueList{idF} = configValue; else - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent configuration (items differ) => ignored\n', floatNum, cyNum); + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent configuration (items differ) - ignored\n', floatNum, cyNum); end end end @@ -206,14 +206,14 @@ function extract_conf_tech_apx_ir_sbd(varargin) if ((length(engNameList0{idF}) ~= length(engName)) || ... any(~strcmp(engNameList0{idF}, engName))) if (length(engNameList0{idF}) > length(engName)) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (%d items instead of %d) => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (%d items instead of %d) - ignored\n', ... floatNum, cyNum, length(engName), length(engNameList0{idF})); elseif (length(engNameList0{idF}) < length(engName)) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (%d items instead of %d) => new engeneering stored, previous one ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (%d items instead of %d) - new engeneering stored, previous one ignored\n', ... floatNum, cyNum, length(engName), length(engNameList0{idF})); engNameList0{idF} = engName; else - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (items differ) => ignored\n', floatNum, cyNum); + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (items differ) - ignored\n', floatNum, cyNum); end end end @@ -231,14 +231,14 @@ function extract_conf_tech_apx_ir_sbd(varargin) if ((length(engNameList{idF}) ~= length(engName)) || ... any(~strcmp(engNameList{idF}, engName))) if (length(engNameList{idF}) > length(engName)) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (%d items instead of %d) => ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (%d items instead of %d) - ignored\n', ... floatNum, cyNum, length(engName), length(engNameList{idF})); elseif (length(engNameList{idF}) < length(engName)) - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (%d items instead of %d) => new engeneering stored, previous one ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (%d items instead of %d) - new engeneering stored, previous one ignored\n', ... floatNum, cyNum, length(engName), length(engNameList{idF})); engNameList{idF} = engName; else - fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (items differ) => ignored\n', floatNum, cyNum); + fprintf('ERROR: Float #%d Cycle #%d: Inconsistent engineering (items differ) - ignored\n', floatNum, cyNum); end end end diff --git a/decArgo_soft/soft/util/find_wmo_from_argos_data.m b/decArgo_soft/soft/util/find_wmo_from_argos_data.m index 7cc63054..9ee7b516 100644 --- a/decArgo_soft/soft/util/find_wmo_from_argos_data.m +++ b/decArgo_soft/soft/util/find_wmo_from_argos_data.m @@ -214,7 +214,7 @@ function find_wmo_from_argos_data() end end else - fprintf('INFO: empty file (no message with good CRC) => %d messages ignored\n', size(argosDataData, 1)); + fprintf('INFO: empty file (no message with good CRC) - %d messages ignored\n', size(argosDataData, 1)); end end end diff --git a/decArgo_soft/soft/util/freeze_argos_cycle_files.m b/decArgo_soft/soft/util/freeze_argos_cycle_files.m index 00331300..8a2e7214 100644 --- a/decArgo_soft/soft/util/freeze_argos_cycle_files.m +++ b/decArgo_soft/soft/util/freeze_argos_cycle_files.m @@ -92,7 +92,7 @@ function freeze_argos_cycle_files(varargin) % check the input directory if ~(exist(DIR_INPUT_ARGOS_FILES, 'dir') == 7) - fprintf('ERROR: The Argos cycle files directory %s does not exist => exit\n', DIR_INPUT_ARGOS_FILES); + fprintf('ERROR: The Argos cycle files directory %s does not exist - exit\n', DIR_INPUT_ARGOS_FILES); return end @@ -105,7 +105,7 @@ function freeze_argos_cycle_files(varargin) % find current float Argos Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => exit\n', floatNum); + fprintf('ERROR: No information on float #%d - exit\n', floatNum); return end floatArgosId = str2num(listArgosId{idF}); diff --git a/decArgo_soft/soft/util/ge_generate_prof_from_nc.m b/decArgo_soft/soft/util/ge_generate_prof_from_nc.m index f681c749..67886092 100644 --- a/decArgo_soft/soft/util/ge_generate_prof_from_nc.m +++ b/decArgo_soft/soft/util/ge_generate_prof_from_nc.m @@ -160,7 +160,7 @@ function ge_generate_prof_from_nc(varargin) % check input file version if (~strcmp(metaFileFormatVersion, '3.1')) fprintf('\n'); - fprintf('ERROR: Meta-data file (%s) is expected to be of 3.1 format version (but FORMAT_VERSION = %s) => unused\n', ... + fprintf('ERROR: Meta-data file (%s) is expected to be of 3.1 format version (but FORMAT_VERSION = %s) - unused\n', ... metaFileName, metaFileFormatVersion); return end @@ -251,7 +251,7 @@ function ge_generate_prof_from_nc(varargin) % contrôle de la version if (~strcmp(profFileFormatVersion, '3.1')) fprintf('\n'); - fprintf('ERROR: Profile file (%s) is expected to be of 3.1 format version (but FORMAT_VERSION = %s) => unused\n', ... + fprintf('ERROR: Profile file (%s) is expected to be of 3.1 format version (but FORMAT_VERSION = %s) - unused\n', ... floatFileName, profFileFormatVersion); continue end diff --git a/decArgo_soft/soft/util/generate_csv_meta.m b/decArgo_soft/soft/util/generate_csv_meta.m index ad694dce..3bcf333b 100644 --- a/decArgo_soft/soft/util/generate_csv_meta.m +++ b/decArgo_soft/soft/util/generate_csv_meta.m @@ -126,7 +126,7 @@ function generate_csv_meta(varargin) % find decoder Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done for this float\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done for this float\n', floatNum); continue end floatDecId = listDecId(idF); @@ -228,14 +228,14 @@ function generate_csv_meta(varargin) if (~isempty(o_platformFamily)) if (~strcmp(o_platformFamily, defaultPlatformFamily)) - fprintf('WARNING: Float #%d decid #%d: DB platform family (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB platform family (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_platformFamily, defaultPlatformFamily); o_platformFamily = defaultPlatformFamily; end else o_platformFamily = defaultPlatformFamily; - fprintf('INFO: Float #%d decid #%d: DB platform family is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB platform family is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_platformFamily); end @@ -264,14 +264,14 @@ function generate_csv_meta(varargin) if (~isempty(o_platformType)) if (~strcmp(o_platformType, defaultPlatformType)) - fprintf('WARNING: Float #%d decid #%d: DB platform type (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB platform type (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_platformType, defaultPlatformType); o_platformType = defaultPlatformType; end else o_platformType = defaultPlatformType; - fprintf('INFO: Float #%d decid #%d: DB platform type is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB platform type is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_platformType); end @@ -300,14 +300,14 @@ function generate_csv_meta(varargin) if (~isempty(o_wmoInstType)) if (~strcmp(o_wmoInstType, defaultWmoInstType)) - fprintf('WARNING: Float #%d decid #%d: DB WMO instrument type (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB WMO instrument type (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_wmoInstType, defaultWmoInstType); o_wmoInstType = defaultWmoInstType; end else o_wmoInstType = defaultWmoInstType; - fprintf('INFO: Float #%d decid #%d: DB WMO instrument type is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB WMO instrument type is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_wmoInstType); end @@ -335,7 +335,7 @@ function generate_csv_meta(varargin) o_sensorList = [{'CTD'}; {'OPTODE'}; {'OPTODE2'}]; otherwise - fprintf('ERROR: Unknown sensor list for decId #%d => nothing done for this float\n', a_decId); + fprintf('ERROR: Unknown sensor list for decId #%d - nothing done for this float\n', a_decId); end return @@ -427,7 +427,7 @@ function generate_csv_meta(varargin) else o_sensorMaker{end+1} = ifEmptySensorMakerList{idC}; - fprintf('INFO: SENSOR_MAKER is missing for sensor ''%s'' of float #%d => value set to ''%s''\n', ... + fprintf('INFO: SENSOR_MAKER is missing for sensor ''%s'' of float #%d - value set to ''%s''\n', ... o_sensorName{idC}, a_floatNum, o_sensorMaker{end}); end @@ -439,7 +439,7 @@ function generate_csv_meta(varargin) else o_sensorModel{end+1} = ifEmptySensorModelList{idC}; - fprintf('INFO: SENSOR_MODEL is missing for sensor ''%s'' of float #%d => value set to ''%s''\n', ... + fprintf('INFO: SENSOR_MODEL is missing for sensor ''%s'' of float #%d - value set to ''%s''\n', ... o_sensorName{idC}, a_floatNum, o_sensorModel{end}); end @@ -451,7 +451,7 @@ function generate_csv_meta(varargin) else o_sensorSn{end+1} = 'n/a'; - fprintf('INFO: SENSOR_SERIAL_NO is missing for sensor ''%s'' of float #%d => value set to ''%s''\n', ... + fprintf('INFO: SENSOR_SERIAL_NO is missing for sensor ''%s'' of float #%d - value set to ''%s''\n', ... o_sensorName{idC}, a_floatNum, o_sensorSn{end}); end else @@ -459,7 +459,7 @@ function generate_csv_meta(varargin) o_sensorModel{end+1} = ifEmptySensorModelList{idC}; o_sensorSn{end+1} = 'n/a'; - fprintf('INFO: SENSOR ''%s'' is missing for float #%d => sensor created with default values (''%s'', ''%s'', ''%s'')\n', ... + fprintf('INFO: SENSOR ''%s'' is missing for float #%d - sensor created with default values (''%s'', ''%s'', ''%s'')\n', ... o_sensorName{idC}, a_floatNum, ... o_sensorMaker{end}, o_sensorModel{end}, o_sensorSn{end}); end @@ -566,7 +566,7 @@ function generate_csv_meta(varargin) ]; otherwise - fprintf('ERROR: Unknown OPTODE sensor parameter list for decId #%d => nothing done for this float\n', a_decId); + fprintf('ERROR: Unknown OPTODE sensor parameter list for decId #%d - nothing done for this float\n', a_decId); end case 'OPTODE2' @@ -587,7 +587,7 @@ function generate_csv_meta(varargin) ]; otherwise - fprintf('ERROR: Unknown OPTODE2 sensor parameter list for decId #%d => nothing done for this float\n', a_decId); + fprintf('ERROR: Unknown OPTODE2 sensor parameter list for decId #%d - nothing done for this float\n', a_decId); end otherwise @@ -635,16 +635,16 @@ function generate_csv_meta(varargin) if (isempty(o_paramAccuracy)) if (strcmp(a_paramName, 'PRES')) o_paramAccuracy = '2.4'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'TEMP')) o_paramAccuracy = '0.002'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'PSAL')) o_paramAccuracy = '0.005'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'DOXY')) o_paramAccuracy = '10%'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); end end @@ -656,16 +656,16 @@ function generate_csv_meta(varargin) if (isempty(o_paramResolution)) if (strcmp(a_paramName, 'PRES')) o_paramResolution = '1'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'TEMP')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'PSAL')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'DOXY')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); end end diff --git a/decArgo_soft/soft/util/generate_csv_meta_apex_apf11.m b/decArgo_soft/soft/util/generate_csv_meta_apex_apf11.m index 290c330d..3e6cfa00 100644 --- a/decArgo_soft/soft/util/generate_csv_meta_apex_apf11.m +++ b/decArgo_soft/soft/util/generate_csv_meta_apex_apf11.m @@ -126,13 +126,13 @@ function generate_csv_meta_apex_apf11(varargin) % get the list of sensors for this float idSensor = find(wmoSensorList == floatNum); if (isempty(idSensor)) - fprintf('ERROR: Unknown sensor list for float #%d => nothing done for this float (PLEASE UPDATE "%s" file)\n', ... + fprintf('ERROR: Unknown sensor list for float #%d - nothing done for this float (PLEASE UPDATE "%s" file)\n', ... floatNum, SENSOR_LIST_FILE_NAME); continue end sensorList = nameSensorList(idSensor); if (length(sensorList) ~= length(unique(sensorList))) - fprintf('ERROR: Duplicated sensors for float #%d => nothing done for this float (PLEASE CHECK "%s" file)\n', ... + fprintf('ERROR: Duplicated sensors for float #%d - nothing done for this float (PLEASE CHECK "%s" file)\n', ... floatNum, SENSOR_LIST_FILE_NAME); continue end @@ -140,7 +140,7 @@ function generate_csv_meta_apex_apf11(varargin) % find decoder Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done for this float\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done for this float\n', floatNum); continue end floatDecId = listDecId(idF); @@ -391,7 +391,7 @@ function generate_csv_meta_apex_apf11(varargin) o_techParValue = [o_techParValue; a_ifEmptyList(idC)]; end - fprintf('INFO: Sensor info ''%s'' is missing for float #%d => value set to default\n', ... + fprintf('INFO: Sensor info ''%s'' is missing for float #%d - value set to default\n', ... a_codeList{idC}, a_floatNum); end end @@ -508,14 +508,14 @@ function generate_csv_meta_apex_apf11(varargin) if (~isempty(o_platformFamily)) if (~strcmp(o_platformFamily, defaultPlatformFamily)) - fprintf('WARNING: Float #%d decid #%d: DB platform family (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB platform family (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_platformFamily, defaultPlatformFamily); o_platformFamily = defaultPlatformFamily; end else o_platformFamily = defaultPlatformFamily; - fprintf('INFO: Float #%d decid #%d: DB platform family is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB platform family is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_platformFamily); end @@ -544,14 +544,14 @@ function generate_csv_meta_apex_apf11(varargin) if (~isempty(o_platformType)) if (~strcmp(o_platformType, defaultPlatformType)) - fprintf('WARNING: Float #%d decid #%d: DB platform type (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB platform type (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_platformType, defaultPlatformType); o_platformType = defaultPlatformType; end else o_platformType = defaultPlatformType; - fprintf('INFO: Float #%d decid #%d: DB platform type is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB platform type is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_platformType); end @@ -580,14 +580,14 @@ function generate_csv_meta_apex_apf11(varargin) if (~isempty(o_wmoInstType)) if (~strcmp(o_wmoInstType, defaultWmoInstType)) - fprintf('WARNING: Float #%d decid #%d: DB WMO instrument type (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB WMO instrument type (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_wmoInstType, defaultWmoInstType); o_wmoInstType = defaultWmoInstType; end else o_wmoInstType = defaultWmoInstType; - fprintf('INFO: Float #%d decid #%d: DB WMO instrument type is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB WMO instrument type is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_wmoInstType); end @@ -716,19 +716,19 @@ function generate_csv_meta_apex_apf11(varargin) if (isempty(o_paramAccuracy)) if (strcmp(a_paramName, 'PRES')) o_paramAccuracy = '2.4'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'TEMP')) o_paramAccuracy = '0.002'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'PSAL')) o_paramAccuracy = '0.005'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'DOXY')) o_paramAccuracy = '10%'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'NITRATE')) o_paramAccuracy = '2'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); end end @@ -740,19 +740,19 @@ function generate_csv_meta_apex_apf11(varargin) if (isempty(o_paramResolution)) if (strcmp(a_paramName, 'PRES')) o_paramResolution = '1'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'TEMP')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'PSAL')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'DOXY')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'NITRATE')) o_paramResolution = '0.01'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); end end diff --git a/decArgo_soft/soft/util/generate_csv_meta_cts5.m b/decArgo_soft/soft/util/generate_csv_meta_cts5.m index 77f7bd61..2cd35e1c 100644 --- a/decArgo_soft/soft/util/generate_csv_meta_cts5.m +++ b/decArgo_soft/soft/util/generate_csv_meta_cts5.m @@ -161,13 +161,13 @@ function generate_csv_meta_cts5(varargin) % get the list of sensors for this float idSensor = find(wmoSensorList == floatNum); if (isempty(idSensor)) - fprintf('ERROR: Unknown sensor list for float #%d => nothing done for this float (PLEASE UPDATE "%s" file)\n', ... + fprintf('ERROR: Unknown sensor list for float #%d - nothing done for this float (PLEASE UPDATE "%s" file)\n', ... floatNum, SENSOR_LIST_FILE_NAME); continue end sensorList = nameSensorList(idSensor); if (length(sensorList) ~= length(unique(sensorList))) - fprintf('ERROR: Duplicated sensors for float #%d => nothing done for this float (PLEASE CHECK "%s" file)\n', ... + fprintf('ERROR: Duplicated sensors for float #%d - nothing done for this float (PLEASE CHECK "%s" file)\n', ... floatNum, SENSOR_LIST_FILE_NAME); continue end @@ -175,7 +175,7 @@ function generate_csv_meta_cts5(varargin) % find decoder Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done for this float\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done for this float\n', floatNum); continue end floatDecId = listDecId(idF); @@ -229,12 +229,12 @@ function generate_csv_meta_cts5(varargin) [pixelBegin, pixelEnd] = get_output_pixel(outputPixelData, floatNum); if (isempty(pixelBegin)) pixelBegin = -1; - fprintf('INFO: Pixel Begin is missing for float #%d => value set to %d (it will be updated by the decoder BUT store the right value in the ''output_pixel.txt'' file)\n', ... + fprintf('INFO: Pixel Begin is missing for float #%d - value set to %d (it will be updated by the decoder BUT store the right value in the ''output_pixel.txt'' file)\n', ... floatNum, pixelBegin); end if (isempty(pixelEnd)) pixelEnd = -1; - fprintf('INFO: Pixel End is missing for float #%d => value set to %d (it will be updated by the decoder BUT store the right value in the ''output_pixel.txt'' file)\n', ... + fprintf('INFO: Pixel End is missing for float #%d - value set to %d (it will be updated by the decoder BUT store the right value in the ''output_pixel.txt'' file)\n', ... floatNum, pixelEnd); end fprintf(fidOut, '%d;2204;1;%d;SUNA_APF_OUTPUT_PIXEL_BEGIN;%s\n', floatNum, pixelBegin, floatVersion); @@ -490,7 +490,7 @@ function generate_csv_meta_cts5(varargin) o_techParValue = [o_techParValue; a_ifEmptyList(idC)]; end - fprintf('INFO: Sensor info ''%s'' is missing for float #%d => value set to default\n', ... + fprintf('INFO: Sensor info ''%s'' is missing for float #%d - value set to default\n', ... a_codeList{idC}, a_floatNum); end end @@ -588,14 +588,14 @@ function generate_csv_meta_cts5(varargin) if (~isempty(o_platformFamily)) if (~strcmp(o_platformFamily, defaultPlatformFamily)) - fprintf('WARNING: Float #%d decid #%d: DB platform family (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB platform family (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_platformFamily, defaultPlatformFamily); o_platformFamily = defaultPlatformFamily; end else o_platformFamily = defaultPlatformFamily; - fprintf('INFO: Float #%d decid #%d: DB platform family is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB platform family is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_platformFamily); end @@ -624,14 +624,14 @@ function generate_csv_meta_cts5(varargin) if (~isempty(o_platformType)) if (~strcmp(o_platformType, defaultPlatformType)) - fprintf('WARNING: Float #%d decid #%d: DB platform type (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB platform type (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_platformType, defaultPlatformType); o_platformType = defaultPlatformType; end else o_platformType = defaultPlatformType; - fprintf('INFO: Float #%d decid #%d: DB platform type is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB platform type is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_platformType); end @@ -660,14 +660,14 @@ function generate_csv_meta_cts5(varargin) if (~isempty(o_wmoInstType)) if (~strcmp(o_wmoInstType, defaultWmoInstType)) - fprintf('WARNING: Float #%d decid #%d: DB WMO instrument type (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB WMO instrument type (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_wmoInstType, defaultWmoInstType); o_wmoInstType = defaultWmoInstType; end else o_wmoInstType = defaultWmoInstType; - fprintf('INFO: Float #%d decid #%d: DB WMO instrument type is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB WMO instrument type is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_wmoInstType); end @@ -888,28 +888,28 @@ function generate_csv_meta_cts5(varargin) if (isempty(o_paramAccuracy)) if (strcmp(a_paramName, 'PRES')) o_paramAccuracy = '2.4'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'TEMP')) o_paramAccuracy = '0.002'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'PSAL')) o_paramAccuracy = '0.005'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'DOXY')) o_paramAccuracy = '10%'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'NITRATE')) o_paramAccuracy = '2'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'VRS_PH')) o_paramAccuracy = '0.000030'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'PH_IN_SITU_TOTAL')) o_paramAccuracy = '0.005'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'PH_IN_SITU_FREE')) o_paramAccuracy = '0.005'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); end end @@ -921,28 +921,28 @@ function generate_csv_meta_cts5(varargin) if (isempty(o_paramResolution)) if (strcmp(a_paramName, 'PRES')) o_paramResolution = '1'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'TEMP')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'PSAL')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'DOXY')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'NITRATE')) o_paramResolution = '0.01'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'VRS_PH')) o_paramResolution = '0.000001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'PH_IN_SITU_TOTAL')) o_paramResolution = '0.0004'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'PH_IN_SITU_FREE')) o_paramResolution = '0.0004'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); end end diff --git a/decArgo_soft/soft/util/generate_csv_meta_remocean.m b/decArgo_soft/soft/util/generate_csv_meta_remocean.m index 72ac754c..9d9d0ec3 100644 --- a/decArgo_soft/soft/util/generate_csv_meta_remocean.m +++ b/decArgo_soft/soft/util/generate_csv_meta_remocean.m @@ -178,13 +178,13 @@ function generate_csv_meta_remocean(varargin) % get the list of sensors for this float idSensor = find(wmoSensorList == floatNum); if (isempty(idSensor)) - fprintf('ERROR: Unknown sensor list for float #%d => nothing done for this float (PLEASE UPDATE "%s" file)\n', ... + fprintf('ERROR: Unknown sensor list for float #%d - nothing done for this float (PLEASE UPDATE "%s" file)\n', ... floatNum, SENSOR_LIST_FILE_NAME); continue end sensorList = nameSensorList(idSensor); if (length(sensorList) ~= length(unique(sensorList))) - fprintf('ERROR: Duplicated sensors for float #%d => nothing done for this float (PLEASE CHECK "%s" file)\n', ... + fprintf('ERROR: Duplicated sensors for float #%d - nothing done for this float (PLEASE CHECK "%s" file)\n', ... floatNum, SENSOR_LIST_FILE_NAME); continue end @@ -192,7 +192,7 @@ function generate_csv_meta_remocean(varargin) % find decoder Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done for this float\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done for this float\n', floatNum); continue end floatDecId = listDecId(idF); @@ -705,7 +705,7 @@ function generate_csv_meta_remocean(varargin) o_techParValue = [o_techParValue; a_ifEmptyList(idC)]; end - fprintf('INFO: Sensor info ''%s'' is missing for float #%d => value set to default\n', ... + fprintf('INFO: Sensor info ''%s'' is missing for float #%d - value set to default\n', ... a_codeList{idC}, a_floatNum); end end @@ -825,14 +825,14 @@ function generate_csv_meta_remocean(varargin) if (~isempty(o_platformFamily)) if (~strcmp(o_platformFamily, defaultPlatformFamily)) - fprintf('WARNING: Float #%d decid #%d: DB platform family (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB platform family (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_platformFamily, defaultPlatformFamily); o_platformFamily = defaultPlatformFamily; end else o_platformFamily = defaultPlatformFamily; - fprintf('INFO: Float #%d decid #%d: DB platform family is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB platform family is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_platformFamily); end @@ -861,14 +861,14 @@ function generate_csv_meta_remocean(varargin) if (~isempty(o_platformType)) if (~strcmp(o_platformType, defaultPlatformType)) - fprintf('WARNING: Float #%d decid #%d: DB platform type (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB platform type (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_platformType, defaultPlatformType); o_platformType = defaultPlatformType; end else o_platformType = defaultPlatformType; - fprintf('INFO: Float #%d decid #%d: DB platform type is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB platform type is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_platformType); end @@ -897,14 +897,14 @@ function generate_csv_meta_remocean(varargin) if (~isempty(o_wmoInstType)) if (~strcmp(o_wmoInstType, defaultWmoInstType)) - fprintf('WARNING: Float #%d decid #%d: DB WMO instrument type (%s) differs from default value (%s) => set to default value\n', ... + fprintf('WARNING: Float #%d decid #%d: DB WMO instrument type (%s) differs from default value (%s) - set to default value\n', ... a_floatNum, a_decId, ... o_wmoInstType, defaultWmoInstType); o_wmoInstType = defaultWmoInstType; end else o_wmoInstType = defaultWmoInstType; - fprintf('INFO: Float #%d decid #%d: DB WMO instrument type is missing => set to default value (%s)\n', ... + fprintf('INFO: Float #%d decid #%d: DB WMO instrument type is missing - set to default value (%s)\n', ... a_floatNum, a_decId, ... o_wmoInstType); end @@ -1232,19 +1232,19 @@ function generate_csv_meta_remocean(varargin) if (isempty(o_paramAccuracy)) if (strcmp(a_paramName, 'PRES')) o_paramAccuracy = '2.4'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'TEMP')) o_paramAccuracy = '0.002'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'PSAL')) o_paramAccuracy = '0.005'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'DOXY')) o_paramAccuracy = '10%'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); elseif (strcmp(a_paramName, 'NITRATE')) o_paramAccuracy = '2'; - fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing => set to ''%s''\n', a_paramName, o_paramAccuracy); + fprintf('INFO: ''%s'' PARAMETER_ACCURACY is missing - set to ''%s''\n', a_paramName, o_paramAccuracy); end end @@ -1256,19 +1256,19 @@ function generate_csv_meta_remocean(varargin) if (isempty(o_paramResolution)) if (strcmp(a_paramName, 'PRES')) o_paramResolution = '1'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'TEMP')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'PSAL')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'DOXY')) o_paramResolution = '0.001'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); elseif (strcmp(a_paramName, 'NITRATE')) o_paramResolution = '0.01'; - fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing => set to ''%s''\n', a_paramName, o_paramResolution); + fprintf('INFO: ''%s'' PARAMETER_RESOLUTION is missing - set to ''%s''\n', a_paramName, o_paramResolution); end end diff --git a/decArgo_soft/soft/util/generate_json_decoder_config_labels.m b/decArgo_soft/soft/util/generate_json_decoder_config_labels.m index 60e7233c..fe7b9aa6 100644 --- a/decArgo_soft/soft/util/generate_json_decoder_config_labels.m +++ b/decArgo_soft/soft/util/generate_json_decoder_config_labels.m @@ -31,7 +31,7 @@ function generate_json_decoder_config_labels() % decoderConfLabelsFileName = 'C:\Users\jprannou\_RNU\DecArgo_info\_configParamNames\_config_param_name_32.csv'; % decoderConfLabelsFileName = 'C:\Users\jprannou\_RNU\DecArgo_info\_configParamNames\_config_param_name_105.csv'; % decoderConfLabelsFileName = 'C:\Users\jprannou\_RNU\DecArgo_info\_configParamNames\_config_param_name_111.csv'; -% decoderConfLabelsFileName = 'C:\Users\jprannou\_RNU\DecArgo_info\_configParamNames\_config_param_name_121.csv'; +decoderConfLabelsFileName = 'C:\Users\jprannou\_RNU\DecArgo_info\_configParamNames\_config_param_name_121.csv'; % decoderConfLabelsFileName = 'C:\Users\jprannou\_RNU\DecArgo_info\_configParamNames\_config_param_name_124.csv'; decoderConfLabelsFileName = 'C:\Users\jprannou\_RNU\DecArgo_info\_configParamNames\_config_param_name_126.csv'; diff --git a/decArgo_soft/soft/util/generate_json_float_info_complement.m b/decArgo_soft/soft/util/generate_json_float_info_complement.m index fc5801e3..cec0042e 100644 --- a/decArgo_soft/soft/util/generate_json_float_info_complement.m +++ b/decArgo_soft/soft/util/generate_json_float_info_complement.m @@ -109,7 +109,7 @@ function generate_json_float_info_complement() % retrieve FLOAT_TYPE floatType = getfield(infoStruct, 'FLOAT_TYPE'); if (isempty(floatType)) - fprintf('ERROR: FLOAT_TYPE (from PLATFORM_TYPE) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: FLOAT_TYPE (from PLATFORM_TYPE) is missing for float %d - no json file generated\n', ... floatList(idFloat)); continue end @@ -121,7 +121,7 @@ function generate_json_float_info_complement() % retrieve DAC_FORMAT_ID dacFormatId = getfield(infoStruct, 'DAC_FORMAT_ID'); if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatList(idFloat)); continue end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_argos_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_argos_rt.m index 8025bbc3..776b6265 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_argos_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_argos_rt.m @@ -215,7 +215,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -235,7 +235,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_iridium_rudics_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_iridium_rudics_rt.m index 06774709..593a9b26 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_iridium_rudics_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_iridium_rudics_rt.m @@ -227,7 +227,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -251,7 +251,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_iridium_sbd_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_iridium_sbd_rt.m index c7a22ae5..f1eb0b47 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_iridium_sbd_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_apx_apf11_iridium_sbd_rt.m @@ -227,7 +227,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -251,7 +251,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_apx_argos_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_apx_argos_rt.m index 922b2446..9f3b6d0a 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_apx_argos_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_apx_argos_rt.m @@ -204,7 +204,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -220,7 +220,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_apx_ir_rudics_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_apx_ir_rudics_rt.m index f123bc27..08cf31a6 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_apx_ir_rudics_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_apx_ir_rudics_rt.m @@ -204,7 +204,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -220,7 +220,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_apx_ir_sbd_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_apx_ir_sbd_rt.m index 20b654ca..16b0ee3b 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_apx_ir_sbd_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_apx_ir_sbd_rt.m @@ -203,7 +203,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -219,7 +219,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_arvor_c_ir_sbd_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_arvor_c_ir_sbd_rt.m index 4a8349a9..55f901c1 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_arvor_c_ir_sbd_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_arvor_c_ir_sbd_rt.m @@ -203,7 +203,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -219,7 +219,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_arvor_cm_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_arvor_cm_rt.m index 8090679c..554823e3 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_arvor_cm_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_arvor_cm_rt.m @@ -220,7 +220,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -242,7 +242,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_nva_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_nva_rt.m index 199c0315..ca56520f 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_nva_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_nva_rt.m @@ -204,7 +204,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -220,7 +220,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_prv_argos_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_prv_argos_rt.m index 3a34588a..b4ab4764 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_prv_argos_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_prv_argos_rt.m @@ -204,7 +204,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -220,7 +220,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_rudics.m b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_rudics.m index 5449a857..b8779c94 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_rudics.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_rudics.m @@ -24,7 +24,7 @@ FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\cts4_norway_20190604.txt'; FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\cts4_norway_all.txt'; FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\DBexport_DoxyError_6903026_6.11.txt'; -FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\DBexport_DoxyError_6903024_5.92.txt'; +% FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\DBexport_DoxyError_6903024_5.92.txt'; FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\calib_error_method_v2.txt'; % list of sensors mounted on floats @@ -34,8 +34,8 @@ % list of concerned floats FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp.txt'; % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\provor_6.11_norway.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\test_doxy_adj_err_5.92.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\test_doxy_adj_err_6.11.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\test_doxy_adj_err_5.92.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\test_doxy_adj_err_6.11.txt'; % calibration coefficient file decoded from data CALIB_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\PROVOR_CTS4\DataFromFloatToMeta\CalibCoef\calib_coef.txt'; diff --git a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_rudics_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_rudics_rt.m index 8de96914..b38f9056 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_rudics_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_rudics_rt.m @@ -225,7 +225,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -249,7 +249,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_sbd_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_sbd_rt.m index f61a9599..95550e99 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_sbd_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts4_ir_sbd_rt.m @@ -220,7 +220,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -242,7 +242,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts5_ir_rudics.m b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts5_ir_rudics.m index e7af0e7f..88643ee3 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts5_ir_rudics.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts5_ir_rudics.m @@ -24,9 +24,9 @@ % FLOAT_META_FILE_NAME = 'C:\Users\jprannou\Desktop\TMP\new_rem_meta.txt'; % FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\DBexport_CTS5_1.06.012_fromVB_20180904.txt'; FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\DB_export_CTS5_UVP.txt'; -FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\CTS5_6902671_6902953.txt'; -FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\calib_error_method_v2.txt'; -FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\DB_export_CTS5-USEA_6903069.txt'; +% FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\CTS5_6902671_6902953.txt'; +% FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\calib_error_method_v2.txt'; +% FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\DB_export_CTS5-USEA_6903069.txt'; % list of sensors mounted on floats % SENSOR_LIST_FILE_NAME = 'C:\Users\jprannou\Desktop\TMP\float_sensor_list.txt'; @@ -35,7 +35,7 @@ % list of concerned floats % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\Desktop\TMP\new_rem.txt'; FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\provor_7.11_CTS5-USEA.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\provor_7.11_CTS5-USEA.txt'; % calibration coefficient file decoded from data CALIB_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\PROVOR_CTS5\CTS5_float_config\DataFromFloatToMeta\CalibCoef\calib_coef.txt'; diff --git a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts5_ir_rudics_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts5_ir_rudics_rt.m index bb4ed3c8..ef98cee7 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_prv_cts5_ir_rudics_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_prv_cts5_ir_rudics_rt.m @@ -231,7 +231,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -255,7 +255,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/generate_json_float_meta_prv_ir_sbd.m b/decArgo_soft/soft/util/generate_json_float_meta_prv_ir_sbd.m index 61069753..a96c1cb2 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_prv_ir_sbd.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_prv_ir_sbd.m @@ -27,6 +27,7 @@ function generate_json_float_meta_prv_ir_sbd() FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\5900A05_DBexport.txt'; FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\calib_error_method_v2.txt'; FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\db_export_5.47_with_DO_3902110.txt'; +FLOAT_META_FILE_NAME = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\DB_Export\db_export_Arvor_bad_decId_20201012.txt'; % list of concerned floats FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp.txt'; diff --git a/decArgo_soft/soft/util/generate_json_float_meta_prv_ir_sbd_rt.m b/decArgo_soft/soft/util/generate_json_float_meta_prv_ir_sbd_rt.m index ad845a86..08825cce 100644 --- a/decArgo_soft/soft/util/generate_json_float_meta_prv_ir_sbd_rt.m +++ b/decArgo_soft/soft/util/generate_json_float_meta_prv_ir_sbd_rt.m @@ -204,7 +204,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -220,7 +220,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'xmlReportDirName')) g_cogj_xmlReportDirName = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/move_and_rename_apx_argos_files.m b/decArgo_soft/soft/util/move_and_rename_apx_argos_files.m index b5d8672b..f922101e 100644 --- a/decArgo_soft/soft/util/move_and_rename_apx_argos_files.m +++ b/decArgo_soft/soft/util/move_and_rename_apx_argos_files.m @@ -208,7 +208,7 @@ function move_and_rename_apx_argos_files(varargin) % check if the file should be considered fileDate = datenum(argosFileName(8:26), 'yyyy-mm-dd-HH-MM-SS') - g_decArgo_janFirst1950InMatlab; if (fileDate > floatEndDate) - fprintf('INFO: Date of input file (%s) is after float end decoding date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Date of input file (%s) is after float end decoding date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(fileDate), ... julian_2_gregorian_dec_argo(floatEndDate)); g_decArgo_inputArgosFile = argosFilePathName; @@ -222,10 +222,10 @@ function move_and_rename_apx_argos_files(varargin) g_decArgo_janFirst1950InMatlab; else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end end @@ -344,13 +344,13 @@ function move_and_rename_files(a_argosFileNames, a_floatNum, ... else move_argos_input_file(floatArgosId, min(argosLocDate), a_floatNum, [], 'EEE'); end - fprintf('INFO: File (%s) contains no Argos messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains no Argos messages - file stored without cycle number (i.e. not decoded)\n', ... argosFileName); continue elseif (length(unique(argosDataDate)) < NB_MSG_MIN) move_argos_input_file(floatArgosId, firstArgosMsgDate, a_floatNum, [], 'GGG'); - fprintf('INFO: File (%s) contains only ghost messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains only ghost messages - file stored without cycle number (i.e. not decoded)\n', ... argosFileName); continue end @@ -359,13 +359,13 @@ function move_and_rename_files(a_argosFileNames, a_floatNum, ... if (isempty(launchDate)) - fprintf('ERROR: Unable to compute cycle number because of missing meta-data => file stored without cycle number (i.e. not decoded)\n'); + fprintf('ERROR: Unable to compute cycle number because of missing meta-data - file stored without cycle number (i.e. not decoded)\n'); move_argos_input_file(floatArgosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); continue else if (lastArgosMsgDate <= launchDate) - fprintf('INFO: Last date of input file (%s) is before float launch date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Last date of input file (%s) is before float launch date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); move_argos_input_file(floatArgosId, firstArgosMsgDate, a_floatNum, [], 'TTT'); diff --git a/decArgo_soft/soft/util/move_and_rename_apx_ir_rudics_files.m b/decArgo_soft/soft/util/move_and_rename_apx_ir_rudics_files.m index 00c524dd..8d8c34bf 100644 --- a/decArgo_soft/soft/util/move_and_rename_apx_ir_rudics_files.m +++ b/decArgo_soft/soft/util/move_and_rename_apx_ir_rudics_files.m @@ -132,7 +132,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) filePathName = [dirPathFileName '/' fileName]; if (fileNames(idFile).bytes == 0) - fprintf('INFO: Empty file: %s => ignored\n', filePathName); + fprintf('INFO: Empty file: %s - ignored\n', filePathName); continue end @@ -149,7 +149,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end @@ -174,7 +174,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) if (~isempty(dates)) date = min(dates); else - fprintf('ERROR: No dates in file: %s => ignored\n', filePathName); + fprintf('ERROR: No dates in file: %s - ignored\n', filePathName); continue end else @@ -189,7 +189,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) if (length(idF) == 2) [val, count, errmsg, nextIndex] = sscanf(fileName, '%d.%d.msg'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('WARNING: Anomaly detected in file name ''%s'' => file ignored\n', fileName); + fprintf('WARNING: Anomaly detected in file name ''%s'' - file ignored\n', fileName); continue end floatId = val(1); @@ -197,7 +197,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) elseif (length(idF) == 3) [val, count, errmsg, nextIndex] = sscanf(fileName, '%d.%d.msg.%d'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('WARNING: Anomaly detected in file name ''%s'' => file ignored\n', fileName); + fprintf('WARNING: Anomaly detected in file name ''%s'' - file ignored\n', fileName); continue end floatId = val(1); @@ -208,7 +208,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) elseif (length(idF) == 4) [val, count, errmsg, nextIndex] = sscanf(fileName, '%d.%d.msg.%d.%d'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('WARNING: Anomaly detected in file name ''%s'' => file ignored\n', fileName); + fprintf('WARNING: Anomaly detected in file name ''%s'' - file ignored\n', fileName); continue end floatId = val(1); @@ -217,7 +217,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) pid = val(3); end else - fprintf('WARNING: Anomaly detected in file name ''%s'' => file ignored\n', fileName); + fprintf('WARNING: Anomaly detected in file name ''%s'' - file ignored\n', fileName); continue end @@ -318,13 +318,13 @@ function move_and_rename_apx_ir_rudics_files(varargin) filePathName = [dirPathFileName '/' fileName]; if (fileNames(idFile).bytes == 0) - fprintf('INFO: Empty file: %s => ignored\n', filePathName); + fprintf('INFO: Empty file: %s - ignored\n', filePathName); continue end [error, events] = read_apx_ir_rudics_log_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end @@ -336,7 +336,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) if (length(idF) == 2) [val, count, errmsg, nextIndex] = sscanf(fileName, '%d.%d.log'); if (~isempty(errmsg) || (count ~= 2)) - fprintf('WARNING: Anomaly detected in file name ''%s'' => file ignored\n', fileName); + fprintf('WARNING: Anomaly detected in file name ''%s'' - file ignored\n', fileName); continue end floatId = val(1); @@ -346,7 +346,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) elseif (length(idF) == 3) [val, count, errmsg, nextIndex] = sscanf(fileName, '%d.%d.log.%d'); if (~isempty(errmsg) || (count ~= 3)) - fprintf('WARNING: Anomaly detected in file name ''%s'' => file ignored\n', fileName); + fprintf('WARNING: Anomaly detected in file name ''%s'' - file ignored\n', fileName); continue end floatId = val(1); @@ -359,7 +359,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) elseif (length(idF) == 4) [val, count, errmsg, nextIndex] = sscanf(fileName, '%d.%d.log.%d.%d'); if (~isempty(errmsg) || (count ~= 4)) - fprintf('WARNING: Anomaly detected in file name ''%s'' => file ignored\n', fileName); + fprintf('WARNING: Anomaly detected in file name ''%s'' - file ignored\n', fileName); continue end floatId = val(1); @@ -370,7 +370,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) pid = val(3); end else - fprintf('WARNING: Anomaly detected in file name ''%s'' => file ignored\n', fileName); + fprintf('WARNING: Anomaly detected in file name ''%s'' - file ignored\n', fileName); end cyNumStr = 'CCC'; @@ -569,7 +569,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end @@ -626,7 +626,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) idF = strfind(fileName, '_'); newFileName = [fileName(1:idF(3)) num2str(wmoList) '_TTT' fileName(idF(5):end)]; if (~strcmp(newFileName, fileName)) - % fprintf('INFO: Renaming file: %s => %s\n', fileName, newFileName); + % fprintf('INFO: Renaming file: %s - %s\n', fileName, newFileName); move_file([dirPathFileName '/' fileName], [dirPathFileName '/' newFileName]); end else @@ -659,7 +659,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) idF = strfind(fileName, '_'); newFileName = [fileName(1:idF(3)) num2str(floatWmo) fileName(idF(2):idF(3)-1) fileName(idF(5):end)]; if (~strcmp(newFileName, fileName)) - % fprintf('INFO: Renaming file: %s => %s\n', fileName, newFileName); + % fprintf('INFO: Renaming file: %s - %s\n', fileName, newFileName); move_file([dirPathFileName '/' fileName], [dirPathFileName '/' newFileName]); end end @@ -711,7 +711,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) [error, events] = read_apx_ir_rudics_log_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end @@ -787,7 +787,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) [error, events] = read_apx_ir_rudics_log_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end @@ -837,7 +837,7 @@ function move_and_rename_apx_ir_rudics_files(varargin) [error, events] = read_apx_ir_rudics_log_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end diff --git a/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files.m b/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files.m index 5c9fd373..fdac1635 100644 --- a/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files.m +++ b/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files.m @@ -47,7 +47,7 @@ function move_and_rename_iridium_sbd_mail_files() % check the input directory if ~(exist(INPUT_DIR_NAME, 'dir') == 7) - fprintf('ERROR: Input directory doesn''t exist => exit\n'); + fprintf('ERROR: Input directory doesn''t exist - exit\n'); return end @@ -92,7 +92,7 @@ function move_and_rename_iridium_sbd_mail_files() imei(idFile), momsn(idFile), mtmsn(idFile)) pidNum '.txt']; if (exist([outputDirName newfilename], 'file') == 2) - fprintf('WARNING: Fichier existe déjŕ: %s => renommé\n', [outputDirName newfilename]); + fprintf('WARNING: Fichier existe déjŕ: %s - renommé\n', [outputDirName newfilename]); cpt = 1; while (exist([outputDirName newfilename], 'file') == 2) newfilename = [sprintf('co_%sZ_%d_%06d_%06d_', ... diff --git a/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files_italy.m b/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files_italy.m index 783244a8..2cb61684 100644 --- a/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files_italy.m +++ b/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files_italy.m @@ -40,7 +40,7 @@ function move_and_rename_iridium_sbd_mail_files_italy() % check the input directory if ~(exist(INPUT_DIR_NAME, 'dir') == 7) - fprintf('ERROR: Input directory doesn''t exist => exit\n'); + fprintf('ERROR: Input directory doesn''t exist - exit\n'); return end @@ -84,7 +84,7 @@ function move_and_rename_iridium_sbd_mail_files_italy() imei(idFile), momsn(idFile), mtmsn(idFile)) pidNum '.txt']; if (exist([outputDirName newfilename], 'file') == 2) - fprintf('WARNING: Fichier existe déjŕ: %s => renommé\n', [outputDirName newfilename]); + fprintf('WARNING: Fichier existe déjŕ: %s - renommé\n', [outputDirName newfilename]); cpt = 1; while (exist([outputDirName newfilename], 'file') == 2) newfilename = [sprintf('co_%sZ_%d_%06d_%06d_', ... diff --git a/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files_poland.m b/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files_poland.m index 79343b0c..3fdc35e3 100644 --- a/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files_poland.m +++ b/decArgo_soft/soft/util/move_and_rename_iridium_sbd_mail_files_poland.m @@ -38,7 +38,7 @@ function move_and_rename_iridium_sbd_mail_files_poland() % check the input directory if ~(exist(INPUT_DIR_NAME, 'dir') == 7) - fprintf('ERROR: Input directory doesn''t exist => exit\n'); + fprintf('ERROR: Input directory doesn''t exist - exit\n'); return end @@ -82,7 +82,7 @@ function move_and_rename_iridium_sbd_mail_files_poland() imei(idFile), momsn(idFile), mtmsn(idFile)) pidNum '.txt']; if (exist([outputDirName newfilename], 'file') == 2) - fprintf('WARNING: Fichier existe déjŕ: %s => renommé\n', [outputDirName newfilename]); + fprintf('WARNING: Fichier existe déjŕ: %s - renommé\n', [outputDirName newfilename]); cpt = 1; while (exist([outputDirName newfilename], 'file') == 2) newfilename = [sprintf('co_%sZ_%d_%06d_%06d_', ... diff --git a/decArgo_soft/soft/util/move_and_rename_prv_argos_files.m b/decArgo_soft/soft/util/move_and_rename_prv_argos_files.m index 8fbcf04f..8139a99a 100644 --- a/decArgo_soft/soft/util/move_and_rename_prv_argos_files.m +++ b/decArgo_soft/soft/util/move_and_rename_prv_argos_files.m @@ -165,7 +165,7 @@ function move_and_rename_prv_argos_files(varargin) % check if the file should be considered fileDate = datenum(argosFileName(8:26), 'yyyy-mm-dd-HH-MM-SS') - g_decArgo_janFirst1950InMatlab; if (fileDate > floatEndDate) - fprintf('INFO: Date of input file (%s) is after float end decoding date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Date of input file (%s) is after float end decoding date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(fileDate), ... julian_2_gregorian_dec_argo(floatEndDate)); g_decArgo_inputArgosFile = argosFilePathName; @@ -179,10 +179,10 @@ function move_and_rename_prv_argos_files(varargin) g_decArgo_janFirst1950InMatlab; else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end end @@ -286,14 +286,14 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... else move_argos_input_file(a_argosId, min(argosLocDate), a_floatNum, [], 'EEE'); end - fprintf('INFO: File (%s) contains no Argos messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains no Argos messages - file stored without cycle number (i.e. not decoded)\n', ... a_argosFileName); return elseif (length(unique(argosDataDate)) < NB_MSG_MIN) move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'GGG'); - fprintf('INFO: File (%s) contains only ghost messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains only ghost messages - file stored without cycle number (i.e. not decoded)\n', ... a_argosFileName); return @@ -305,7 +305,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... [launchDate, delayBeforeMission, preludeDuration, firstProfileEndDate, cycleDuration, nbCyclesFirstMission] = ... get_meta_data_for_cycle_number_determination(a_floatNum, floatDecId, floatLaunchDate, floatCycleTime, floatRefDay); if (isempty(launchDate)) - fprintf('ERROR: Unable to compute cycle number because of missing meta-data => file stored without cycle number (i.e. not decoded)\n'); + fprintf('ERROR: Unable to compute cycle number because of missing meta-data - file stored without cycle number (i.e. not decoded)\n'); move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); return @@ -539,7 +539,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... else move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'TTT'); - fprintf('INFO: Last date of input file (%s) is before float launch date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Last date of input file (%s) is before float launch date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); return @@ -551,7 +551,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... if (cycleNumber < 0) move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); - fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data - file stored without cycle number (i.e. not decoded)\n', ... cycleNumber); else move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, cycleNumber); @@ -574,7 +574,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... if (cycleNumber(idFile) < 0) move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); - fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data - file stored without cycle number (i.e. not decoded)\n', ... cycleNumber(idFile)); else move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, cycleNumber(idFile)); diff --git a/decArgo_soft/soft/util/move_archive_message_files.m b/decArgo_soft/soft/util/move_archive_message_files.m index 1a0f1b14..109e4ef9 100644 --- a/decArgo_soft/soft/util/move_archive_message_files.m +++ b/decArgo_soft/soft/util/move_archive_message_files.m @@ -27,7 +27,7 @@ function move_archive_message_files() % check the input directory % if ~(exist(INPUT_DIR_NAME, 'dir') == 7) -% fprintf('ERROR: Input directory doesn''t exist => exit\n'); +% fprintf('ERROR: Input directory doesn''t exist - exit\n'); % return % end diff --git a/decArgo_soft/soft/util/nc_check_config_mission_number.m b/decArgo_soft/soft/util/nc_check_config_mission_number.m index aa230628..6f2ac0f3 100644 --- a/decArgo_soft/soft/util/nc_check_config_mission_number.m +++ b/decArgo_soft/soft/util/nc_check_config_mission_number.m @@ -25,12 +25,12 @@ function nc_check_config_mission_number(varargin) % top directory of the input NetCDF files DIR_INPUT_NC_FILES = 'C:\Users\jprannou\_DATA\OUT\nc_output_decArgo\'; -DIR_INPUT_NC_FILES = 'E:\202002-ArgoData\coriolis\'; +% DIR_INPUT_NC_FILES = 'E:\202002-ArgoData\coriolis\'; % default list of floats to convert (should be set to '' if we want to process % all the floats of the DIR_INPUT_NC_FILES directory) FLOAT_LIST_FILE_NAME = ''; % process all the floats of the DIR_INPUT_NC_FILES directory -% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp.txt'; % directory to store the log file DIR_LOG_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\log\'; diff --git a/decArgo_soft/soft/util/nc_check_file_format.m b/decArgo_soft/soft/util/nc_check_file_format.m index f70dd610..1cfaf4e5 100644 --- a/decArgo_soft/soft/util/nc_check_file_format.m +++ b/decArgo_soft/soft/util/nc_check_file_format.m @@ -27,7 +27,10 @@ function nc_check_file_format(varargin) % DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\javaChecker\file_checker_2018-07-16_v2.5.4_spec_2018-12-18\'; % DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\javaChecker\file_checker_2018-07-16_v2.5.4_spec_2019-02-26\'; % DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\javaChecker\file_checker_2018-07-16_v2.5.4_spec_2019-07-15\'; -DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\javaChecker\file_checker_2018-07-16_v2.5.4_spec_2020-09-08\'; +% DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\javaChecker\file_checker_2018-07-16_v2.5.4_spec_2020-09-08\'; +% DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\javaChecker\_BETA_FOR_TRAJ\file_checker_v2.6.01_exec_2020-10-01_spec_2020-10-01\'; +% DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\javaChecker\_BETA_FOR_TRAJ\file_checker_v2.6.01_exec_2020-10-01_spec_2020-10-07\'; +DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\javaChecker\file_checker_java_v2.6_2020-10-23_spec_2020-10-23\'; % DIR_JAVA_CHECKER = 'C:\Users\jprannou\_RNU\Argo\checker_US\TRAJ_CHECKED\javaChecker\file_checker_exec_2017-03-13_beta_spec_2017-04-24\'; @@ -42,6 +45,7 @@ function nc_check_file_format(varargin) DIR_INPUT_NC_FILES = 'C:\Users\jprannou\_DATA\OUT\nc_output_decArgo\'; % DIR_INPUT_NC_FILES = 'C:\Users\jprannou\_DATA\Conversion_en_3.1\OUT_36\'; % DIR_INPUT_NC_FILES = 'C:\Users\jprannou\_DATA\Conversion_en_3.1\OUT_tmp\'; +% DIR_INPUT_NC_FILES = 'C:\Users\jprannou\_DATA\OUT\nc_output_decArgo\selected_nke_prv_ir\'; % directory to store checker reports DIR_OUTPUT_REPORT_FILES = 'C:\Users\jprannou\_DATA\OUT\checker_reports\'; @@ -78,16 +82,26 @@ function nc_check_file_format(varargin) % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\Argo\ActionsCoriolis\ConvertApexOldVersionsTo3.1\list\Apex_41.txt'; % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\Argo\ActionsCoriolis\ConvertApexOldVersionsTo3.1\list\Apex_9.txt'; % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\Argo\ActionsCoriolis\ConvertApexOldVersionsTo3.1\list\Apex_all.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\Argo\ActionsCoriolis\ConvertApexOldVersionsTo3.1\list\Apex_11_a_refaire_20200103.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nemo_collecte_v2.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_iridium-rudics_2.13.1.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\Argo\ActionsCoriolis\ConvertApexOldVersionsTo3.1\list\Apex_11_a_refaire_20200103.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nemo_collecte_v2.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_iridium-rudics_2.13.1.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_nke_cts5.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_apx_rudics.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_apx_argos.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_nova.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_nke_atlantos.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_nke_rem.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nova_dova_all.txt'; % meta-data file exported from Coriolis data base % dataBaseFileName = 'C:\Users\jprannou\_RNU\DecPrv_info\_configParamNames\meta_PRV_from_VB_REFERENCE_20150217.txt'; % dataBaseFileName = 'C:\Users\jprannou\_RNU\DecApx_info\_configParamNames\export_meta_APEX_from_VB_20150703.txt'; -% directory to store the log and csv files -DIR_LOG_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\'; +% directory to store the log file +DIR_LOG_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\log\'; + +% directory to store the csv file +DIR_CSV_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\csv\'; % nc file types to check CHECK_NC_TRAJ = 1; @@ -132,7 +146,7 @@ function nc_check_file_format(varargin) tic; % create the CSV output file -outputFileName = [DIR_LOG_FILE '/' 'nc_check_file_format' name '_' datestr(now, 'yyyymmddTHHMMSS') '.csv']; +outputFileName = [DIR_CSV_FILE '/' 'nc_check_file_format' name '_' datestr(now, 'yyyymmddTHHMMSS') '.csv']; fidOut = fopen(outputFileName, 'wt'); if (fidOut == -1) return @@ -214,6 +228,29 @@ function nc_check_file_format(varargin) ncFilePathName = [ncFileDir '/' ncFileName]; cmd = ''; + % if (ispc) + % cmd = ['cd ' DIR_JAVA_CHECKER ' & ' ... + % 'java -classpath ' DIR_JAVA_CHECKER ' ' ... + % '-jar ' DIR_JAVA_CHECKER '/ValidateSubmit.jar ' ... + % '-full-traj-checks ' ... + % lower(floatDac) ' ' ... + % DIR_JAVA_CHECKER '/spec ' ... + % DIR_OUTPUT_REPORT_FILES ' ' ... + % ncFileDir ' ' ... + % ncFileName]; + % elseif (isunix) + % cmd = ['cd ' DIR_JAVA_CHECKER ' & ' ... + % DIR_JAVA_CHECKER '/ArgoFileChecker.csh ' ... + % '-full-traj-checks ' ... + % lower(floatDac) ' ' ... + % DIR_OUTPUT_REPORT_FILES ' ' ... + % ncFileDir ' ' ... + % ncFileName]; + % else + % fprintf('Cannot determine operating system\n'); + % return + % end + if (ispc) cmd = ['cd ' DIR_JAVA_CHECKER ' & ' ... 'java -classpath ' DIR_JAVA_CHECKER ' ' ... @@ -233,7 +270,7 @@ function nc_check_file_format(varargin) else fprintf('Cannot determine operating system\n'); return - end + end [status, cmdOut] = system(cmd); if (status == 0) diff --git a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx.m b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx.m index 6895e0e9..c12d5f4e 100644 --- a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx.m +++ b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx.m @@ -282,7 +282,7 @@ function nc_compare_mono_profile_files_apx(varargin) descProfNumBase2New(idProf) = descProfNumNew(idMin); numbers = sprintf(' #%d', descProfNumNew(idF)); - fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); descProfNumNew(idMin) = []; @@ -556,7 +556,7 @@ function nc_compare_mono_profile_files_apx(varargin) ascProfNumBase2New(idProf) = ascProfNumNew(idMin); numbers = sprintf(' #%d', ascProfNumNew(idF)); - fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); ascProfNumNew(idMin) = []; @@ -910,7 +910,7 @@ function nc_compare_mono_profile_files_apx(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('WARNING: %d profiles in the %s NetCDF input file: %s => only the first one is considered\n', ... + fprintf('WARNING: %d profiles in the %s NetCDF input file: %s - only the first one is considered\n', ... length(uJulD), a_commentStr, profFileName); end diff --git a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_in_DM.m b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_in_DM.m index adbe9aa9..cad47075 100644 --- a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_in_DM.m +++ b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_in_DM.m @@ -268,7 +268,7 @@ function nc_compare_mono_profile_files_apx_in_DM(varargin) descProfNumBase2New(idProf) = descProfNumNew(idMin); numbers = sprintf(' #%d', descProfNumNew(idF)); - fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); descProfNumNew(idMin) = []; @@ -521,7 +521,7 @@ function nc_compare_mono_profile_files_apx_in_DM(varargin) ascProfNumBase2New(idProf) = ascProfNumNew(idMin); numbers = sprintf(' #%d', ascProfNumNew(idF)); - fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); ascProfNumNew(idMin) = []; @@ -902,7 +902,7 @@ function nc_compare_mono_profile_files_apx_in_DM(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('WARNING: %d profiles in the %s NetCDF input file: %s => only the first one is considered\n', ... + fprintf('WARNING: %d profiles in the %s NetCDF input file: %s - only the first one is considered\n', ... length(uJulD), a_commentStr, profFileName); end @@ -1045,7 +1045,7 @@ function nc_compare_mono_profile_files_apx_in_DM(varargin) tempFillVal = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, 'TEMP'), '_FillValue'); if (~var_is_present(fCdf, 'PSAL')) - fprintf('WARNING: only NST data in file: %s => ignored\n', a_profFilePathName); + fprintf('WARNING: only NST data in file: %s - ignored\n', a_profFilePathName); return end psal = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, 'PSAL')); diff --git a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir.m b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir.m index 55889d2d..e3dca1e2 100644 --- a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir.m +++ b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir.m @@ -296,7 +296,7 @@ function nc_compare_mono_profile_files_apx_ir(varargin) descProfNumBase2New(idProf) = descProfNumNew(idMin); numbers = sprintf(' #%d', descProfNumNew(idF)); - fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); descProfNumNew(idMin) = []; @@ -553,7 +553,7 @@ function nc_compare_mono_profile_files_apx_ir(varargin) ascProfNumBase2New(idProf) = ascProfNumNew(idMin); numbers = sprintf(' #%d', ascProfNumNew(idF)); - fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); ascProfNumNew(idMin) = []; @@ -906,7 +906,7 @@ function nc_compare_mono_profile_files_apx_ir(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('WARNING: %d profiles in the %s NetCDF input file: %s => only the first one is considered\n', ... + fprintf('WARNING: %d profiles in the %s NetCDF input file: %s - only the first one is considered\n', ... length(uJulD), a_commentStr, profFileName); end diff --git a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir_in_DM.m b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir_in_DM.m index 40e470df..78cc9a7d 100644 --- a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir_in_DM.m +++ b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir_in_DM.m @@ -284,7 +284,7 @@ function nc_compare_mono_profile_files_apx_ir_in_DM(varargin) descProfNumBase2New(idProf) = descProfNumNew(idMin); numbers = sprintf(' #%d', descProfNumNew(idF)); - fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); descProfNumNew(idMin) = []; @@ -537,7 +537,7 @@ function nc_compare_mono_profile_files_apx_ir_in_DM(varargin) ascProfNumBase2New(idProf) = ascProfNumNew(idMin); numbers = sprintf(' #%d', ascProfNumNew(idF)); - fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); ascProfNumNew(idMin) = []; @@ -918,7 +918,7 @@ function nc_compare_mono_profile_files_apx_ir_in_DM(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('WARNING: %d profiles in the %s NetCDF input file: %s => only the first one is considered\n', ... + fprintf('WARNING: %d profiles in the %s NetCDF input file: %s - only the first one is considered\n', ... length(uJulD), a_commentStr, profFileName); end @@ -1073,7 +1073,7 @@ function nc_compare_mono_profile_files_apx_ir_in_DM(varargin) tempFillVal = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, 'TEMP'), '_FillValue'); if (~var_is_present(fCdf, 'PSAL')) - fprintf('WARNING: only NST data in file: %s => ignored\n', a_profFilePathName); + fprintf('WARNING: only NST data in file: %s - ignored\n', a_profFilePathName); return end psal = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, 'PSAL')); diff --git a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir_in_DM_PTS_only.m b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir_in_DM_PTS_only.m index 26ec62fe..029336a1 100644 --- a/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir_in_DM_PTS_only.m +++ b/decArgo_soft/soft/util/nc_compare_mono_profile_files_apx_ir_in_DM_PTS_only.m @@ -287,7 +287,7 @@ function nc_compare_mono_profile_files_apx_ir_in_DM_PTS_only(varargin) descProfNumBase2New(idProf) = descProfNumNew(idMin); numbers = sprintf(' #%d', descProfNumNew(idF)); - fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); descProfNumNew(idMin) = []; @@ -540,7 +540,7 @@ function nc_compare_mono_profile_files_apx_ir_in_DM_PTS_only(varargin) ascProfNumBase2New(idProf) = ascProfNumNew(idMin); numbers = sprintf(' #%d', ascProfNumNew(idF)); - fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); ascProfNumNew(idMin) = []; @@ -921,7 +921,7 @@ function nc_compare_mono_profile_files_apx_ir_in_DM_PTS_only(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('WARNING: %d profiles in the %s NetCDF input file: %s => only the first one is considered\n', ... + fprintf('WARNING: %d profiles in the %s NetCDF input file: %s - only the first one is considered\n', ... length(uJulD), a_commentStr, profFileName); end @@ -1076,7 +1076,7 @@ function nc_compare_mono_profile_files_apx_ir_in_DM_PTS_only(varargin) tempFillVal = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, 'TEMP'), '_FillValue'); if (~var_is_present(fCdf, 'PSAL')) - fprintf('WARNING: only NST data in file: %s => ignored\n', a_profFilePathName); + fprintf('WARNING: only NST data in file: %s - ignored\n', a_profFilePathName); return end psal = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, 'PSAL')); diff --git a/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv.m b/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv.m index 57d603a1..c014389a 100644 --- a/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv.m +++ b/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv.m @@ -262,7 +262,7 @@ function nc_compare_mono_profile_files_prv(varargin) descProfNumBase2New(idProf) = descProfNumNew(idMin); numbers = sprintf(' #%d', descProfNumNew(idF)); - fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); descProfNumNew(idMin) = []; @@ -519,7 +519,7 @@ function nc_compare_mono_profile_files_prv(varargin) ascProfNumBase2New(idProf) = ascProfNumNew(idMin); numbers = sprintf(' #%d', ascProfNumNew(idF)); - fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); ascProfNumNew(idMin) = []; @@ -872,7 +872,7 @@ function nc_compare_mono_profile_files_prv(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('ERROR: %d profiles in the %s NetCDF input file: %s => file ignored\n', ... + fprintf('ERROR: %d profiles in the %s NetCDF input file: %s - file ignored\n', ... length(uJulD), a_commentStr, profFileName); continue end diff --git a/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv_bgc_in_DM.m b/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv_bgc_in_DM.m index 077201e9..657eae70 100644 --- a/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv_bgc_in_DM.m +++ b/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv_bgc_in_DM.m @@ -271,7 +271,7 @@ function nc_compare_mono_profile_files_prv_bgc_in_DM(varargin) descProfNumNew(idF) = []; descProfDateNew(idF) = []; elseif (length(idF2) > 1) - fprintf('ERROR: Float %d cycle #%d descending prof #%d: inconsistent data (there are %d NEW profiles within %d hours interval around BASE profile)) => link not done\n', ... + fprintf('ERROR: Float %d cycle #%d descending prof #%d: inconsistent data (there are %d NEW profiles within %d hours interval around BASE profile)) - link not done\n', ... floatNum, descCyNumBase(idProf), descProfNumBase(idProf), ... length(idF2), INTERVAL_HOUR); fprintf('ERROR: Float %d cycle #%d descending prof #%d: BASE profile date: %s\n', ... @@ -579,7 +579,7 @@ function nc_compare_mono_profile_files_prv_bgc_in_DM(varargin) ascProfNumNew(idF) = []; ascProfDateNew(idF) = []; elseif (length(idF2) > 1) - fprintf('ERROR: Float %d cycle #%d ascending prof #%d: inconsistent data (there are %d NEW profiles within %d hours interval around BASE profile)) => link not done\n', ... + fprintf('ERROR: Float %d cycle #%d ascending prof #%d: inconsistent data (there are %d NEW profiles within %d hours interval around BASE profile)) - link not done\n', ... floatNum, ascCyNumBase(idProf), ascProfNumBase(idProf), ... length(idF2), INTERVAL_HOUR); fprintf('ERROR: Float %d cycle #%d ascending prof #%d: BASE profile date: %s\n', ... @@ -979,7 +979,7 @@ function nc_compare_mono_profile_files_prv_bgc_in_DM(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('ERROR: %d profiles in the %s NetCDF input file: %s => file ignored\n', ... + fprintf('ERROR: %d profiles in the %s NetCDF input file: %s - file ignored\n', ... length(uJulD), a_commentStr, profFileName); continue end diff --git a/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv_in_DM.m b/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv_in_DM.m index 0ca0e96e..46e7d9d9 100644 --- a/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv_in_DM.m +++ b/decArgo_soft/soft/util/nc_compare_mono_profile_files_prv_in_DM.m @@ -256,7 +256,7 @@ function nc_compare_mono_profile_files_prv_in_DM(varargin) descProfNumBase2New(idProf) = descProfNumNew(idMin); numbers = sprintf(' #%d', descProfNumNew(idF)); - fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d descent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); descProfNumNew(idMin) = []; @@ -509,7 +509,7 @@ function nc_compare_mono_profile_files_prv_in_DM(varargin) ascProfNumBase2New(idProf) = ascProfNumNew(idMin); numbers = sprintf(' #%d', ascProfNumNew(idF)); - fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) => (the #%d is selected)\n', ... + fprintf('WARNING: %d ascent new profiles found around date %s (corresponding to profiles%s) - (the #%d is selected)\n', ... length(idF), julian_2_gregorian(profDateBase), numbers, idMin); ascProfNumNew(idMin) = []; @@ -888,7 +888,7 @@ function nc_compare_mono_profile_files_prv_in_DM(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('ERROR: %d profiles in the %s NetCDF input file: %s => file ignored\n', ... + fprintf('ERROR: %d profiles in the %s NetCDF input file: %s - file ignored\n', ... length(uJulD), a_commentStr, profFileName); continue end diff --git a/decArgo_soft/soft/util/nc_compare_profile_date_and_loc.m b/decArgo_soft/soft/util/nc_compare_profile_date_and_loc.m index 5651a8f2..42862416 100644 --- a/decArgo_soft/soft/util/nc_compare_profile_date_and_loc.m +++ b/decArgo_soft/soft/util/nc_compare_profile_date_and_loc.m @@ -313,7 +313,7 @@ function nc_compare_profile_date_and_loc(varargin) [uJulD, idA, idC] = unique(julD); if (length(uJulD) > 1) - fprintf('WARNING: %d profiles in the %s NetCDF input file: %s => only the first one is considered\n', ... + fprintf('WARNING: %d profiles in the %s NetCDF input file: %s - only the first one is considered\n', ... length(uJulD), a_commentStr, profFileName); end diff --git a/decArgo_soft/soft/util/nc_copy_mono_profile_dm_and_qc.m b/decArgo_soft/soft/util/nc_copy_mono_profile_dm_and_qc.m index 079586ed..00bfc8b8 100644 --- a/decArgo_soft/soft/util/nc_copy_mono_profile_dm_and_qc.m +++ b/decArgo_soft/soft/util/nc_copy_mono_profile_dm_and_qc.m @@ -256,7 +256,7 @@ function nc_copy_mono_profile_dm_and_qc_(a_floatList, a_logFile, ... if (strcmp(formatVersionOld, '3.1')) cyNumList = [cyNumList str2num(cyNumStr)]; else - fprintf('INFO: File %s is not in 3.1 version => not considered\n', ... + fprintf('INFO: File %s is not in 3.1 version - not considered\n', ... fileName); cyNumListNot31 = [cyNumListNot31 str2num(cyNumStr)]; end @@ -637,13 +637,13 @@ function process_cycle_file( ... % check the file format version if (~strcmp(formatVersionOld, '3.1')) - fprintf('ERROR: Float #%d Cycle #%d%c: %c file (%s) is in format version %s => not managed\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: %c file (%s) is in format version %s - not managed\n', ... g_cocd_floatNum, g_cocd_cycleNum, g_cocd_cycleDir, ... fileType, a_profFileNameOld, formatVersionOld); return end if (~strcmp(formatVersionNew, '3.1')) - fprintf('ERROR: Float #%d Cycle #%d%c: %c file (%s) is in format version %s => not managed\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: %c file (%s) is in format version %s - not managed\n', ... g_cocd_floatNum, g_cocd_cycleNum, g_cocd_cycleDir, ... fileType, a_profFileNameNew, formatVersionNew); return @@ -1202,7 +1202,7 @@ function process_cycle_file( ... needUpdate = 0; if (~isempty(dmProfIdToUpdate)) profList = sprintf('#%d ', dmProfIdToUpdate); - fprintf('INFO: Float #%d Cycle #%d%c: %c file: profiles (%s) are in DM => need to be duplicated in NEW file\n', ... + fprintf('INFO: Float #%d Cycle #%d%c: %c file: profiles (%s) are in DM - need to be duplicated in NEW file\n', ... g_cocd_floatNum, g_cocd_cycleNum, g_cocd_cycleDir, ... fileType, profList(1:end-1)); needUpdate = 1; @@ -1210,7 +1210,7 @@ function process_cycle_file( ... profIdToUpdate = unique(rtProfIdToUpdate); if (~isempty(profIdToUpdate)) profList = sprintf('#%d ', profIdToUpdate); - fprintf('INFO: Float #%d Cycle #%d%c: %c file: profiles (%s) have modified QC => need to be updated in NEW file\n', ... + fprintf('INFO: Float #%d Cycle #%d%c: %c file: profiles (%s) have modified QC - need to be updated in NEW file\n', ... g_cocd_floatNum, g_cocd_cycleNum, g_cocd_cycleDir, ... fileType, profList(1:end-1)); needUpdate = 1; @@ -1731,7 +1731,7 @@ function update_prof_file( ... % update HISTORY data if (sum(sum(sum(sum(a_profStructNew.info.PARAMETER ~= a_profStructOld.info.PARAMETER, 1), 2), 3), 4) ~= 0) - fprintf('ERROR: Float #%d Cycle #%d%c: PARAMETER information differ => SCCOP HISTORY cannot be reported\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: PARAMETER information differ - SCCOP HISTORY cannot be reported\n', ... g_cocd_floatNum, g_cocd_cycleNum, g_cocd_cycleDir); else [~, nHistory] = netcdf.inqDim(fCdf, netcdf.inqDimID(fCdf, 'N_HISTORY')); @@ -1950,7 +1950,7 @@ function update_prof_file( ... switch (a_paramNameList{idP}) case {'CNDC', 'PRES', 'PSAL', 'TEMP'} - fprintf('WARNING: You set "PARAMETER TO IGNORE" to ''%s'': a core parameter is not accepted by this tool => exit\n', a_paramNameList{idP}); + fprintf('WARNING: You set "PARAMETER TO IGNORE" to ''%s'': a core parameter is not accepted by this tool - exit\n', a_paramNameList{idP}); case 'DOXY' o_paramNameList = [o_paramNameList ... @@ -2100,7 +2100,7 @@ function update_prof_file( ... ]; otherwise - fprintf('WARNING: You set "PARAMETER TO IGNORE" to ''%s'': this parameter is not managed yet by this tool => exit\n', a_paramNameList{idP}); + fprintf('WARNING: You set "PARAMETER TO IGNORE" to ''%s'': this parameter is not managed yet by this tool - exit\n', a_paramNameList{idP}); end end diff --git a/decArgo_soft/soft/util/nc_copy_mono_profile_qc.m b/decArgo_soft/soft/util/nc_copy_mono_profile_qc.m index 23f0147f..1bba59b8 100644 --- a/decArgo_soft/soft/util/nc_copy_mono_profile_qc.m +++ b/decArgo_soft/soft/util/nc_copy_mono_profile_qc.m @@ -907,13 +907,13 @@ function nc_copy_mono_profile_qc_(a_floatList, a_logFile, ... if (idS == 2) if (idType == 1) if (dataMode(a_profNumToUpdate) == 'R') - fprintf('INFO: profile #%d is in ''R'' mode => %s not reported in profile #%d of file : %s\n', ... + fprintf('INFO: profile #%d is in ''R'' mode - %s not reported in profile #%d of file : %s\n', ... a_profNumToUpdate, paramName, a_profNumToUpdate, outputFileName); continue end else if (isempty(find(strcmp(paramNamePrefix, adjustedParam), 1))) - fprintf('INFO: parameter %s of profile #%d is in ''R'' mode => %s not reported in profile #%d of file : %s\n', ... + fprintf('INFO: parameter %s of profile #%d is in ''R'' mode - %s not reported in profile #%d of file : %s\n', ... paramNamePrefix, a_profNumToUpdate, paramName, a_profNumToUpdate, outputFileName); continue end diff --git a/decArgo_soft/soft/util/nc_copy_mono_profile_qc_rt.m b/decArgo_soft/soft/util/nc_copy_mono_profile_qc_rt.m index a311dbf3..5b543d1e 100644 --- a/decArgo_soft/soft/util/nc_copy_mono_profile_qc_rt.m +++ b/decArgo_soft/soft/util/nc_copy_mono_profile_qc_rt.m @@ -1055,13 +1055,13 @@ function nc_copy_mono_profile_qc_(a_floatList, a_logFile, ... if (idS == 2) if (idType == 1) if (dataMode(a_profNumToUpdate) == 'R') - fprintf('INFO: profile #%d is in ''R'' mode => %s not reported in profile #%d of file : %s\n', ... + fprintf('INFO: profile #%d is in ''R'' mode - %s not reported in profile #%d of file : %s\n', ... a_profNumToUpdate, paramName, a_profNumToUpdate, outputFileName); continue end else if (isempty(find(strcmp(paramNamePrefix, adjustedParam), 1))) - fprintf('INFO: parameter %s of profile #%d is in ''R'' mode => %s not reported in profile #%d of file : %s\n', ... + fprintf('INFO: parameter %s of profile #%d is in ''R'' mode - %s not reported in profile #%d of file : %s\n', ... paramNamePrefix, a_profNumToUpdate, paramName, a_profNumToUpdate, outputFileName); continue end @@ -1541,7 +1541,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -1561,7 +1561,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'logDir')) g_cocq_dirLogFile = a_varargin{id+1}; else - fprintf('WARNING: unexpected input argument (%s) => ignored\n', a_varargin{id}); + fprintf('WARNING: unexpected input argument (%s) - ignored\n', a_varargin{id}); end end end @@ -1570,7 +1570,7 @@ function init_xml_report(a_time) % check the xml report file name consistency if (~isempty(g_cocq_xmlReportFileName)) if (length(g_cocq_xmlReportFileName) < 29) - fprintf('WARNING: inconsistent xml report file name (%s) expecting co041403_yyyymmddTHHMMSSZ[_PID].xml => ignored\n', g_cocq_xmlReportFileName); + fprintf('WARNING: inconsistent xml report file name (%s) expecting co041403_yyyymmddTHHMMSSZ[_PID].xml - ignored\n', g_cocq_xmlReportFileName); g_cocq_xmlReportFileName = []; end end diff --git a/decArgo_soft/soft/util/nc_create_merged_profile.m b/decArgo_soft/soft/util/nc_create_merged_profile.m index 918f4411..e127c0ba 100644 --- a/decArgo_soft/soft/util/nc_create_merged_profile.m +++ b/decArgo_soft/soft/util/nc_create_merged_profile.m @@ -412,7 +412,7 @@ function process_one_float(a_floatDir, a_outputDir, ... % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -424,7 +424,7 @@ function process_one_float(a_floatDir, a_outputDir, ... elseif (strcmpi(a_varargin{id}, 'outputDirName')) o_outputDirName = a_varargin{id+1}; else - fprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + fprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/nc_create_merged_profile_rt.m b/decArgo_soft/soft/util/nc_create_merged_profile_rt.m index 2cbd7651..54d5d8a2 100644 --- a/decArgo_soft/soft/util/nc_create_merged_profile_rt.m +++ b/decArgo_soft/soft/util/nc_create_merged_profile_rt.m @@ -364,7 +364,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -400,7 +400,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'floatWmo')) g_cocm_floatWmo = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end @@ -504,7 +504,7 @@ function init_xml_report(a_time) end if (~isempty(g_cocm_floatWmo)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatWmo'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatWmo'') - ignored\n'); end else @@ -534,22 +534,22 @@ function init_xml_report(a_time) end if (~isempty(g_cocm_floatCProfFileName)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatCProfFileName'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatCProfFileName'') - ignored\n'); end if (~isempty(g_cocm_floatBProfFileName)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatBProfFileName'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatBProfFileName'') - ignored\n'); end if (~isempty(g_cocm_floatMetaFileName)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatMetaFileName'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatMetaFileName'') - ignored\n'); end if (~isempty(g_cocm_floatCTrajFileName)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatCTrajFileName'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatCTrajFileName'') - ignored\n'); end if (~isempty(g_cocm_floatBTrajFileName)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatBTrajFileName'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatBTrajFileName'') - ignored\n'); end if (~isempty(g_cocm_createMultiProfFlag)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''createMultiProfFlag'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''createMultiProfFlag'') - ignored\n'); end end diff --git a/decArgo_soft/soft/util/nc_create_synthetic_profile.m b/decArgo_soft/soft/util/nc_create_synthetic_profile.m index 8e77cc05..91c3af74 100644 --- a/decArgo_soft/soft/util/nc_create_synthetic_profile.m +++ b/decArgo_soft/soft/util/nc_create_synthetic_profile.m @@ -210,8 +210,8 @@ function nc_create_synthetic_profile(varargin) end % put header - header = 'dac, type, float code, cycle number, message, file'; - fprintf(g_cocs_fidCsvFile, '%s\n', header); + % header = 'dac, type, float code, cycle number, message, file'; + % fprintf(g_cocs_fidCsvFile, '%s\n', header); if (~isempty(floatList)) @@ -464,7 +464,7 @@ function process_one_float(a_floatDir, a_outputDir, ... % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + fprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -476,7 +476,7 @@ function process_one_float(a_floatDir, a_outputDir, ... elseif (strcmpi(a_varargin{id}, 'outputDirName')) o_outputDirName = a_varargin{id+1}; else - fprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + fprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end diff --git a/decArgo_soft/soft/util/nc_create_synthetic_profile_rt.m b/decArgo_soft/soft/util/nc_create_synthetic_profile_rt.m index 0825e5db..96eeb242 100644 --- a/decArgo_soft/soft/util/nc_create_synthetic_profile_rt.m +++ b/decArgo_soft/soft/util/nc_create_synthetic_profile_rt.m @@ -251,8 +251,8 @@ function nc_create_synthetic_profile_rt(varargin) end % put header - header = 'dac, type, float code, cycle number, message, file'; - fprintf(g_cocs_fidCsvFile, '%s\n', header); + % header = 'dac, type, float code, cycle number, message, file'; + % fprintf(g_cocs_fidCsvFile, '%s\n', header); % generate S-PROF file nc_create_synthetic_profile_(... @@ -413,7 +413,7 @@ function init_xml_report(a_time) % check input parameters if (~isempty(a_varargin)) if (rem(length(a_varargin), 2) ~= 0) - o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') => exit\n'); + o_logLines{end+1} = sprintf('ERROR: expecting an even number of input arguments (e.g. (''argument_name'', ''argument_value'') - exit\n'); o_inputError = 1; return else @@ -449,7 +449,7 @@ function init_xml_report(a_time) elseif (strcmpi(a_varargin{id}, 'floatWmo')) g_cocs_floatWmo = a_varargin{id+1}; else - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') => ignored\n', a_varargin{id}); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''%s'') - ignored\n', a_varargin{id}); end end end @@ -534,7 +534,7 @@ function init_xml_report(a_time) end if (~isempty(g_cocs_floatWmo)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatWmo'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatWmo'') - ignored\n'); end else @@ -564,16 +564,16 @@ function init_xml_report(a_time) end if (~isempty(g_cocs_floatCProfFileName)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatCProfFileName'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatCProfFileName'') - ignored\n'); end if (~isempty(g_cocs_floatBProfFileName)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatBProfFileName'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatBProfFileName'') - ignored\n'); end if (~isempty(g_cocs_floatMetaFileName)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatMetaFileName'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''floatMetaFileName'') - ignored\n'); end if (~isempty(g_cocs_createMultiProfFlag)) - o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''createMultiProfFlag'') => ignored\n'); + o_logLines{end+1} = sprintf('WARNING: unexpected input argument (''createMultiProfFlag'') - ignored\n'); end end diff --git a/decArgo_soft/soft/util/nc_prof_adj_2_csv.m b/decArgo_soft/soft/util/nc_prof_adj_2_csv.m index 93974580..92d9569f 100644 --- a/decArgo_soft/soft/util/nc_prof_adj_2_csv.m +++ b/decArgo_soft/soft/util/nc_prof_adj_2_csv.m @@ -25,6 +25,7 @@ function nc_prof_adj_2_csv(varargin) % default list of floats to convert FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\provor_6.11_all.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp.txt'; % directory to store the log file DIR_LOG_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\'; @@ -90,7 +91,7 @@ function nc_prof_adj_2_csv(varargin) cFileFlag = 1; nc_prof_adj_2_csv_file(profFilePathName, outputFilePathName, floatNum, COMPARISON_MODE, WRITE_QC_FLAG, cFileFlag); end - + % convert multi-profile b file profFileName = sprintf('%d_Bprof.nc', floatNum); profFilePathName = [ncFileDirRef profFileName]; @@ -112,23 +113,24 @@ function nc_prof_adj_2_csv(varargin) for idFile = 1:length(ncFiles) ncFileName = ncFiles(idFile).name; - if (ncFileName(1) == 'S') - continue - end ncFilePathName = [ncFileDir '/' ncFileName]; outputFileName = [ncFileName(1:end-3) '.csv']; outputFilePathName = [ncFileDir outputFileName]; - cFileFlag = 1; - if (ncFileName(1) == 'B') - cFileFlag = 0; + if (ncFileName(1) == 'S') + nc_prof_adj_2_csv_file_s(ncFilePathName, outputFilePathName, floatNum, COMPARISON_MODE, WRITE_QC_FLAG); + else + cFileFlag = 1; + if (ncFileName(1) == 'B') + cFileFlag = 0; + end + nc_prof_adj_2_csv_file(ncFilePathName, outputFilePathName, floatNum, COMPARISON_MODE, WRITE_QC_FLAG, cFileFlag); end - nc_prof_adj_2_csv_file(ncFilePathName, outputFilePathName, floatNum, COMPARISON_MODE, WRITE_QC_FLAG, cFileFlag); end else fprintf('WARNING: Directory not found: %s\n', ncFileDir); end - + % convert mono-profile aux files ncAuxFileDir = [ncFileDirRef '/auxiliary/profiles/']; @@ -1218,7 +1220,7 @@ function nc_prof_adj_2_csv_file(a_inputPathFileName, a_outputPathFileName, ... format = ''; for idParam = 1:nParam parameterName = strtrim(stationParameters(:, idParam, idP)'); - + if (isempty(parameterName)) continue end @@ -1621,3 +1623,1075 @@ function nc_prof_adj_2_csv_file(a_inputPathFileName, a_outputPathFileName, ... netcdf.close(fCdf); return + +% ------------------------------------------------------------------------------ +% Convert one NetCDF S profile file contents in CSV format. +% +% SYNTAX : +% nc_prof_adj_2_csv_file_s(a_inputPathFileName, a_outputPathFileName, ... +% a_floatNum, a_comparisonFlag, a_writeQcFlag) +% +% INPUT PARAMETERS : +% a_inputPathFileName : input NetCDF file path name +% a_outputPathFileName : output CSV file path name +% a_floatNum : float WMO number +% a_comparisonFlag : if 1, do not print current dates +% a_writeQcFlag : if 1, print parameter QC values +% +% OUTPUT PARAMETERS : +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 10/07/2020 - RNU - creation +% ------------------------------------------------------------------------------ +function nc_prof_adj_2_csv_file_s(a_inputPathFileName, a_outputPathFileName, ... + a_floatNum, a_comparisonFlag, a_writeQcFlag) + +% QC flag values (char) +global g_decArgo_qcStrDef; +global g_decArgo_qcStrUnused2; + + +% input and output file names +[inputPath, inputName, inputExt] = fileparts(a_inputPathFileName); +[outputPath, outputName, outputExt] = fileparts(a_outputPathFileName); +inputFileName = [inputName inputExt]; +ourputFileName = [outputName outputExt]; +fprintf('Converting: %s to %s\n', inputFileName, ourputFileName); + +% list of parameters that have an extra dimension (N_VALUESx) +paramWithExtraDimList = [ ... + {'UV_INTENSITY_NITRATE'} ... + {'NB_SIZE_SPECTRA_PARTICLES'} ... + {'GREY_SIZE_SPECTRA_PARTICLES'} ... + {'BLACK_NB_SIZE_SPECTRA_PARTICLES'} ... + ]; + +% open NetCDF file +fCdf = netcdf.open(a_inputPathFileName, 'NC_NOWRITE'); +if (isempty(fCdf)) + fprintf('ERROR: Unable to open NetCDF input file: %s\n', a_inputPathFileName); + return +end + +% create CSV file +fidOut = fopen(a_outputPathFileName, 'wt'); +if (fidOut == -1) + fprintf('ERROR: Unable to create output file: %s\n', a_outputPathFileName); + return +end + +% dimensions +nProf = -1; +nParam = -1; +nHistory = -1; +nCalib = -1; +dimList = [ ... + {'N_PROF'} ... + {'N_PARAM'} ... + {'N_LEVELS'} ... + {'N_HISTORY'} ... + {'N_CALIB'} ... + ]; +fprintf(fidOut, ' WMO; ----------; ----------; DIMENSION\n'); +for idDim = 1:length(dimList) + if (dim_is_present_dec_argo(fCdf, dimList{idDim})) + [dimName, dimLen] = netcdf.inqDim(fCdf, netcdf.inqDimID(fCdf, dimList{idDim})); + fprintf(fidOut, ' %d; ; ; %s; %d\n', a_floatNum, dimName, dimLen); + if (strcmp(dimName, 'N_PROF')) + nProf = dimLen; + end + if (strcmp(dimName, 'N_PARAM')) + nParam = dimLen; + end + if (strcmp(dimName, 'N_HISTORY')) + nHistory = dimLen; + end + if (strcmp(dimName, 'N_CALIB')) + nCalib = dimLen; + end + end +end +[dimName, dimLength] = dim_is_present2_dec_argo(fCdf, 'N_VALUES'); +for idDim = 1:length(dimName) + fprintf(fidOut, ' %d; ; ; %s; %d\n', a_floatNum, dimName{idDim}, dimLength(idDim)); +end + +% global attributes +globAttList = [ ... + {'title'} ... + {'institution'} ... + {'source'} ... + {'history'} ... + {'references'} ... + {'user_manual_version'} ... + {'Conventions'} ... + {'featureType'} ... + ]; +if (a_comparisonFlag == 1) + globAttList = [ ... + {'title'} ... + {'institution'} ... + {'source'} ... + {'references'} ... + {'user_manual_version'} ... + {'Conventions'} ... + {'featureType'} ... + ]; +end +fprintf(fidOut, ' WMO; ----------; ----------; GLOBAL_ATT\n'); +for idAtt = 1:length(globAttList) + if (global_att_is_present_dec_argo(fCdf, globAttList{idAtt})) + attValue = netcdf.getAtt(fCdf, netcdf.getConstant('NC_GLOBAL'), globAttList{idAtt}); + fprintf(fidOut, ' %d; ; ; %s; %s\n', a_floatNum, globAttList{idAtt}, strtrim(attValue)); + else + fprintf('WARNING: Global attribute %s is missing in file %s\n', ... + globAttList{idAtt}, inputFileName); + end +end + +% file meta-data +varList = [ ... + {'DATA_TYPE'} ... + {'FORMAT_VERSION'} ... + {'HANDBOOK_VERSION'} ... + {'REFERENCE_DATE_TIME'} ... + {'DATE_CREATION'} ... + {'DATE_UPDATE'} ... + ]; +if (a_comparisonFlag == 1) + varList = [ ... + {'DATA_TYPE'} ... + {'FORMAT_VERSION'} ... + {'HANDBOOK_VERSION'} ... + {'REFERENCE_DATE_TIME'} ... + ]; +end +fprintf(fidOut, ' WMO; ----------; ----------; META-DATA\n'); +for idVar = 1:length(varList) + if (var_is_present_dec_argo(fCdf, varList{idVar})) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varList{idVar})); + fprintf(fidOut, ' %d; ; ; %s; %s\n', a_floatNum, varList{idVar}, strtrim(varValue)); + else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varList{idVar}, inputFileName); + end +end + +% profile meta-data +varList = [ ... + {'PLATFORM_NUMBER'} ... + {'PROJECT_NAME'} ... + {'PI_NAME'} ... + {'DATA_CENTRE'} ... + {'DC_REFERENCE'} ... + {'PLATFORM_TYPE'} ... + {'FLOAT_SERIAL_NO'} ... + {'FIRMWARE_VERSION'} ... + {'WMO_INST_TYPE'} ... + ]; +for idVar = 1:length(varList) + if (var_is_present_dec_argo(fCdf, varList{idVar})) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varList{idVar})); + fprintf(fidOut, ' %d; ; ; %s', a_floatNum, varList{idVar}); + for idP = 1:nProf + fprintf(fidOut, '; %s', strtrim(varValue(:, idP)')); + end + fprintf(fidOut, '\n'); + % else + % fprintf('WARNING: Variable %s is missing in file %s\n', ... + % varList{idVar}, inputFileName); + end +end + +varName = 'CYCLE_NUMBER'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + cycleNumber = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'DIRECTION'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + direction = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'PARAMETER_DATA_MODE'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + parameterDataMode = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'JULD'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + julD = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'JULD_QC'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + julDQc = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'JULD_LOCATION'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + julDLocation = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'LATITUDE'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + latitude = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'LONGITUDE'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + longitude = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'POSITION_QC'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + positionQc = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'POSITIONING_SYSTEM'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + positioningSystem = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'STATION_PARAMETERS'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + stationParameters = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'CONFIG_MISSION_NUMBER'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + configMissionNumber = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +sufixList = [{''} {'_STD'} {'_MED'}]; +paramList = []; +for id3 = 1:size(stationParameters, 3) + for id2 = 1:size(stationParameters, 2) + paramName = strtrim(stationParameters(:, id2, id3)'); + if (~isempty(paramName)) + paramList = [paramList {paramName}]; + paramInfo = get_netcdf_param_attributes(paramName); + if (paramInfo.adjAllowed == 1) + paramList = [paramList {[paramName '_ADJUSTED']}]; + end + end + end +end +paramList = unique(paramList); + +if (a_writeQcFlag == 0) + + paramData = []; + paramFormat = []; + paramFillValue = []; + profileParamQc = []; + for idParam = 1:length(paramList) + if (var_is_present_dec_argo(fCdf, paramList{idParam})) + + if ((strncmp(paramList{idParam}, 'RAW_DOWNWELLING_IRRADIANCE', length('RAW_DOWNWELLING_IRRADIANCE')) == 1) || ... + (strncmp(paramList{idParam}, 'RAW_DOWNWELLING_PAR', length('RAW_DOWNWELLING_PAR')) == 1)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, paramList{idParam}), 'double'); + else + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, paramList{idParam})); + end + paramData = [paramData {varValue}]; + varFormat = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, paramList{idParam}), 'C_format'); + if ((strncmp(paramList{idParam}, 'RAW_DOWNWELLING_IRRADIANCE', length('RAW_DOWNWELLING_IRRADIANCE')) == 1) || ... + (strncmp(paramList{idParam}, 'RAW_DOWNWELLING_PAR', length('RAW_DOWNWELLING_PAR')) == 1)) + varFormat = '%u'; + else + varFormat = '%g'; + end + paramFormat = [paramFormat {varFormat}]; + varFillValue = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, paramList{idParam}), '_FillValue'); + paramFillValue = [paramFillValue {varFillValue}]; + else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + paramList{idParam}, inputFileName); + paramData = [paramData '']; + paramFormat = [paramFormat '']; + paramFillValue = [paramFillValue '']; + end + profileParamVarName = ['PROFILE_' paramList{idParam} '_QC']; + if (var_is_present_dec_argo(fCdf, profileParamVarName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, profileParamVarName)); + profileParamQc = [profileParamQc {varValue}]; + else + if (isempty(strfind(paramList{idParam}, '_ADJUSTED'))) + fprintf('WARNING: Variable %s is missing in file %s\n', ... + profileParamVarName, inputFileName); + end + profileParamQc = [profileParamQc {''}]; + end + end + + % profile data + for idP = 1:nProf + fprintf(fidOut, ' WMO; Cy#; N_PROF; PROFILE_META-DATA\n'); + + fprintf(fidOut, ' %d; %d; %d; CONFIG_MISSION_NUMBER; %d\n', ... + a_floatNum, cycleNumber(idP), idP, ... + configMissionNumber(idP)); + fprintf(fidOut, ' %d; %d; %d; CYCLE_NUMBER; %d\n', ... + a_floatNum, cycleNumber(idP), idP, ... + cycleNumber(idP)); + fprintf(fidOut, ' %d; %d; %d; DIRECTION; %c\n', ... + a_floatNum, cycleNumber(idP), idP, ... + direction(idP)); + fprintf(fidOut, ' %d; %d; %d; PARAMETER_DATA_MODE; %s\n', ... + a_floatNum, cycleNumber(idP), idP, ... + parameterDataMode(:, idP)'); + fprintf(fidOut, ' %d; %d; %d; JULD; %s\n', ... + a_floatNum, cycleNumber(idP), idP, ... + julian_2_gregorian_dec_argo(julD(idP))); + fprintf(fidOut, ' %d; %d; %d; JULD_QC; %c\n', ... + a_floatNum, cycleNumber(idP), idP, ... + julDQc(idP)); + fprintf(fidOut, ' %d; %d; %d; JULD_LOCATION; %s\n', ... + a_floatNum, cycleNumber(idP), idP, ... + julian_2_gregorian_dec_argo(julDLocation(idP))); + fprintf(fidOut, ' %d; %d; %d; LATITUDE; %.3f\n', ... + a_floatNum, cycleNumber(idP), idP, ... + latitude(idP)); + fprintf(fidOut, ' %d; %d; %d; LONGITUDE; %.3f\n', ... + a_floatNum, cycleNumber(idP), idP, ... + longitude(idP)); + fprintf(fidOut, ' %d; %d; %d; POSITION_QC; %c\n', ... + a_floatNum, cycleNumber(idP), idP, ... + positionQc(idP)); + fprintf(fidOut, ' %d; %d; %d; POSITIONING_SYSTEM; %s\n', ... + a_floatNum, cycleNumber(idP), idP, ... + strtrim(positioningSystem(:, idP)')); + + fprintf(fidOut, ' %d; %d; %d; STATION_PARAMETERS', ... + a_floatNum, cycleNumber(idP), idP); + for idParam = 1:nParam + parameterName = strtrim(stationParameters(:, idParam, idP)'); + if (isempty(parameterName)) + continue + end + + for idS = 1:length(sufixList) + paramName = [parameterName sufixList{idS}]; + + % PARAM + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + fprintf(fidOut, '; %s', ... + paramName); + else + for id1 = 1:size(dataTmp, 1) + fprintf(fidOut, '; %s', ... + sprintf('%s_%d', paramName, id1)); + end + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + + % PARAM_ADJUSTED + if (~strcmp(paramName, 'PRES_STD') && ... + ~strcmp(paramName, 'MOLAR_DOXY_MED') && ... + ~strcmp(paramName, 'MOLAR_DOXY_STD') && ... + ~strcmp(paramName, 'MTIME_MED') && ... + ~strcmp(paramName, 'MTIME_STD')) + paramInfo = get_netcdf_param_attributes(paramName); + if (~isempty(paramInfo)) + if (paramInfo.adjAllowed == 1) + paramName = [paramName '_ADJUSTED']; + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + fprintf(fidOut, '; %s', ... + paramName); + else + for id1 = 1:size(dataTmp, 1) + fprintf(fidOut, '; %s', ... + sprintf('%s_%d', paramName, id1)); + end + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + end + end + end + end + end + fprintf(fidOut, '\n'); + + fprintf(fidOut, ' %d; %d; %d; PROFILE__QC; ', ... + a_floatNum, cycleNumber(idP), idP); + for idParam = 1:nParam + parameterName = strtrim(stationParameters(:, idParam, idP)'); + if (isempty(parameterName)) + continue + end + + for idS = 1:length(sufixList) + paramName = [parameterName sufixList{idS}]; + + % PARAM + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + profileParamQcTmp = profileParamQc{idF}; + if (~isempty(profileParamQcTmp)) + fprintf(fidOut, '%c; ', ... + profileParamQcTmp(idP)); + dataTmp = paramData{idF}; + if (ismember(parameterName, paramWithExtraDimList)) + for id1 = 2:size(dataTmp, 1) + fprintf(fidOut, '; '); + end + end + else + fprintf(fidOut, '; '); + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + + % PARAM_ADJUSTED + if (~strcmp(paramName, 'PRES_STD') && ... + ~strcmp(paramName, 'MOLAR_DOXY_MED') && ... + ~strcmp(paramName, 'MOLAR_DOXY_STD') && ... + ~strcmp(paramName, 'MTIME_MED') && ... + ~strcmp(paramName, 'MTIME_STD')) + paramInfo = get_netcdf_param_attributes(paramName); + if (paramInfo.adjAllowed == 1) + fprintf(fidOut, '; '); + end + end + end + + if (strcmp(parameterName, 'PRES') || strcmp(parameterName, 'PRES2')) + for idP2 = 1:length(paramList2) + paramName = paramList2{idP2}; + + % PARAM + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + profileParamQcTmp = profileParamQc{idF}; + if (~isempty(profileParamQcTmp)) + fprintf(fidOut, '%c; ', ... + profileParamQcTmp(idP)); + dataTmp = paramData{idF}; + if (ismember(parameterName, paramWithExtraDimList)) + for id1 = 2:size(dataTmp, 1) + fprintf(fidOut, '; '); + end + end + else + fprintf(fidOut, '; '); + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + end + end + end + fprintf(fidOut, '\n'); + + data = []; + dataFillValue = []; + format = ''; + for idParam = 1:nParam + parameterName = strtrim(stationParameters(:, idParam, idP)'); + if (isempty(parameterName)) + continue + end + + for idS = 1:length(sufixList) + paramName = [parameterName sufixList{idS}]; + + % PARAM + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + data = [data double(dataTmp(:, idP))]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + else + if (ndims(dataTmp) == 2) % when N_PROF = 1 + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + else + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :, idP)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + end + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + + % PARAM_ADJUSTED + if (~strcmp(paramName, 'PRES_STD') && ... + ~strcmp(paramName, 'MOLAR_DOXY_MED') && ... + ~strcmp(paramName, 'MOLAR_DOXY_STD') && ... + ~strcmp(paramName, 'MTIME_MED') && ... + ~strcmp(paramName, 'MTIME_STD')) + paramInfo = get_netcdf_param_attributes(paramName); + if (paramInfo.adjAllowed == 1) + paramName = [paramName '_ADJUSTED']; + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + data = [data double(dataTmp(:, idP))]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + else + if (ndims(dataTmp) == 2) % when N_PROF = 1 + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + else + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :, idP)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + end + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + end + end + end + + if (strcmp(parameterName, 'PRES') || strcmp(parameterName, 'PRES2')) + for idP2 = 1:length(paramList2) + paramName = paramList2{idP2}; + + % PARAM + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + data = [data double(dataTmp(:, idP))]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + else + if (ndims(dataTmp) == 2) % when N_PROF = 1 + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + else + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :, idP)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + end + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + end + end + end + + fprintf(fidOut, ' WMO; Cy#; N_PROF; PROFILE_MEAS\n'); + for idLev = 1:size(data, 1) + if (sum(data(idLev, :) == dataFillValue) ~= size(data, 2)) + fprintf(fidOut, ' %d; %d; %d; MEAS #%d', ... + a_floatNum, cycleNumber(idP), idP, idLev); + fprintf(fidOut, format, ... + data(idLev, :)); + fprintf(fidOut, '\n'); + end + end + + end +else + + paramData = []; + paramDataQc = []; + paramFormat = []; + paramFillValue = []; + profileParamQc = []; + for idParam = 1:length(paramList) + if (var_is_present_dec_argo(fCdf, paramList{idParam})) + + if ((strncmp(paramList{idParam}, 'RAW_DOWNWELLING_IRRADIANCE', length('RAW_DOWNWELLING_IRRADIANCE')) == 1) || ... + (strncmp(paramList{idParam}, 'RAW_DOWNWELLING_PAR', length('RAW_DOWNWELLING_PAR')) == 1)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, paramList{idParam}), 'double'); + else + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, paramList{idParam})); + end + paramData = [paramData {varValue}]; + varFormat = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, paramList{idParam}), 'C_format'); + if ((strncmp(paramList{idParam}, 'RAW_DOWNWELLING_IRRADIANCE', length('RAW_DOWNWELLING_IRRADIANCE')) == 1) || ... + (strncmp(paramList{idParam}, 'RAW_DOWNWELLING_PAR', length('RAW_DOWNWELLING_PAR')) == 1)) + varFormat = '%u'; + else + varFormat = '%g'; + end + paramFormat = [paramFormat {varFormat}]; + varFillValue = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, paramList{idParam}), '_FillValue'); + paramFillValue = [paramFillValue {varFillValue}]; + + varQcValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, [paramList{idParam} '_QC'])); + paramDataQc = [paramDataQc {varQcValue}]; + else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + paramList{idParam}, inputFileName); + + paramData = [paramData '']; + paramFormat = [paramFormat '']; + paramFillValue = [paramFillValue '']; + paramDataQc = [paramDataQc '']; + end + profileParamVarName = ['PROFILE_' paramList{idParam} '_QC']; + if (var_is_present_dec_argo(fCdf, profileParamVarName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, profileParamVarName)); + profileParamQc = [profileParamQc {varValue}]; + else + if (isempty(strfind(paramList{idParam}, '_ADJUSTED'))) + fprintf('WARNING: Variable %s is missing in file %s\n', ... + profileParamVarName, inputFileName); + end + profileParamQc = [profileParamQc {''}]; + end + end + + % profile data + for idP = 1:nProf + fprintf(fidOut, ' WMO; Cy#; N_PROF; PROFILE_META-DATA\n'); + + fprintf(fidOut, ' %d; %d; %d; CONFIG_MISSION_NUMBER; %d\n', ... + a_floatNum, cycleNumber(idP), idP, ... + configMissionNumber(idP)); + fprintf(fidOut, ' %d; %d; %d; CYCLE_NUMBER; %d\n', ... + a_floatNum, cycleNumber(idP), idP, ... + cycleNumber(idP)); + fprintf(fidOut, ' %d; %d; %d; DIRECTION; %c\n', ... + a_floatNum, cycleNumber(idP), idP, ... + direction(idP)); + fprintf(fidOut, ' %d; %d; %d; PARAMETER_DATA_MODE; %s\n', ... + a_floatNum, cycleNumber(idP), idP, ... + parameterDataMode(:, idP)'); + fprintf(fidOut, ' %d; %d; %d; JULD; %s\n', ... + a_floatNum, cycleNumber(idP), idP, ... + julian_2_gregorian_dec_argo(julD(idP))); + fprintf(fidOut, ' %d; %d; %d; JULD_QC; %c\n', ... + a_floatNum, cycleNumber(idP), idP, ... + julDQc(idP)); + fprintf(fidOut, ' %d; %d; %d; JULD_LOCATION; %s\n', ... + a_floatNum, cycleNumber(idP), idP, ... + julian_2_gregorian_dec_argo(julDLocation(idP))); + fprintf(fidOut, ' %d; %d; %d; LATITUDE; %.3f\n', ... + a_floatNum, cycleNumber(idP), idP, ... + latitude(idP)); + fprintf(fidOut, ' %d; %d; %d; LONGITUDE; %.3f\n', ... + a_floatNum, cycleNumber(idP), idP, ... + longitude(idP)); + fprintf(fidOut, ' %d; %d; %d; POSITION_QC; %c\n', ... + a_floatNum, cycleNumber(idP), idP, ... + positionQc(idP)); + fprintf(fidOut, ' %d; %d; %d; POSITIONING_SYSTEM; %s\n', ... + a_floatNum, cycleNumber(idP), idP, ... + strtrim(positioningSystem(:, idP)')); + + fprintf(fidOut, ' %d; %d; %d; STATION_PARAMETERS', ... + a_floatNum, cycleNumber(idP), idP); + for idParam = 1:nParam + parameterName = strtrim(stationParameters(:, idParam, idP)'); + if (isempty(parameterName)) + continue + end + + for idS = 1:length(sufixList) + paramName = [parameterName sufixList{idS}]; + + % PARAM + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + fprintf(fidOut, '; %s', ... + paramName); + else + for id1 = 1:size(dataTmp, 1) + fprintf(fidOut, '; %s', ... + sprintf('%s_%d', paramName, id1)); + end + end + fprintf(fidOut, '; QC'); + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + + % PARAM_ADJUSTED + if (~strcmp(paramName, 'PRES_STD') && ... + ~strcmp(paramName, 'MOLAR_DOXY_MED') && ... + ~strcmp(paramName, 'MOLAR_DOXY_STD') && ... + ~strcmp(paramName, 'MTIME_MED') && ... + ~strcmp(paramName, 'MTIME_STD')) + paramInfo = get_netcdf_param_attributes(paramName); + if (~isempty(paramInfo)) + if (paramInfo.adjAllowed == 1) + paramName = [paramName '_ADJUSTED']; + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + fprintf(fidOut, '; %s', ... + paramName); + else + for id1 = 1:size(dataTmp, 1) + fprintf(fidOut, '; %s', ... + sprintf('%s_%d', paramName, id1)); + end + end + fprintf(fidOut, '; QC'); + else + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + end + end + end + end + end + fprintf(fidOut, '\n'); + + fprintf(fidOut, ' %d; %d; %d; PROFILE__QC; ', ... + a_floatNum, cycleNumber(idP), idP); + for idParam = 1:nParam + parameterName = strtrim(stationParameters(:, idParam, idP)'); + if (isempty(parameterName)) + continue + end + + for idS = 1:length(sufixList) + paramName = [parameterName sufixList{idS}]; + + % PARAM + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + profileParamQcTmp = profileParamQc{idF}; + if (~isempty(profileParamQcTmp)) + fprintf(fidOut, '%c; ', ... + profileParamQcTmp(idP)); + dataTmp = paramData{idF}; + if (ismember(parameterName, paramWithExtraDimList)) + for id1 = 2:size(dataTmp, 1) + fprintf(fidOut, '; '); + end + end + fprintf(fidOut, '; '); + else + fprintf(fidOut, '; '); + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + + % PARAM_ADJUSTED + if (~strcmp(paramName, 'PRES_STD') && ... + ~strcmp(paramName, 'MOLAR_DOXY_MED') && ... + ~strcmp(paramName, 'MOLAR_DOXY_STD') && ... + ~strcmp(paramName, 'MTIME_MED') && ... + ~strcmp(paramName, 'MTIME_STD')) + paramInfo = get_netcdf_param_attributes(paramName); + if (~isempty(paramInfo)) + if (paramInfo.adjAllowed == 1) + fprintf(fidOut, '; ; '); + end + end + end + end + end + fprintf(fidOut, '\n'); + + data = []; + dataFillValue = []; + format = ''; + for idParam = 1:nParam + parameterName = strtrim(stationParameters(:, idParam, idP)'); + + if (isempty(parameterName)) + continue + end + + for idS = 1:length(sufixList) + paramName = [parameterName sufixList{idS}]; + + % PARAM + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + data = [data double(dataTmp(:, idP))]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + else + if (ndims(dataTmp) == 2) % when N_PROF = 1 + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + else + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :, idP)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + end + end + dataQcTmp = paramDataQc{idF}; + if (~isempty(dataQcTmp)) + dataQcTmp = dataQcTmp(:, idP); + dataQcTmp(find(dataQcTmp == g_decArgo_qcStrDef)) = g_decArgo_qcStrUnused2; + dataQcTmp = str2num(dataQcTmp); + dataQcTmp(find(dataQcTmp == str2num(g_decArgo_qcStrUnused2))) = -1; + data = [data double(dataQcTmp)]; + dataFillValue = [dataFillValue -1]; + format = [format '; ' '%d']; + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + + % PARAM_ADJUSTED + if (~strcmp(paramName, 'PRES_STD') && ... + ~strcmp(paramName, 'MOLAR_DOXY_MED') && ... + ~strcmp(paramName, 'MOLAR_DOXY_STD') && ... + ~strcmp(paramName, 'MTIME_MED') && ... + ~strcmp(paramName, 'MTIME_STD')) + paramInfo = get_netcdf_param_attributes(paramName); + if (~isempty(paramInfo)) + if (paramInfo.adjAllowed == 1) + paramName = [paramName '_ADJUSTED']; + idF = find(strcmp(paramList, paramName) == 1, 1); + if (~isempty(idF)) + dataTmp = paramData{idF}; + if (~ismember(parameterName, paramWithExtraDimList)) + data = [data double(dataTmp(:, idP))]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + else + if (ndims(dataTmp) == 2) % when N_PROF = 1 + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + else + for id1 = 1:size(dataTmp, 1) + data = [data double(dataTmp(id1, :, idP)')]; + dataFillValue = [dataFillValue paramFillValue{idF}]; + format = [format '; ' paramFormat{idF}]; + end + end + end + dataQcTmp = paramDataQc{idF}; + if (~isempty(dataQcTmp)) + dataQcTmp = dataQcTmp(:, idP); + dataQcTmp(find(dataQcTmp == g_decArgo_qcStrDef)) = g_decArgo_qcStrUnused2; + dataQcTmp = str2num(dataQcTmp); + dataQcTmp(find(dataQcTmp == str2num(g_decArgo_qcStrUnused2))) = -1; + data = [data double(dataQcTmp)]; + dataFillValue = [dataFillValue -1]; + format = [format '; ' '%d']; + end + elseif (idS == 1) + fprintf('ERROR: Variable %s is missing in file %s\n', ... + paramName, inputFileName); + end + end + end + end + end + end + + fprintf(fidOut, ' WMO; Cy#; N_PROF; PROFILE_MEAS\n'); + for idLev = 1:size(data, 1) + if (sum(data(idLev, :) == dataFillValue) ~= size(data, 2)) + fprintf(fidOut, ' %d; %d; %d; MEAS #%d', ... + a_floatNum, cycleNumber(idP), idP, idLev); + fprintf(fidOut, format, ... + data(idLev, :)); + fprintf(fidOut, '\n'); + end + end + + end +end + +varName = 'PARAMETER'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + parameter = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'SCIENTIFIC_CALIB_EQUATION'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + scientificCalibEquation = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'SCIENTIFIC_CALIB_COEFFICIENT'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + scientificCalibCoefficient = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'SCIENTIFIC_CALIB_COMMENT'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + scientificCalibComment = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +varName = 'SCIENTIFIC_CALIB_DATE'; +if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + scientificCalibDate = varValue; +else + fprintf('WARNING: Variable %s is missing in file %s\n', ... + varName, inputFileName); +end + +% calibration information +fprintf(fidOut, ' WMO; N_PROF; N_CALIB; CALIB_DATA\n'); +for idP = 1:nProf + for idC = 1:nCalib + fprintf(fidOut, ' %d; %d; %d; PARAMETER', ... + a_floatNum, idP, idC); + for idParam = 1:nParam + fprintf(fidOut, '; %s', ... + strtrim(parameter(:, idParam, idC, idP)')); + end + fprintf(fidOut, '\n'); + + fprintf(fidOut, ' %d; %d; %d; SCIENTIFIC_CALIB_EQUATION', ... + a_floatNum, idP, idC); + for idParam = 1:nParam + fprintf(fidOut, '; %s', ... + strtrim(scientificCalibEquation(:, idParam, idC, idP)')); + end + fprintf(fidOut, '\n'); + + fprintf(fidOut, ' %d; %d; %d; SCIENTIFIC_CALIB_COEFFICIENT', ... + a_floatNum, idP, idC); + for idParam = 1:nParam + fprintf(fidOut, '; %s', ... + strtrim(scientificCalibCoefficient(:, idParam, idC, idP)')); + end + fprintf(fidOut, '\n'); + + fprintf(fidOut, ' %d; %d; %d; SCIENTIFIC_CALIB_COMMENT', ... + a_floatNum, idP, idC); + for idParam = 1:nParam + fprintf(fidOut, '; %s', ... + strtrim(scientificCalibComment(:, idParam, idC, idP)')); + end + fprintf(fidOut, '\n'); + + fprintf(fidOut, ' %d; %d; %d; SCIENTIFIC_CALIB_DATE', ... + a_floatNum, idP, idC); + for idParam = 1:nParam + fprintf(fidOut, '; %s', ... + strtrim(scientificCalibDate(:, idParam, idC, idP)')); + end + fprintf(fidOut, '\n'); + end +end + +fclose(fidOut); + +netcdf.close(fCdf); + +return diff --git a/decArgo_soft/soft/util/nc_trace_cycle_times.m b/decArgo_soft/soft/util/nc_trace_cycle_times.m index 2a6ebfbc..0d1444e7 100644 --- a/decArgo_soft/soft/util/nc_trace_cycle_times.m +++ b/decArgo_soft/soft/util/nc_trace_cycle_times.m @@ -42,6 +42,7 @@ function nc_trace_cycle_times(varargin) FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_arvor_deep_215_216_218_grounded.txt'; FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nemo_collecte_v2.txt'; FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_iridium-rudics_2.13.1.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_apx_rudics.txt'; fprintf('Plot management:\n'); fprintf(' Right Arrow : next float\n'); @@ -996,7 +997,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xSurface1 = g_NTCT_Surface1_juld(a_idCycle+1, :); ySurface1 = g_NTCT_Surface1_pres(a_idCycle+1, :); -idDel = find((xSurface1 == g_dateDef) & (ySurface1 == g_presDef)); +idDel = find((xSurface1 == g_dateDef) | (ySurface1 == g_presDef)); xSurface1(idDel) = []; ySurface1(idDel) = []; if (~isempty(xSurface1)) @@ -1006,7 +1007,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xDescProf = g_NTCT_DescProf_juld(a_idCycle+1, :); yDescProf = g_NTCT_DescProf_pres(a_idCycle+1, :); -idDel = find((xDescProf == g_dateDef) & (yDescProf == g_presDef)); +idDel = find((xDescProf == g_dateDef) | (yDescProf == g_presDef)); xDescProf(idDel) = []; yDescProf(idDel) = []; if (~isempty(xDescProf)) @@ -1016,7 +1017,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xDriftAtPark1 = g_NTCT_DriftAtPark1_juld(a_idCycle+1, :); yDriftAtPark1 = g_NTCT_DriftAtPark1_pres(a_idCycle+1, :); -idDel = find((xDriftAtPark1 == g_dateDef) & (yDriftAtPark1 == g_presDef)); +idDel = find((xDriftAtPark1 == g_dateDef) | (yDriftAtPark1 == g_presDef)); xDriftAtPark1(idDel) = []; yDriftAtPark1(idDel) = []; if (~isempty(xDriftAtPark1)) @@ -1026,7 +1027,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xDriftAtPark = g_NTCT_DriftAtPark_juld(a_idCycle+1, :); yDriftAtPark = g_NTCT_DriftAtPark_pres(a_idCycle+1, :); -idDel = find((xDriftAtPark == g_dateDef) & (yDriftAtPark == g_presDef)); +idDel = find((xDriftAtPark == g_dateDef) | (yDriftAtPark == g_presDef)); xDriftAtPark(idDel) = []; yDriftAtPark(idDel) = []; if (~isempty(xDriftAtPark)) @@ -1036,7 +1037,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xDesc2Prof1 = g_NTCT_Desc2Prof1_juld(a_idCycle+1, :); yDesc2Prof1 = g_NTCT_Desc2Prof1_pres(a_idCycle+1, :); -idDel = find((xDesc2Prof1 == g_dateDef) & (yDesc2Prof1 == g_presDef)); +idDel = find((xDesc2Prof1 == g_dateDef) | (yDesc2Prof1 == g_presDef)); xDesc2Prof1(idDel) = []; yDesc2Prof1(idDel) = []; if (~isempty(xDesc2Prof1)) @@ -1046,7 +1047,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xDesc2Prof2 = g_NTCT_Desc2Prof2_juld(a_idCycle+1, :); yDesc2Prof2 = g_NTCT_Desc2Prof2_pres(a_idCycle+1, :); -idDel = find((xDesc2Prof2 == g_dateDef) & (yDesc2Prof2 == g_presDef)); +idDel = find((xDesc2Prof2 == g_dateDef) | (yDesc2Prof2 == g_presDef)); xDesc2Prof2(idDel) = []; yDesc2Prof2(idDel) = []; if (~isempty(xDesc2Prof2)) @@ -1056,7 +1057,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xAscProf = g_NTCT_AscProf_juld(a_idCycle+1, :); yAscProf = g_NTCT_AscProf_pres(a_idCycle+1, :); -idDel = find((xAscProf == g_dateDef) & (yAscProf == g_presDef)); +idDel = find((xAscProf == g_dateDef) | (yAscProf == g_presDef)); xAscProf(idDel) = []; yAscProf(idDel) = []; if (~isempty(xAscProf)) @@ -1066,7 +1067,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xNearSurfaceSeriesOfMeas = g_NTCT_NearSurfaceSeriesOfMeas_juld(a_idCycle+1, :); yNearSurfaceSeriesOfMeas = g_NTCT_NearSurfaceSeriesOfMeas_pres(a_idCycle+1, :); -idDel = find((xNearSurfaceSeriesOfMeas == g_dateDef) & (yNearSurfaceSeriesOfMeas == g_presDef)); +idDel = find((xNearSurfaceSeriesOfMeas == g_dateDef) | (yNearSurfaceSeriesOfMeas == g_presDef)); xNearSurfaceSeriesOfMeas(idDel) = []; yNearSurfaceSeriesOfMeas(idDel) = []; if (~isempty(xNearSurfaceSeriesOfMeas)) @@ -1076,7 +1077,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xInAirSeriesOfMeas = g_NTCT_InAirSeriesOfMeas_juld(a_idCycle+1, :); yInAirSeriesOfMeas = g_NTCT_InAirSeriesOfMeas_pres(a_idCycle+1, :); -idDel = find((xInAirSeriesOfMeas == g_dateDef) & (yInAirSeriesOfMeas == g_presDef)); +idDel = find((xInAirSeriesOfMeas == g_dateDef) | (yInAirSeriesOfMeas == g_presDef)); xInAirSeriesOfMeas(idDel) = []; yInAirSeriesOfMeas(idDel) = []; if (~isempty(xInAirSeriesOfMeas)) @@ -1086,7 +1087,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xSpyInDescToPark = g_NTCT_SpyInDescToPark_juld(a_idCycle+1, :); ySpyInDescToPark = g_NTCT_SpyInDescToPark_pres(a_idCycle+1, :); -idDel = find((xSpyInDescToPark == g_dateDef) & (ySpyInDescToPark == g_presDef)); +idDel = find((xSpyInDescToPark == g_dateDef) | (ySpyInDescToPark == g_presDef)); xSpyInDescToPark(idDel) = []; ySpyInDescToPark(idDel) = []; if (~isempty(xSpyInDescToPark)) @@ -1102,7 +1103,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xSpyAtPark = g_NTCT_SpyAtPark_juld(a_idCycle+1, :); ySpyAtPark = g_NTCT_SpyAtPark_pres(a_idCycle+1, :); -idDel = find((xSpyAtPark == g_dateDef) & (ySpyAtPark == g_presDef)); +idDel = find((xSpyAtPark == g_dateDef) | (ySpyAtPark == g_presDef)); xSpyAtPark(idDel) = []; ySpyAtPark(idDel) = []; if (~isempty(xSpyAtPark)) @@ -1118,7 +1119,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xSpyInDescToProf = g_NTCT_SpyInDescToProf_juld(a_idCycle+1, :); ySpyInDescToProf = g_NTCT_SpyInDescToProf_pres(a_idCycle+1, :); -idDel = find((xSpyInDescToProf == g_dateDef) & (ySpyInDescToProf == g_presDef)); +idDel = find((xSpyInDescToProf == g_dateDef) | (ySpyInDescToProf == g_presDef)); xSpyInDescToProf(idDel) = []; ySpyInDescToProf(idDel) = []; if (~isempty(xSpyInDescToProf)) @@ -1134,7 +1135,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xSpyAtProf = g_NTCT_SpyAtProf_juld(a_idCycle+1, :); ySpyAtProf = g_NTCT_SpyAtProf_pres(a_idCycle+1, :); -idDel = find((xSpyAtProf == g_dateDef) & (ySpyAtProf == g_presDef)); +idDel = find((xSpyAtProf == g_dateDef) | (ySpyAtProf == g_presDef)); xSpyAtProf(idDel) = []; ySpyAtProf(idDel) = []; if (~isempty(xSpyAtProf)) @@ -1150,7 +1151,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xSpyInAscProf = g_NTCT_SpyInAscProf_juld(a_idCycle+1, :); ySpyInAscProf = g_NTCT_SpyInAscProf_pres(a_idCycle+1, :); -idDel = find((xSpyInAscProf == g_dateDef) & (ySpyInAscProf == g_presDef)); +idDel = find((xSpyInAscProf == g_dateDef) | (ySpyInAscProf == g_presDef)); xSpyInAscProf(idDel) = []; ySpyInAscProf(idDel) = []; firstSurfDate = g_dateDef; @@ -1215,7 +1216,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xSurface2 = g_NTCT_Surface2_juld(a_idCycle+1, :); ySurface2 = g_NTCT_Surface2_pres(a_idCycle+1, :); -idDel = find((xSurface2 == g_dateDef) & (ySurface2 == g_presDef)); +idDel = find((xSurface2 == g_dateDef) | (ySurface2 == g_presDef)); xSurface2(idDel) = []; ySurface2(idDel) = []; if (~isempty(xSurface2)) @@ -1225,7 +1226,7 @@ function plot_cycle_times(a_idFloat, a_idCycle, a_reload) xGrounded = g_NTCT_Grounded_flag_juld(a_idCycle+1, :); yGrounded = g_NTCT_Grounded_flag_pres(a_idCycle+1, :); -idDel = find((xGrounded == g_dateDef) & (yGrounded == g_presDef)); +idDel = find((xGrounded == g_dateDef) | (yGrounded == g_presDef)); xGrounded(idDel) = []; yGrounded(idDel) = []; if (~isempty(xGrounded)) diff --git a/decArgo_soft/soft/util/nc_trace_times.m b/decArgo_soft/soft/util/nc_trace_times.m index 684967c9..8c69ad46 100644 --- a/decArgo_soft/soft/util/nc_trace_times.m +++ b/decArgo_soft/soft/util/nc_trace_times.m @@ -359,7 +359,7 @@ function plot_times(a_idFloat, a_downOrUp, a_reload) % end % end if (cycleTimeMeta == -1) - fprintf('ERROR: Unable to retrieve CONFIG_CycleTime_days from meta file (%s) => CONFIG_CycleTime_days set to 10\n', ... + fprintf('ERROR: Unable to retrieve CONFIG_CycleTime_days from meta file (%s) - CONFIG_CycleTime_days set to 10\n', ... metaFileName); cycleTimeMeta = 10; diff --git a/decArgo_soft/soft/util/nc_trace_times_bis.m b/decArgo_soft/soft/util/nc_trace_times_bis.m index 7feb6737..402c6131 100644 --- a/decArgo_soft/soft/util/nc_trace_times_bis.m +++ b/decArgo_soft/soft/util/nc_trace_times_bis.m @@ -48,6 +48,7 @@ function nc_trace_times_bis(varargin) FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_TRAJ_DM_test.txt'; FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\test_doxy_adj_err_5.46_5.74.txt'; FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_iridium-rudics_2.13.1.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_apx_rudics.txt'; % display help information on available commands display_help; @@ -406,7 +407,7 @@ function plot_times(a_idFloat, a_downOrUp, a_reload) % end % end if (cycleTimeMeta == -1) - fprintf('ERROR: Unable to retrieve CONFIG_CycleTime_days from meta file (%s) => CONFIG_CycleTime_days set to 10\n', ... + fprintf('ERROR: Unable to retrieve CONFIG_CycleTime_days from meta file (%s) - CONFIG_CycleTime_days set to 10\n', ... metaFileName); cycleTimeMeta = 10; diff --git a/decArgo_soft/soft/util/nc_traj_adj_2_csv.m b/decArgo_soft/soft/util/nc_traj_adj_2_csv.m index c36b9ffd..ff043904 100644 --- a/decArgo_soft/soft/util/nc_traj_adj_2_csv.m +++ b/decArgo_soft/soft/util/nc_traj_adj_2_csv.m @@ -45,14 +45,15 @@ function nc_traj_adj_2_csv(varargin) % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_argos_all.txt'; % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_info\DerivedParameters\DOXY\refonte_DO_201809\test_modifs\lists\nke_cts5.txt'; % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nke_212.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nke_214.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nke_214.txt'; % FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nke_216.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nke_217.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_iridium-rudics_2.11.3.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\provor_6.11_all.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_TRAJ_DM_test.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_iridium-rudics_2.13.1.txt'; -FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_DATA\TRAJ_DM\ANDRO_2019\listes\provor_arvor_iridium_189.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_nke_217.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_iridium-rudics_2.11.3.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\provor_6.11_all.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_TRAJ_DM_test.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_apf11_iridium-rudics_2.13.1.txt'; +% FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_DATA\TRAJ_DM\ANDRO_2019\listes\provor_arvor_iridium_189.txt'; +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp.txt'; % directory to store the log file DIR_LOG_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\'; @@ -106,6 +107,7 @@ function nc_traj_adj_2_csv(varargin) % convert trajectory file ncFiles = dir([ncFileDir sprintf('%d_*traj.nc', floatNum)]); +% ncFiles = dir([ncFileDir sprintf('%d_Rtraj.nc', floatNum)]); for idFile = 1:length(ncFiles) ncFileName = ncFiles(idFile).name; diff --git a/decArgo_soft/soft/util/nc_update_argo_format_set_measurement_code_06ab.m b/decArgo_soft/soft/util/nc_update_argo_format_set_measurement_code_06ab.m new file mode 100644 index 00000000..60ee0d09 --- /dev/null +++ b/decArgo_soft/soft/util/nc_update_argo_format_set_measurement_code_06ab.m @@ -0,0 +1,865 @@ +% ---------- -------------------------------------------------------------------- +% Update the Argo format of NetCDF files. +% +% SYNTAX : +% nc_update_argo_format_set_measurement_code_06ab or +% nc_update_argo_format_set_measurement_code_06ab(6900189, 7900118) +% +% INPUT PARAMETERS : +% varargin : WMO number of floats to process +% +% OUTPUT PARAMETERS : +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 06/10/2016 - RNU - V 06aa: replace MC = 1099 by MC = 1090 in the traj files +% (in MEASUREMENT_CODE but also in the +% "comment_on_resolution" attribute of JULD and +% JULD_ADJUSTED parameters and in the +% "comment_on_measurement_code" global attribute) +% 27/10/2020 - RNU - V 06ab: replace MC = 290 by MC = 289 in the traj files of +% Apex APF9 Argos +% (in MEASUREMENT_CODE but also in the +% "comment_on_resolution" attribute of JULD and +% JULD_ADJUSTED parameters and in the +% "comment_on_measurement_code" global attribute) +% ------------------------------------------------------------------------------ +function nc_update_argo_format_set_measurement_code_06ab(varargin) + +% list of floats to process (if empty, all encountered files will be checked) +FLOAT_LIST_FILE_NAME = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\_apex_argos_all.txt'; +FLOAT_LIST_FILE_NAME = ''; + +% top directory of NetCDF files to update +% (expected path to NetCDF files: DIR_INPUT_OUTPUT_NC_FILES\dac_name\wmo_number) +DIR_INPUT_OUTPUT_NC_FILES = 'C:\Users\jprannou\_DATA\OUT\test_update_format_conf\'; + +% temporary directory used to update the files +DIR_TMP = 'C:\Users\jprannou\_DATA\IN\dac_executif\tmp\'; + +% directory to store the log file +DIR_LOG_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\log\'; + +% directory to store the XML file +DIR_XML_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\xml\'; + +% program version +global g_couf_ncUpdateArgoFormatVersion; +g_couf_ncUpdateArgoFormatVersion = '06ab'; + +% DOM node of XML report +global g_couf_xmlReportDOMNode; + +% report information structure +global g_couf_floatNum; +global g_couf_reportData; +g_couf_reportData = []; +g_couf_reportData.trajFile = []; +g_couf_reportData.float = []; + + +% store the start time of the run +currentTime = datestr(now, 'yyyymmddTHHMMSSZ'); + +% startTime +ticStartTime = tic; + +try + + % init the XML report + init_xml_report(currentTime); + + % input parameters management + floatList = []; + if (nargin == 0) + if (~isempty(FLOAT_LIST_FILE_NAME)) + floatListFileName = FLOAT_LIST_FILE_NAME; + + % floats to process come from floatListFileName + if ~(exist(floatListFileName, 'file') == 2) + fprintf('ERROR: File not found: %s\n', floatListFileName); + return + end + + fprintf('Floats from list: %s\n', floatListFileName); + floatList = load(floatListFileName); + end + else + % floats to process come from input parameters + floatList = cell2mat(varargin); + end + + + % create a temporary directory for this run + tmpDir = [DIR_TMP '/' 'nc_update_argo_format_set_measurement_code_06ab_' currentTime]; + status = mkdir(tmpDir); + if (status ~= 1) + fprintf('ERROR: cannot create temporary directory (%s)\n', tmpDir); + end + + % create and start log file recording + logFile = [DIR_LOG_FILE '/' 'nc_update_argo_format_set_measurement_code_06ab_' currentTime '.log']; + diary(logFile); + + dacDir = dir(DIR_INPUT_OUTPUT_NC_FILES); + for idDir = 1:length(dacDir) + + dacDirName = dacDir(idDir).name; + dacDirPathName = [DIR_INPUT_OUTPUT_NC_FILES '/' dacDirName]; + if ((exist(dacDirPathName, 'dir') == 7) && ~strcmp(dacDirName, '.') && ~strcmp(dacDirName, '..')) + + fprintf('\nProcessing directory: %s\n', dacDirName); + + floatNum = 1; + floatDir = dir(dacDirPathName); + for idDir2 = 1:length(floatDir) + + floatDirName = floatDir(idDir2).name; + floatDirPathName = [dacDirPathName '/' floatDirName]; + if ((exist(floatDirPathName, 'dir') == 7) && ~strcmp(floatDirName, '.') && ~strcmp(floatDirName, '..')) + + [floatWmo, status] = str2num(floatDirName); + if (status == 1) + + if ((isempty(floatList)) || (~isempty(floatList) && ismember(floatWmo, floatList))) + + g_couf_floatNum = floatWmo; + fprintf('%03d/%03d %d\n', floatNum, length(floatDir)-2, floatWmo); + + % trajectory files + floatFiles = dir([floatDirPathName '/' sprintf('%d_*traj.nc', floatWmo)]); + for idFile = 1:length(floatFiles) + + floatFileName = floatFiles(idFile).name; + floatFilePathName = [floatDirPathName '/' floatFileName]; + if (exist(floatFilePathName, 'file') == 2) + process_nc_file(floatFilePathName, tmpDir); + end + end + + floatNum = floatNum + 1; + end + end + end + end + end + end + + % remove the temporary directory of this run + [status, message, messageid] = rmdir(tmpDir,'s'); + if (status ~= 1) + fprintf('ERROR: cannot remove temporary directory (%s)\n', tmpDir); + end + + diary off; + + % finalize XML report + [status] = finalize_xml_report(ticStartTime, logFile, []); + +catch + + diary off; + + % finalize XML report + [status] = finalize_xml_report(ticStartTime, logFile, lasterror); + +end + +% create the XML report path file name +xmlFileName = [DIR_XML_FILE '/co041405_' currentTime '.xml']; + +% save the XML report +xmlwrite(xmlFileName, g_couf_xmlReportDOMNode); +% if (strcmp(status, 'nok') == 1) +% edit(xmlFileName); +% end + +return + +% ------------------------------------------------------------------------------ +% Process one NetCDF file. +% +% SYNTAX : +% process_nc_file(a_ncPathFileName, a_tmpDir) +% +% INPUT PARAMETERS : +% a_ncPathFileName : name of the file to process +% a_tmpDir : available temporary directory +% +% OUTPUT PARAMETERS : +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 12/15/2015 - RNU - creation +% ------------------------------------------------------------------------------ +function process_nc_file(a_ncPathFileName, a_tmpDir) + +% report information structure +global g_couf_floatNum; +global g_couf_reportData; + + +if (exist(a_ncPathFileName, 'file') == 2) + + % get information to see if the file should be updated + updateNeeded = 0; + wantedInputVars = [ ... + {'FORMAT_VERSION'} ... + {'MEASUREMENT_CODE'} ... + ]; + [varList] = get_var_from_nc_file(a_ncPathFileName, wantedInputVars); + if (~isempty(varList)) + + idVal = find(strcmp('FORMAT_VERSION', varList(1:3:end)) == 1, 1); + formatVersion = strtrim(varList{3*idVal-1}'); + if (strcmp(formatVersion, '3.1')) + + idVal = find(strcmp('MEASUREMENT_CODE', varList(1:3:end)) == 1, 1); + measCode = varList{3*idVal-1}; + if (any(find(measCode == 290))) + updateNeeded = 1; + end + end + end + + % update the file + if (updateNeeded == 1) + + fprintf('File to update: %s\n', a_ncPathFileName); + + % make a copy of the file in the temporary directory + [~, fileName, fileExt] = fileparts(a_ncPathFileName); + fileToUpdate = [a_tmpDir '/' fileName fileExt]; + [status] = copyfile(a_ncPathFileName, fileToUpdate); + if (status == 1) + + % update the file + ok = update_file(fileToUpdate); + + if (ok == 1) + + % move the updated file + [status, message, messageid] = movefile(fileToUpdate, a_ncPathFileName); + if (status ~= 1) + fprintf('ERROR: cannot move file to update (%s) to replace input file (%s)\n', fileToUpdate, a_ncPathFileName); + return + end + + % store the information for the XML report + g_couf_reportData.trajFile = [g_couf_reportData.trajFile {a_ncPathFileName}]; + g_couf_reportData.float = [g_couf_reportData.float g_couf_floatNum]; + + end + else + fprintf('ERROR: cannot copy file to update (%s) to temporary directory (%s)\n', a_ncPathFileName, a_tmpDir); + end + end +end + +return + +% ------------------------------------------------------------------------------ +% Update one NetCDF file. +% +% SYNTAX : +% [o_ok] = update_file(a_ncPathFileName) +% +% INPUT PARAMETERS : +% a_ncPathFileName : name of the file to update +% +% OUTPUT PARAMETERS : +% o_ok : 1 if update succeeded, 0 otherwise +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 12/15/2015 - RNU - creation +% ------------------------------------------------------------------------------ +function [o_ok] = update_file(a_ncPathFileName) + +% output parameters initialization +o_ok = 0; + +% program version +global g_couf_ncUpdateArgoFormatVersion; + + +if (exist(a_ncPathFileName, 'file') == 2) + + % open NetCDF file + fCdf = netcdf.open(a_ncPathFileName, 'WRITE'); + if (isempty(fCdf)) + fprintf('ERROR: Unable to open NetCDF input file: %s\n', a_ncPathFileName); + return + end + + % update MEASUREMENT_CODE data + + measurementCode = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, 'MEASUREMENT_CODE')); + measurementCode(find(measurementCode == 290)) = 289; + netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'MEASUREMENT_CODE'), measurementCode); + + attName = 'comment_on_resolution'; + varName = 'JULD'; + if (att_is_present_dec_argo(fCdf, varName, attName)) + oldAttValue = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, varName), attName); + newAttValue = regexprep(oldAttValue, ' 290 ', ' 289 '); + netcdf.putAtt(fCdf, netcdf.inqVarID(fCdf, varName), attName, newAttValue); + end + varName = 'JULD_ADJUSTED'; + if (att_is_present_dec_argo(fCdf, varName, attName)) + oldAttValue = netcdf.getAtt(fCdf, netcdf.inqVarID(fCdf, varName), attName); + newAttValue = regexprep(oldAttValue, ' 290 ', ' 289 '); + netcdf.putAtt(fCdf, netcdf.inqVarID(fCdf, varName), attName, newAttValue); + end + + attName = 'comment_on_measurement_code'; + if (global_att_is_present_dec_argo(fCdf, attName)) + oldAttValue = netcdf.getAtt(fCdf, netcdf.getConstant('NC_GLOBAL'), attName); + newAttValue = regexprep(oldAttValue, '294', '289: measurement at PET, 294'); + netcdf.reDef(fCdf); + netcdf.putAtt(fCdf, netcdf.getConstant('NC_GLOBAL'), attName, newAttValue); + netcdf.endDef(fCdf); + end + + % add history information that concerns the current program + historyInstitution = 'IF'; + historySoftware = 'COUF'; + historySoftwareRelease = g_couf_ncUpdateArgoFormatVersion; + historyDate = datestr(now_utc, 'yyyymmddHHMMSS'); + + [filePath, fileName, fileExt] = fileparts(a_ncPathFileName); + % we only update HISTORY_* variables for: + % - C and B trajectory files (not M trajectory files) + + % trajectory file names are: WMO_traj.nc + if (~isempty(strfind(fileName, 'traj')) && isempty(strfind(fileName, 'M'))) + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % C and B trajectory files + + % retrieve N_HISTORY dim value + [~, nHistory] = netcdf.inqDim(fCdf, netcdf.inqDimID(fCdf, 'N_HISTORY')); + + netcdf.close(fCdf); + + % rename updated file + tmpPathFileName = [filePath '/' fileName '_tmp' fileExt]; + [status, message, messageid] = movefile(a_ncPathFileName, tmpPathFileName); + if (status ~= 1) + fprintf('ERROR: cannot move file (%s) to (%s)\n', a_ncPathFileName, tmpPathFileName); + return + end + + % retrieve file schema from updated file + outputFileSchema = ncinfo(tmpPathFileName); + + % update output file schema with the correct N_HISTORY dimension + [outputFileSchema] = update_dim_in_nc_schema(outputFileSchema, ... + 'N_HISTORY', nHistory+1); + + % create output files + ncwriteschema(a_ncPathFileName, outputFileSchema); + + for idVar = 1:length(outputFileSchema.Variables) + varData = ncread(tmpPathFileName, outputFileSchema.Variables(idVar).Name); + if (~isempty(varData)) + ncwrite(a_ncPathFileName, outputFileSchema.Variables(idVar).Name, varData); + end + end + + % open NetCDF file + fCdf = netcdf.open(a_ncPathFileName, 'WRITE'); + if (isempty(fCdf)) + fprintf('ERROR: Unable to open NetCDF input file: %s\n', a_ncPathFileName); + return + end + + % retrieve the creation date of the updated file + dateCreation = deblank(netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, 'DATE_CREATION'))'); + + % set the 'history' global attribute + globalVarId = netcdf.getConstant('NC_GLOBAL'); + globalHistoryText = [datestr(datenum(dateCreation, 'yyyymmddHHMMSS'), 'yyyy-mm-ddTHH:MM:SSZ') ' creation; ']; + globalHistoryText = [globalHistoryText ... + datestr(datenum(historyDate, 'yyyymmddHHMMSS'), 'yyyy-mm-ddTHH:MM:SSZ') ' last update (coriolis COUF software (V ' g_couf_ncUpdateArgoFormatVersion '))']; + netcdf.reDef(fCdf); + netcdf.putAtt(fCdf, globalVarId, 'history', globalHistoryText); + netcdf.endDef(fCdf); + + % update the update date + netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'DATE_UPDATE'), historyDate); + + % update HISTORY information + [~, nHistory] = netcdf.inqDim(fCdf, netcdf.inqDimID(fCdf, 'N_HISTORY')); + netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'HISTORY_INSTITUTION'), ... + fliplr([nHistory-1 0]), fliplr([1 length(historyInstitution)]), historyInstitution'); + netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'HISTORY_SOFTWARE'), ... + fliplr([nHistory-1 0]), fliplr([1 length(historySoftware)]), historySoftware'); + netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'HISTORY_SOFTWARE_RELEASE'), ... + fliplr([nHistory-1 0]), fliplr([1 length(historySoftwareRelease)]), historySoftwareRelease'); + netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'HISTORY_DATE'), ... + fliplr([nHistory-1 0]), fliplr([1 length(historyDate)]), historyDate'); + + netcdf.close(fCdf); + + end + + o_ok = 1; +end + +return + +% ------------------------------------------------------------------------------ +% Retrieve Matlab variable (definition and contents) from a NetCDF file. +% +% SYNTAX : +% [o_ncVarList] = get_var_from_nc_file(a_ncPathFileName, a_wantedVars) +% +% INPUT PARAMETERS : +% a_ncPathFileName : NetCDF file name +% a_wantedVars : name of the variables to retrieve +% +% OUTPUT PARAMETERS : +% o_ncVarList : retrieved information +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 12/15/2015 - RNU - creation +% ------------------------------------------------------------------------------ +function [o_ncVarList] = get_var_from_nc_file(a_ncPathFileName, a_wantedVars) + +% output parameters initialization +o_ncVarList = []; + + +if (exist(a_ncPathFileName, 'file') == 2) + + % open NetCDF file + fCdf = netcdf.open(a_ncPathFileName, 'NC_NOWRITE'); + if (isempty(fCdf)) + fprintf('ERROR: Unable to open NetCDF input file: %s\n', a_ncPathFileName); + return + end + + % retrieve variables from NetCDF file + for idVar = 1:length(a_wantedVars) + varName = a_wantedVars{idVar}; + + if (var_is_present_dec_argo(fCdf, varName)) + varValue = netcdf.getVar(fCdf, netcdf.inqVarID(fCdf, varName)); + varInfo = ncinfo(a_ncPathFileName, varName); + o_ncVarList = [o_ncVarList {varName} {varValue} {varInfo}]; + else + o_ncVarList = [o_ncVarList {varName} {[]} {[]}]; + end + + end + + netcdf.close(fCdf); +end + +return + +% ------------------------------------------------------------------------------ +% Modify the value of a dimension in a NetCDF schema. +% +% SYNTAX : +% [o_outputSchema] = update_dim_in_nc_schema(a_inputSchema, ... +% a_dimName, a_dimVal) +% +% INPUT PARAMETERS : +% a_inputSchema : input NetCDF schema +% a_dimName : dimension name +% a_dimVal : dimension value +% +% OUTPUT PARAMETERS : +% o_outputSchema : output NetCDF schema +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 04/09/2014 - RNU - creation +% ------------------------------------------------------------------------------ +function [o_outputSchema] = update_dim_in_nc_schema(a_inputSchema, ... + a_dimName, a_dimVal) + +% output parameters initialization +o_outputSchema = []; + +% update the dimension +idDim = find(strcmp(a_dimName, {a_inputSchema.Dimensions.Name}) == 1, 1); + +if (~isempty(idDim)) + a_inputSchema.Dimensions(idDim).Length = a_dimVal; + + % update the dimensions of the variables + for idVar = 1:length(a_inputSchema.Variables) + var = a_inputSchema.Variables(idVar); + idDims = find(strcmp(a_dimName, {var.Dimensions.Name}) == 1); + a_inputSchema.Variables(idVar).Size(idDims) = a_dimVal; + for idDim = 1:length(idDims) + a_inputSchema.Variables(idVar).Dimensions(idDims(idDim)).Length = a_dimVal; + end + end +end + +o_outputSchema = a_inputSchema; + +return + +% ------------------------------------------------------------------------------ +% Initialize XML report. +% +% SYNTAX : +% init_xml_report(a_time) +% +% INPUT PARAMETERS : +% a_time : start date of the run ('yyyymmddTHHMMSS' format) +% +% OUTPUT PARAMETERS : +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 12/15/2015 - RNU - creation +% ------------------------------------------------------------------------------ +function init_xml_report(a_time) + +% DOM node of XML report +global g_couf_xmlReportDOMNode; + +% decoder version +global g_couf_ncUpdateArgoFormatVersion; + + +% initialize XML report +docNode = com.mathworks.xml.XMLUtils.createDocument('coriolis_function_report'); +docRootNode = docNode.getDocumentElement; + +newChild = docNode.createElement('function'); +newChild.appendChild(docNode.createTextNode('co041405 ')); +docRootNode.appendChild(newChild); + +newChild = docNode.createElement('comment'); +newChild.appendChild(docNode.createTextNode('Argo Coriolis update format tool (nc_update_argo_format_set_measurement_code_06ab)')); +docRootNode.appendChild(newChild); + +newChild = docNode.createElement('tool_version'); +newChild.appendChild(docNode.createTextNode(g_couf_ncUpdateArgoFormatVersion)); +docRootNode.appendChild(newChild); + +newChild = docNode.createElement('date'); +newChild.appendChild(docNode.createTextNode(datestr(datenum(a_time, 'yyyymmddTHHMMSSZ'), 'dd/mm/yyyy HH:MM:SS'))); +docRootNode.appendChild(newChild); + +g_couf_xmlReportDOMNode = docNode; + +return + +% ------------------------------------------------------------------------------ +% Finalize the XML report. +% +% SYNTAX : +% [o_status] = finalize_xml_report(a_ticStartTime, a_logFileName, a_error) +% +% INPUT PARAMETERS : +% a_ticStartTime : identifier for the "tic" command +% a_logFileName : log file path name of the run +% a_error : Matlab error +% +% OUTPUT PARAMETERS : +% o_status : final status of the run +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 12/15/2015 - RNU - creation +% ------------------------------------------------------------------------------ +function [o_status] = finalize_xml_report(a_ticStartTime, a_logFileName, a_error) + +% DOM node of XML report +global g_couf_xmlReportDOMNode; + +% report information structure +global g_couf_reportData; + + +% initalize final status +o_status = 'ok'; + +% finalize the report +docNode = g_couf_xmlReportDOMNode; +docRootNode = docNode.getDocumentElement; + +newChild = docNode.createElement('updates'); + +newChildBis = docNode.createElement('updated_float_WMO_list'); +if (isfield(g_couf_reportData, 'float')) + wmoList = sort(unique(g_couf_reportData.float)); + newChildBis.appendChild(docNode.createTextNode(sprintf('%d ', wmoList))); +else + newChildBis.appendChild(docNode.createTextNode('')); +end +newChild.appendChild(newChildBis); + +% list of updated files +if (isfield(g_couf_reportData, 'profFile')) + for idFile = 1:length(g_couf_reportData.profFile) + newChildBis = docNode.createElement('updated_mono_profile_file'); + textNode = g_couf_reportData.profFile{idFile}; + newChildBis.appendChild(docNode.createTextNode(textNode)); + newChild.appendChild(newChildBis); + end +end +if (isfield(g_couf_reportData, 'mProfFil')) + for idFile = 1:length(g_couf_reportData.mProfFil) + newChildBis = docNode.createElement('updated_multi_profile_file'); + textNode = g_couf_reportData.mProfFil{idFile}; + newChildBis.appendChild(docNode.createTextNode(textNode)); + newChild.appendChild(newChildBis); + end +end +if (isfield(g_couf_reportData, 'trajFile')) + for idFile = 1:length(g_couf_reportData.trajFile) + newChildBis = docNode.createElement('updated_trajectory_file'); + textNode = g_couf_reportData.trajFile{idFile}; + newChildBis.appendChild(docNode.createTextNode(textNode)); + newChild.appendChild(newChildBis); + end +end + +docRootNode.appendChild(newChild); + +% retrieve information from the log file +[infoMsg, warningMsg, errorMsg] = parse_log_file(a_logFileName); + +if (~isempty(infoMsg)) + + for idMsg = 1:length(infoMsg) + newChild = docNode.createElement('info'); + textNode = infoMsg{idMsg}; + newChild.appendChild(docNode.createTextNode(textNode)); + docRootNode.appendChild(newChild); + end +end + +if (~isempty(warningMsg)) + + for idMsg = 1:length(warningMsg) + newChild = docNode.createElement('warning'); + textNode = warningMsg{idMsg}; + newChild.appendChild(docNode.createTextNode(textNode)); + docRootNode.appendChild(newChild); + end +end + +if (~isempty(errorMsg)) + + for idMsg = 1:length(errorMsg) + newChild = docNode.createElement('error'); + textNode = errorMsg{idMsg}; + newChild.appendChild(docNode.createTextNode(textNode)); + docRootNode.appendChild(newChild); + end + o_status = 'nok'; +end + +% add matlab error +if (~isempty(a_error)) + o_status = 'nok'; + + newChild = docNode.createElement('matlab_error'); + + newChildBis = docNode.createElement('error_message'); + textNode = regexprep(a_error.message, char(10), ': '); + newChildBis.appendChild(docNode.createTextNode(textNode)); + newChild.appendChild(newChildBis); + + for idS = 1:size(a_error.stack, 1) + newChildBis = docNode.createElement('stack_line'); + textNode = sprintf('Line: %3d File: %s (func: %s)', ... + a_error.stack(idS). line, ... + a_error.stack(idS). file, ... + a_error.stack(idS). name); + newChildBis.appendChild(docNode.createTextNode(textNode)); + newChild.appendChild(newChildBis); + end + + docRootNode.appendChild(newChild); +end + +newChild = docNode.createElement('duration'); +newChild.appendChild(docNode.createTextNode(format_time(toc(a_ticStartTime)/3600))); +docRootNode.appendChild(newChild); + +newChild = docNode.createElement('status'); +newChild.appendChild(docNode.createTextNode(o_status)); +docRootNode.appendChild(newChild); + +return + +% ------------------------------------------------------------------------------ +% Retrieve INFO, WARNING and ERROR messages from the log file. +% +% SYNTAX : +% [o_decInfoMsg, o_decWarningMsg, o_decErrorMsg, ... +% o_rtQcInfoMsg, o_rtQcWarningMsg, o_rtQcErrorMsg, ... +% o_rtAdjInfoMsg, o_rtAdjWarningMsg, o_rtAdjErrorMsg] = parse_log_file(a_logFileName) +% +% INPUT PARAMETERS : +% a_logFileName : log file path name of the run +% +% OUTPUT PARAMETERS : +% o_decInfoMsg : DECODER INFO messages +% o_decWarningMsg : DECODER WARNING messages +% o_decErrorMsg : DECODER ERROR messages +% o_rtQcInfoMsg : RTQC INFO messages +% o_rtQcWarningMsg : RTQC WARNING messages +% o_rtQcErrorMsg : RTQC ERROR messages +% o_rtAdjInfoMsg : RTADJ INFO messages +% o_rtAdjWarningMsg : RTADJ WARNING messages +% o_rtAdjErrorMsg : RTADJ ERROR messages +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 05/12/2013 - RNU - creation +% ------------------------------------------------------------------------------ +function [o_decInfoMsg, o_decWarningMsg, o_decErrorMsg, ... + o_rtQcInfoMsg, o_rtQcWarningMsg, o_rtQcErrorMsg, ... + o_rtAdjInfoMsg, o_rtAdjWarningMsg, o_rtAdjErrorMsg] = parse_log_file(a_logFileName) + +% output parameters initialization +o_decInfoMsg = []; +o_decWarningMsg = []; +o_decErrorMsg = []; +o_rtQcInfoMsg = []; +o_rtQcWarningMsg = []; +o_rtQcErrorMsg = []; +o_rtAdjInfoMsg = []; +o_rtAdjWarningMsg = []; +o_rtAdjErrorMsg = []; + +if (~isempty(a_logFileName)) + % read log file + fId = fopen(a_logFileName, 'r'); + if (fId == -1) + errorLine = sprintf('ERROR: Unable to open file: %s\n', a_logFileName); + o_errorMsg = [o_errorMsg {errorLine}]; + return + end + fileContents = textscan(fId, '%s', 'delimiter', '\n'); + fclose(fId); + + if (~isempty(fileContents)) + % retrieve wanted messages + fileContents = fileContents{:}; + idLine = 1; + while (1) + line = fileContents{idLine}; + if (strncmpi(line, 'INFO:', length('INFO:'))) + o_decInfoMsg = [o_decInfoMsg {strtrim(line(length('INFO:')+1:end))}]; + elseif (strncmpi(line, 'WARNING:', length('WARNING:'))) + o_decWarningMsg = [o_decWarningMsg {strtrim(line(length('WARNING:')+1:end))}]; + elseif (strncmpi(line, 'ERROR:', length('ERROR:'))) + o_decErrorMsg = [o_decErrorMsg {strtrim(line(length('ERROR:')+1:end))}]; + elseif (strncmpi(line, 'RTQC_INFO:', length('RTQC_INFO:'))) + o_rtQcInfoMsg = [o_rtQcInfoMsg {strtrim(line(length('RTQC_INFO:')+1:end))}]; + elseif (strncmpi(line, 'RTQC_WARNING:', length('RTQC_WARNING:'))) + o_rtQcWarningMsg = [o_rtQcWarningMsg {strtrim(line(length('RTQC_WARNING:')+1:end))}]; + elseif (strncmpi(line, 'RTQC_ERROR:', length('RTQC_ERROR:'))) + o_rtQcErrorMsg = [o_rtQcErrorMsg {strtrim(line(length('RTQC_ERROR:')+1:end))}]; + elseif (strncmpi(line, 'RTADJ_INFO:', length('RTADJ_INFO:'))) + o_rtAdjInfoMsg = [o_rtAdjInfoMsg {strtrim(line(length('RTADJ_INFO:')+1:end))}]; + elseif (strncmpi(line, 'RTADJ_WARNING:', length('RTADJ_WARNING:'))) + o_rtAdjWarningMsg = [o_rtAdjWarningMsg {strtrim(line(length('RTADJ_WARNING:')+1:end))}]; + elseif (strncmpi(line, 'RTADJ_ERROR:', length('RTADJ_ERROR:'))) + o_rtAdjErrorMsg = [o_rtAdjErrorMsg {strtrim(line(length('RTADJ_ERROR:')+1:end))}]; + end + idLine = idLine + 1; + if (idLine > length(fileContents)) + break + end + end + end +end + +return + +% ------------------------------------------------------------------------------ +% Duration format. +% +% SYNTAX : +% [o_time] = format_time(a_time) +% +% INPUT PARAMETERS : +% a_time : hour (in float) +% +% OUTPUT PARAMETERS : +% o_time : formated duration +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 01/02/2010 - RNU - creation +% ------------------------------------------------------------------------------ +function [o_time] = format_time(a_time) + +% output parameters initialization +o_time = []; + +if (a_time >= 0) + sign = ''; +else + sign = '-'; +end +a_time = abs(a_time); +h = fix(a_time); +m = fix((a_time-h)*60); +s = round(((a_time-h)*60-m)*60); +if (s == 60) + s = 0; + m = m + 1; + if (m == 60) + m = 0; + h = h + 1; + end +end +if (isempty(sign)) + o_time = sprintf('%02d:%02d:%02d', h, m, s); +else + o_time = sprintf('%c %02d:%02d:%02d', sign, h, m, s); +end + +return diff --git a/decArgo_soft/soft/util/nc_update_dm_mono_profile_apx_to_V3_1.m b/decArgo_soft/soft/util/nc_update_dm_mono_profile_apx_to_V3_1.m index 43445cad..79e8cbdb 100644 --- a/decArgo_soft/soft/util/nc_update_dm_mono_profile_apx_to_V3_1.m +++ b/decArgo_soft/soft/util/nc_update_dm_mono_profile_apx_to_V3_1.m @@ -259,7 +259,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) bFileFlag = 0; if (exist(rtInBFilePathName, 'file') == 2) bFileFlag = 1; - % fprintf('INFO: B file => exit\n'); + % fprintf('INFO: B file - exit\n'); % continue end @@ -918,7 +918,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -942,7 +942,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -998,17 +998,17 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) if (primaryProfInRtInput ~= primaryProfInOutput) [~, fileName, fileExt] = fileparts(a_inputDmFileName); if ((primaryProfInRtInput == 0) && (primaryProfInOutput == 1)) - fprintf('ERROR: File %s no primary in RT input but exists in DM output => exit. We must create a new VSS for output primary profile\n', ... + fprintf('ERROR: File %s no primary in RT input but exists in DM output - exit. We must create a new VSS for output primary profile\n', ... [fileName fileExt]); return else - fprintf('INFO: File %s no primary in DM output but exists in RT input => RT data are ignored\n', ... + fprintf('INFO: File %s no primary in DM output but exists in RT input - RT data are ignored\n', ... [fileName fileExt]); end end if (primaryProfInOutput == 0) - fprintf('INFO: File %s no primary in DM output => a default primary profile is created (from secondary profile information)\n', ... + fprintf('INFO: File %s no primary in DM output - a default primary profile is created (from secondary profile information)\n', ... [fileName fileExt]); end @@ -1165,7 +1165,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1333,7 +1333,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1463,7 +1463,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1498,10 +1498,10 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_DATE'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(inputDmDateUpdate)]), inputDmDateUpdate'); - fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... param, inputDmDateUpdate, outputFileName); else - fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... + fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... param, outputFileName); end end @@ -1511,7 +1511,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_COMMENT'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(defaultComment)]), defaultComment'); - fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter => set to ''%s'' (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter - set to ''%s'' (file %s)\n', ... param, defaultComment,outputFileName); end end @@ -1535,7 +1535,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) julDateCreationNew = max(julD); dateCreationNew = datestr(julDateCreationNew + g_decArgo_janFirst1950InMatlab, 'yyyymmddHHMMSS'); netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'DATE_CREATION'), dateCreationNew); - fprintf('INFO: ''DATE_CREATION'' (%s) is before ''JULD'' (%s) => ''DATE_CREATION'' set to ''JULD'' (file %s)\n', ... + fprintf('INFO: ''DATE_CREATION'' (%s) is before ''JULD'' (%s) - ''DATE_CREATION'' set to ''JULD'' (file %s)\n', ... dateCreation, julian_2_gregorian_dec_argo(julDateCreationNew), outputFileName); end end @@ -1906,7 +1906,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1996,7 +1996,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -2485,7 +2485,7 @@ function nc_update_dm_mono_profile_apx_to_V3_1(varargin) if (isempty(ctdPumpSwitchOffPres)) ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (5 dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (5 dbars)\n', ... a_floatNum); end else diff --git a/decArgo_soft/soft/util/nc_update_dm_mono_profile_prv_to_V3_1.m b/decArgo_soft/soft/util/nc_update_dm_mono_profile_prv_to_V3_1.m index d6d863e6..3324fd3b 100644 --- a/decArgo_soft/soft/util/nc_update_dm_mono_profile_prv_to_V3_1.m +++ b/decArgo_soft/soft/util/nc_update_dm_mono_profile_prv_to_V3_1.m @@ -495,7 +495,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) if (length(idF) == 1) cutOffPres = a_cutOffPresVal(idF); else - fprintf('WARNING: Float #%d: Unable to find the profile cut-off pressure for cycle #%d => profile not cut\n', ... + fprintf('WARNING: Float #%d: Unable to find the profile cut-off pressure for cycle #%d - profile not cut\n', ... a_floatNum, a_rtCyNum); cutOffPres = -9999; end @@ -833,7 +833,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -857,7 +857,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -911,17 +911,17 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) if (primaryProfInRtInput ~= primaryProfInOutput) [~, fileName, fileExt] = fileparts(a_inputDmFileName); if ((primaryProfInRtInput == 0) && (primaryProfInOutput == 1)) - fprintf('ERROR: File %s no primary in RT input but exists in DM output => exit. We must create a new VSS for output primary profile\n', ... + fprintf('ERROR: File %s no primary in RT input but exists in DM output - exit. We must create a new VSS for output primary profile\n', ... [fileName fileExt]); return else - fprintf('INFO: File %s no primary in DM output but exists in RT input => RT data are ignored\n', ... + fprintf('INFO: File %s no primary in DM output but exists in RT input - RT data are ignored\n', ... [fileName fileExt]); end end if (primaryProfInOutput == 0) - fprintf('INFO: File %s no primary in DM output => a default primary profile is created (from secondary profile information)\n', ... + fprintf('INFO: File %s no primary in DM output - a default primary profile is created (from secondary profile information)\n', ... [fileName fileExt]); end @@ -1082,7 +1082,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1262,7 +1262,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1293,10 +1293,10 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_DATE'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(inputDmDateUpdate)]), inputDmDateUpdate'); - fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... param, inputDmDateUpdate, outputFileName); else - fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... + fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... param, outputFileName); end end @@ -1306,7 +1306,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_COMMENT'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(defaultComment)]), defaultComment'); - fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter => set to ''%s'' (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter - set to ''%s'' (file %s)\n', ... param, defaultComment,outputFileName); end end @@ -1329,7 +1329,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) julDateCreationNew = max(julD); dateCreationNew = datestr(julDateCreationNew + g_decArgo_janFirst1950InMatlab, 'yyyymmddHHMMSS'); netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'DATE_CREATION'), dateCreationNew); - fprintf('INFO: ''DATE_CREATION'' (%s) is before ''JULD'' (%s) => ''DATE_CREATION'' set to ''JULD'' (file %s)\n', ... + fprintf('INFO: ''DATE_CREATION'' (%s) is before ''JULD'' (%s) - ''DATE_CREATION'' set to ''JULD'' (file %s)\n', ... dateCreation, julian_2_gregorian_dec_argo(julDateCreationNew), outputFileName); end end @@ -1694,7 +1694,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -2182,7 +2182,7 @@ function nc_update_dm_mono_profile_prv_to_V3_1(varargin) if (isempty(ctdPumpSwitchOffPres)) ctdPumpSwitchOffPres = 5; - fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file => using default value (5 dbars)\n', ... + fprintf('INFO: Float #%d: CTD switch off pressure parameter is missing in the Json meta-data file - using default value (5 dbars)\n', ... a_floatNum); end else diff --git a/decArgo_soft/soft/util/process_argos_data_apx.m b/decArgo_soft/soft/util/process_argos_data_apx.m index 01f33756..7cb32439 100644 --- a/decArgo_soft/soft/util/process_argos_data_apx.m +++ b/decArgo_soft/soft/util/process_argos_data_apx.m @@ -99,7 +99,7 @@ function process_argos_data_apx(varargin) dirOutStep1 = [DIR_OUTPUT '/STEP1/']; [ok] = split_argos_cycles_bis(floatList, DIR_INPUT_ARGOS_FILES, dirOutStep1); if (ok == 0) - fprintf('ERROR: In step1 => exit\n'); + fprintf('ERROR: In step1 - exit\n'); return end @@ -111,7 +111,7 @@ function process_argos_data_apx(varargin) copy_file(dirOutStep1, dirOutStep2); [ok] = delete_double_argos_split_bis(dirOutStep2); if (ok == 0) - fprintf('ERROR: In step2 => exit\n'); + fprintf('ERROR: In step2 - exit\n'); return end @@ -121,7 +121,7 @@ function process_argos_data_apx(varargin) dirOutStep3 = [DIR_OUTPUT '/STEP3/']; [ok] = create_argos_cycle_files_bis(floatList, dirOutStep2, dirOutStep3); if (ok == 0) - fprintf('ERROR: In step3 => exit\n'); + fprintf('ERROR: In step3 - exit\n'); return end @@ -131,7 +131,7 @@ function process_argos_data_apx(varargin) dirOutStep4 = [DIR_OUTPUT '/STEP4/']; [ok] = co_cls_correct_argos_raw_file_bis(dirOutStep3, dirOutStep4); if (ok == 0) - fprintf('ERROR: In step4 => exit\n'); + fprintf('ERROR: In step4 - exit\n'); return end @@ -146,7 +146,7 @@ function process_argos_data_apx(varargin) copy_file(dirOutStep4, [dirOutStep5 '/IN/']); [ok] = move_and_rename_apx_argos_files_bis(floatList, [dirOutStep5 '/IN/'], dirOutStep5); if (ok == 0) - fprintf('ERROR: In step5 => exit\n'); + fprintf('ERROR: In step5 - exit\n'); return end rmdir([dirOutStep5 '/IN/'], 's'); @@ -160,7 +160,7 @@ function process_argos_data_apx(varargin) copy_file(dirOutStep5, dirOutStep6); [ok] = clean_ghost_in_apx_argos_cycle_files_bis(floatList, dirOutStep6); if (ok == 0) - fprintf('ERROR: In step6 => exit\n'); + fprintf('ERROR: In step6 - exit\n'); return end @@ -452,21 +452,21 @@ function process_argos_data_apx(varargin) if (compRes == 1) % files are identical - fprintf('INFO: Files %s and %s are identical => %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); + fprintf('INFO: Files %s and %s are identical - %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); delete(fileName2); deleted = 1; break elseif (compRes == 3) % new file contents is included in base file - fprintf('INFO: File %s includes file %s contents => %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); + fprintf('INFO: File %s includes file %s contents - %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); delete(fileName2); deleted = 1; break elseif (compRes == 4) % base file contents is included in new file - fprintf('INFO: File %s includes file %s contents => %s deleted\n', dFiles(id2).name, dFiles(id1).name, dFiles(id1).name); + fprintf('INFO: File %s includes file %s contents - %s deleted\n', dFiles(id2).name, dFiles(id1).name, dFiles(id1).name); delete(fileName1); deleted = 1; break @@ -646,10 +646,10 @@ function process_argos_data_apx(varargin) floatArgosDate = [floatArgosDate; argosDate]; else - fprintf('WARNING: Empty file (%s) => not considered\n', argosFileName); + fprintf('WARNING: Empty file (%s) - not considered\n', argosFileName); end else - fprintf('WARNING: Not expected file name %s => not considered\n', argosFileName); + fprintf('WARNING: Not expected file name %s - not considered\n', argosFileName); end end @@ -729,7 +729,7 @@ function process_argos_data_apx(varargin) fclose(fIdOut); else - fprintf('INFO: Argos data without dates => not considered\n'); + fprintf('INFO: Argos data without dates - not considered\n'); for id = 1:length(text) fprintf('%s\n', text{id}); end @@ -774,7 +774,7 @@ function process_argos_data_apx(varargin) fclose(fIdOut); else - fprintf('INFO: Argos data without dates => not considered\n'); + fprintf('INFO: Argos data without dates - not considered\n'); for id = 1:length(text) fprintf('%s\n', text{id}); end @@ -1219,7 +1219,7 @@ function co_cls_correct_argos_raw_file_one_dir(a_inputDir, a_outputDir) % check if the file should be considered fileDate = datenum(argosFileName(8:26), 'yyyy-mm-dd-HH-MM-SS') - g_decArgo_janFirst1950InMatlab; if (fileDate > floatEndDate) - fprintf('INFO: Date of input file (%s) is after float end decoding date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Date of input file (%s) is after float end decoding date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(fileDate), ... julian_2_gregorian_dec_argo(floatEndDate)); g_decArgo_inputArgosFile = argosFilePathName; @@ -1233,10 +1233,10 @@ function co_cls_correct_argos_raw_file_one_dir(a_inputDir, a_outputDir) g_decArgo_janFirst1950InMatlab; else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end end @@ -1350,13 +1350,13 @@ function move_and_rename_files(a_argosFileNames, a_floatNum, ... else move_argos_input_file(floatArgosId, min(argosLocDate), a_floatNum, [], 'EEE'); end - fprintf('INFO: File (%s) contains no Argos messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains no Argos messages - file stored without cycle number (i.e. not decoded)\n', ... argosFileName); continue elseif (length(unique(argosDataDate)) < NB_MSG_MIN) move_argos_input_file(floatArgosId, firstArgosMsgDate, a_floatNum, [], 'GGG'); - fprintf('INFO: File (%s) contains only ghost messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains only ghost messages - file stored without cycle number (i.e. not decoded)\n', ... argosFileName); continue end @@ -1365,13 +1365,13 @@ function move_and_rename_files(a_argosFileNames, a_floatNum, ... if (isempty(launchDate)) - fprintf('ERROR: Unable to compute cycle number because of missing meta-data => file stored without cycle number (i.e. not decoded)\n'); + fprintf('ERROR: Unable to compute cycle number because of missing meta-data - file stored without cycle number (i.e. not decoded)\n'); move_argos_input_file(floatArgosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); continue else if (lastArgosMsgDate <= launchDate) - fprintf('INFO: Last date of input file (%s) is before float launch date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Last date of input file (%s) is before float launch date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); move_argos_input_file(floatArgosId, firstArgosMsgDate, a_floatNum, [], 'TTT'); diff --git a/decArgo_soft/soft/util/process_argos_data_prv.m b/decArgo_soft/soft/util/process_argos_data_prv.m index e75a56cf..3a740a32 100644 --- a/decArgo_soft/soft/util/process_argos_data_prv.m +++ b/decArgo_soft/soft/util/process_argos_data_prv.m @@ -106,7 +106,7 @@ function process_argos_data_prv(varargin) dirOutStep1 = [DIR_OUTPUT '/STEP1/']; [ok] = split_argos_cycles_bis(floatList, DIR_INPUT_ARGOS_FILES, dirOutStep1); if (ok == 0) - fprintf('ERROR: In step1 => exit\n'); + fprintf('ERROR: In step1 - exit\n'); return end @@ -118,7 +118,7 @@ function process_argos_data_prv(varargin) copy_file(dirOutStep1, dirOutStep2); [ok] = delete_double_argos_split_bis(dirOutStep2); if (ok == 0) - fprintf('ERROR: In step2 => exit\n'); + fprintf('ERROR: In step2 - exit\n'); return end @@ -128,7 +128,7 @@ function process_argos_data_prv(varargin) dirOutStep3 = [DIR_OUTPUT '/STEP3/']; [ok] = create_argos_cycle_files_bis(floatList, dirOutStep2, dirOutStep3); if (ok == 0) - fprintf('ERROR: In step3 => exit\n'); + fprintf('ERROR: In step3 - exit\n'); return end @@ -138,7 +138,7 @@ function process_argos_data_prv(varargin) dirOutStep4 = [DIR_OUTPUT '/STEP4/']; [ok] = co_cls_correct_argos_raw_file_bis(dirOutStep3, dirOutStep4); if (ok == 0) - fprintf('ERROR: In step4 => exit\n'); + fprintf('ERROR: In step4 - exit\n'); return end @@ -153,7 +153,7 @@ function process_argos_data_prv(varargin) copy_file(dirOutStep4, [dirOutStep5 '/IN/']); [ok] = move_and_rename_prv_argos_files_bis(floatList, [dirOutStep5 '/IN/'], dirOutStep5); if (ok == 0) - fprintf('ERROR: In step5 => exit\n'); + fprintf('ERROR: In step5 - exit\n'); return end rmdir([dirOutStep5 '/IN/'], 's'); @@ -446,21 +446,21 @@ function process_argos_data_prv(varargin) if (compRes == 1) % files are identical - fprintf('INFO: Files %s and %s are identical => %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); + fprintf('INFO: Files %s and %s are identical - %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); delete(fileName2); deleted = 1; break elseif (compRes == 3) % new file contents is included in base file - fprintf('INFO: File %s includes file %s contents => %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); + fprintf('INFO: File %s includes file %s contents - %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); delete(fileName2); deleted = 1; break elseif (compRes == 4) % base file contents is included in new file - fprintf('INFO: File %s includes file %s contents => %s deleted\n', dFiles(id2).name, dFiles(id1).name, dFiles(id1).name); + fprintf('INFO: File %s includes file %s contents - %s deleted\n', dFiles(id2).name, dFiles(id1).name, dFiles(id1).name); delete(fileName1); deleted = 1; break @@ -644,10 +644,10 @@ function process_argos_data_prv(varargin) floatArgosDate = [floatArgosDate; argosDate]; else - fprintf('WARNING: Empty file (%s) => not considered\n', argosFileName); + fprintf('WARNING: Empty file (%s) - not considered\n', argosFileName); end else - fprintf('WARNING: Not expected file name %s => not considered\n', argosFileName); + fprintf('WARNING: Not expected file name %s - not considered\n', argosFileName); end end @@ -727,7 +727,7 @@ function process_argos_data_prv(varargin) fclose(fIdOut); else - fprintf('INFO: Argos data without dates => not considered\n'); + fprintf('INFO: Argos data without dates - not considered\n'); for id = 1:length(text) fprintf('%s\n', text{id}); end @@ -772,7 +772,7 @@ function process_argos_data_prv(varargin) fclose(fIdOut); else - fprintf('INFO: Argos data without dates => not considered\n'); + fprintf('INFO: Argos data without dates - not considered\n'); for id = 1:length(text) fprintf('%s\n', text{id}); end @@ -1209,7 +1209,7 @@ function co_cls_correct_argos_raw_file_one_dir(a_inputDir, a_outputDir) % check if the file should be considered fileDate = datenum(argosFileName(8:26), 'yyyy-mm-dd-HH-MM-SS') - g_decArgo_janFirst1950InMatlab; if (fileDate > floatEndDate) - fprintf('INFO: Date of input file (%s) is after float end decoding date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Date of input file (%s) is after float end decoding date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(fileDate), ... julian_2_gregorian_dec_argo(floatEndDate)); g_decArgo_inputArgosFile = argosFilePathName; @@ -1223,10 +1223,10 @@ function co_cls_correct_argos_raw_file_one_dir(a_inputDir, a_outputDir) g_decArgo_janFirst1950InMatlab; else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end end @@ -1325,14 +1325,14 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... else move_argos_input_file(a_argosId, min(argosLocDate), a_floatNum, [], 'EEE'); end - fprintf('INFO: File (%s) contains no Argos messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains no Argos messages - file stored without cycle number (i.e. not decoded)\n', ... a_argosFileName); return elseif (length(unique(argosDataDate)) < NB_MSG_MIN) move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'GGG'); - fprintf('INFO: File (%s) contains only ghost messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains only ghost messages - file stored without cycle number (i.e. not decoded)\n', ... a_argosFileName); return @@ -1344,7 +1344,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... [launchDate, delayBeforeMission, preludeDuration, firstProfileEndDate, cycleDuration, nbCyclesFirstMission] = ... get_meta_data_for_cycle_number_determination(a_floatNum, floatDecId, floatLaunchDate, floatCycleTime, floatRefDay); if (isempty(launchDate)) - fprintf('ERROR: Unable to compute cycle number because of missing meta-data => file stored without cycle number (i.e. not decoded)\n'); + fprintf('ERROR: Unable to compute cycle number because of missing meta-data - file stored without cycle number (i.e. not decoded)\n'); move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); return @@ -1577,7 +1577,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... else move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'TTT'); - fprintf('INFO: Last date of input file (%s) is before float launch date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Last date of input file (%s) is before float launch date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); return @@ -1589,7 +1589,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... if (cycleNumber < 0) move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); - fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data - file stored without cycle number (i.e. not decoded)\n', ... cycleNumber); else move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, cycleNumber); @@ -1612,7 +1612,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... if (cycleNumber(idFile) < 0) move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); - fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data - file stored without cycle number (i.e. not decoded)\n', ... cycleNumber(idFile)); else move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, cycleNumber(idFile)); diff --git a/decArgo_soft/soft/util/process_data_argos_id_132029.m b/decArgo_soft/soft/util/process_data_argos_id_132029.m index 13dbeebb..90ab9222 100644 --- a/decArgo_soft/soft/util/process_data_argos_id_132029.m +++ b/decArgo_soft/soft/util/process_data_argos_id_132029.m @@ -46,7 +46,7 @@ function process_data_argos_id_132029(varargin) dirOutStep1 = [DIR_OUTPUT '/STEP1/']; [ok] = split_argos_cycles_bis([6901596 6901609], DIR_INPUT_ARGOS_FILES, dirOutStep1); if (ok == 0) - fprintf('ERROR: In step1 => exit\n'); + fprintf('ERROR: In step1 - exit\n'); return end @@ -60,7 +60,7 @@ function process_data_argos_id_132029(varargin) copy_file([dirOutStep1 '/132029/*.txt'], [dirOutStep2 '/132029/']); [ok] = delete_double_argos_split_bis(dirOutStep2); if (ok == 0) - fprintf('ERROR: In step2 => exit\n'); + fprintf('ERROR: In step2 - exit\n'); return end @@ -72,7 +72,7 @@ function process_data_argos_id_132029(varargin) mkdir([dirOutStep3 '/132029/']); [ok] = find_wmo_from_argos_data_bis(dirOutStep2, [dirOutStep3 '/132029/']); if (ok == 0) - fprintf('ERROR: In step3 => exit\n'); + fprintf('ERROR: In step3 - exit\n'); return end @@ -85,12 +85,12 @@ function process_data_argos_id_132029(varargin) mkdir([dirOutStep4 '/132029_6901609/']); [ok] = create_argos_cycle_files_bis(6901596,[dirOutStep3 '/132029/132029_6901596/'], [dirOutStep4 '/132029_6901596/']); if (ok == 0) - fprintf('ERROR: In step4 => exit\n'); + fprintf('ERROR: In step4 - exit\n'); return end [ok] = create_argos_cycle_files_bis(6901609, [dirOutStep3 '/132029/132029_6901609/'], [dirOutStep4 '/132029_6901609/']); if (ok == 0) - fprintf('ERROR: In step4 => exit\n'); + fprintf('ERROR: In step4 - exit\n'); return end @@ -108,12 +108,12 @@ function process_data_argos_id_132029(varargin) copy_file([dirOutStep4 '/132029_6901609/132029/*.txt'], [dirOutStep5 '/IN/132029_6901609/132029/']); [ok] = move_and_rename_argos_files_bis(6901596, [dirOutStep5 '/IN/132029_6901596/'], dirOutStep5); if (ok == 0) - fprintf('ERROR: In step5 => exit\n'); + fprintf('ERROR: In step5 - exit\n'); return end [ok] = move_and_rename_argos_files_bis(6901609, [dirOutStep5 '/IN/132029_6901609/'], dirOutStep5); if (ok == 0) - fprintf('ERROR: In step5 => exit\n'); + fprintf('ERROR: In step5 - exit\n'); return end rmdir([dirOutStep5 '/IN/'], 's'); @@ -406,21 +406,21 @@ function process_data_argos_id_132029(varargin) if (compRes == 1) % files are identical - fprintf('INFO: Files %s and %s are identical => %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); + fprintf('INFO: Files %s and %s are identical - %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); delete(fileName2); deleted = 1; break elseif (compRes == 3) % new file contents is included in base file - fprintf('INFO: File %s includes file %s contents => %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); + fprintf('INFO: File %s includes file %s contents - %s deleted\n', dFiles(id1).name, dFiles(id2).name, dFiles(id2).name); delete(fileName2); deleted = 1; break elseif (compRes == 4) % base file contents is included in new file - fprintf('INFO: File %s includes file %s contents => %s deleted\n', dFiles(id2).name, dFiles(id1).name, dFiles(id1).name); + fprintf('INFO: File %s includes file %s contents - %s deleted\n', dFiles(id2).name, dFiles(id1).name, dFiles(id1).name); delete(fileName1); deleted = 1; break @@ -658,7 +658,7 @@ function process_data_argos_id_132029(varargin) end end else - fprintf('INFO: empty file (no message with good CRC) => %d messages ignored\n', size(argosDataData, 1)); + fprintf('INFO: empty file (no message with good CRC) - %d messages ignored\n', size(argosDataData, 1)); end end end @@ -822,10 +822,10 @@ function process_data_argos_id_132029(varargin) floatArgosDate = [floatArgosDate; argosDate]; else - fprintf('WARNING: Empty file (%s) => not considered\n', argosFileName); + fprintf('WARNING: Empty file (%s) - not considered\n', argosFileName); end else - fprintf('WARNING: Not expected file name %s => not considered\n', argosFileName); + fprintf('WARNING: Not expected file name %s - not considered\n', argosFileName); end end @@ -905,7 +905,7 @@ function process_data_argos_id_132029(varargin) fclose(fIdOut); else - fprintf('INFO: Argos data without dates => not considered\n'); + fprintf('INFO: Argos data without dates - not considered\n'); for id = 1:length(text) fprintf('%s\n', text{id}); end @@ -950,7 +950,7 @@ function process_data_argos_id_132029(varargin) fclose(fIdOut); else - fprintf('INFO: Argos data without dates => not considered\n'); + fprintf('INFO: Argos data without dates - not considered\n'); for id = 1:length(text) fprintf('%s\n', text{id}); end @@ -1137,10 +1137,10 @@ function process_data_argos_id_132029(varargin) argosFileFirstMsgDate(end+1) = datenum(argosFileName(8:26), 'yyyy-mm-dd-HH-MM-SS') - ... g_decArgo_janFirst1950InMatlab; else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end else - fprintf('ERROR: Not expected file name: %s => file not considered\n', argosFileName); + fprintf('ERROR: Not expected file name: %s - file not considered\n', argosFileName); end end @@ -1236,14 +1236,14 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... else move_argos_input_file(a_argosId, min(argosLocDate), a_floatNum, [], 'EEE'); end - fprintf('INFO: File (%s) contains no Argos messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains no Argos messages - file stored without cycle number (i.e. not decoded)\n', ... a_argosFileName); return elseif (length(unique(argosDataDate)) < NB_MSG_MIN) move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'GGG'); - fprintf('INFO: File (%s) contains only ghost messages => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: File (%s) contains only ghost messages - file stored without cycle number (i.e. not decoded)\n', ... a_argosFileName); return @@ -1255,7 +1255,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... [launchDate, delayBeforeMission, preludeDuration, firstProfileEndDate, cycleDuration, nbCyclesFirstMission] = ... get_meta_data_for_cycle_number_determination(a_floatNum, floatDecId, floatLaunchDate, floatCycleTime, floatRefDay); if (isempty(launchDate)) - fprintf('ERROR: Unable to compute cycle number because of missing meta-data => file stored without cycle number (i.e. not decoded)\n'); + fprintf('ERROR: Unable to compute cycle number because of missing meta-data - file stored without cycle number (i.e. not decoded)\n'); move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); return @@ -1460,7 +1460,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... else move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'TTT'); - fprintf('INFO: Last date of input file (%s) is before float launch date (%s) => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('INFO: Last date of input file (%s) is before float launch date (%s) - file stored without cycle number (i.e. not decoded)\n', ... julian_2_gregorian_dec_argo(lastArgosMsgDate), ... julian_2_gregorian_dec_argo(launchDate)); return @@ -1471,7 +1471,7 @@ function move_and_rename_file(a_argosFileName, a_floatNum, a_argosId, ... if (cycleNumber < 0) move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, [], 'MMM'); - fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data => file stored without cycle number (i.e. not decoded)\n', ... + fprintf('ERROR: Computed cycle number is negative (%d): check the consistency of the meta-data - file stored without cycle number (i.e. not decoded)\n', ... cycleNumber); else move_argos_input_file(a_argosId, firstArgosMsgDate, a_floatNum, cycleNumber); diff --git a/decArgo_soft/soft/util/remove_ghost_argos_cycle_files.m b/decArgo_soft/soft/util/remove_ghost_argos_cycle_files.m index c4eec0f9..a13e6ed7 100644 --- a/decArgo_soft/soft/util/remove_ghost_argos_cycle_files.m +++ b/decArgo_soft/soft/util/remove_ghost_argos_cycle_files.m @@ -46,7 +46,7 @@ function remove_ghost_argos_cycle_files(varargin) if (nargin ~= 3) fprintf('Bad input parameters!\n'); fprintf('Expecting:\n'); - fprintf(' remove_ghost_argos_cycle_files(WMO, cycle_number, ''F'' or ''L'') => remove first (if ''F'') or last (if ''L'') satellite pass from Argos cycle file of float #WMO and cycle number #cycle_number\n'); + fprintf(' remove_ghost_argos_cycle_files(WMO, cycle_number, ''F'' or ''L'') - remove first (if ''F'') or last (if ''L'') satellite pass from Argos cycle file of float #WMO and cycle number #cycle_number\n'); fprintf('aborted ...\n'); return else @@ -57,7 +57,7 @@ function remove_ghost_argos_cycle_files(varargin) if ((upper(first) ~= 'F') && (upper(first) ~= 'L')) fprintf('Bad input parameters!\n'); fprintf('Expecting:\n'); - fprintf(' remove_ghost_argos_cycle_files(WMO, cycle_number, ''F'' or ''L'') => remove first (if ''F'') or last (if ''L'') satellite pass from Argos cycle file of float #WMO and cycle number #cycle_number\n'); + fprintf(' remove_ghost_argos_cycle_files(WMO, cycle_number, ''F'' or ''L'') - remove first (if ''F'') or last (if ''L'') satellite pass from Argos cycle file of float #WMO and cycle number #cycle_number\n'); fprintf('aborted ...\n'); return else @@ -70,7 +70,7 @@ function remove_ghost_argos_cycle_files(varargin) % check the input directory if ~(exist(DIR_INPUT_ARGOS_FILES, 'dir') == 7) - fprintf('ERROR: The Argos cycle files directory %s does not exist => exit\n', DIR_INPUT_ARGOS_FILES); + fprintf('ERROR: The Argos cycle files directory %s does not exist - exit\n', DIR_INPUT_ARGOS_FILES); return end @@ -83,7 +83,7 @@ function remove_ghost_argos_cycle_files(varargin) % find current float Argos Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => exit\n', floatNum); + fprintf('ERROR: No information on float #%d - exit\n', floatNum); return end floatArgosId = str2num(listArgosId{idF}); @@ -127,9 +127,9 @@ function remove_ghost_argos_cycle_files(varargin) end else if (isempty(argosFiles)) - fprintf('ERROR: Cannot find Argos cycle file for float #%d cycle #%d => aborted\n', floatNum, cycleNum); + fprintf('ERROR: Cannot find Argos cycle file for float #%d cycle #%d - aborted\n', floatNum, cycleNum); else - fprintf('ERROR: Multiple Argos cycle file for float #%d cycle #%d => aborted\n', floatNum, cycleNum); + fprintf('ERROR: Multiple Argos cycle file for float #%d cycle #%d - aborted\n', floatNum, cycleNum); end end diff --git a/decArgo_soft/soft/util/select_argos_files.m b/decArgo_soft/soft/util/select_argos_files.m index 523b852f..3a51442c 100644 --- a/decArgo_soft/soft/util/select_argos_files.m +++ b/decArgo_soft/soft/util/select_argos_files.m @@ -26,7 +26,7 @@ function select_argos_files(varargin) DIR_INPUT_ARGOS_FILES = 'C:\Users\jprannou\_DATA\ArgosApex_processing_20160823\historical_processing'; DIR_INPUT_ARGOS_FILES = 'C:\Users\jprannou\_DATA\ArgosApex_processing_ALL\historical_processing'; DIR_INPUT_ARGOS_FILES = 'C:\Users\jprannou\_DATA\IN\collecte_20161002\cycle'; - +DIR_INPUT_ARGOS_FILES = 'C:\Users\jprannou\_DATA\IN\ARGOS'; % directory to store the log file DIR_LOG_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\'; diff --git a/decArgo_soft/soft/util/select_data_files.m b/decArgo_soft/soft/util/select_data_files.m index 94b90caf..3fe45c27 100644 --- a/decArgo_soft/soft/util/select_data_files.m +++ b/decArgo_soft/soft/util/select_data_files.m @@ -22,10 +22,12 @@ function select_data_files() floatListFileName = 'C:\Users\jprannou\_RNU\Argo\ActionsCoriolis\ConvertApexOldVersionsTo3.1\list\Apex_all.txt'; floatListFileName = 'C:\Users\jprannou\_RNU\Argo\ActionsCoriolis\ConvertApexOldVersionsTo3.1\list\Apex_36.txt'; -% floatListFileName = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp.txt'; +floatListFileName = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_nova.txt'; +floatListFileName = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_nke_atlantos.txt'; inputDirName = 'C:\Users\jprannou\_DATA\201905-ArgoData\coriolis\'; inputDirName = 'C:\Users\jprannou\_DATA\Conversion_en_3.1\IN\'; +inputDirName = 'C:\Users\jprannou\_DATA\OUT\nc_output_decArgo\'; fprintf('Floats from list: %s\n', floatListFileName); floatList = load(floatListFileName); diff --git a/decArgo_soft/soft/util/select_float_list.m b/decArgo_soft/soft/util/select_float_list.m new file mode 100644 index 00000000..c3cc9cf2 --- /dev/null +++ b/decArgo_soft/soft/util/select_float_list.m @@ -0,0 +1,73 @@ +% ------------------------------------------------------------------------------ +% Check a given list of floats against a reference one (used to select lines of +% a provided list of floats in an Excel file). +% +% SYNTAX : +% select_float_list +% +% INPUT PARAMETERS : +% +% OUTPUT PARAMETERS : +% +% EXAMPLES : +% +% SEE ALSO : +% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) +% ------------------------------------------------------------------------------ +% RELEASES : +% 10/07/2020 - RNU - creation +% ------------------------------------------------------------------------------ +function select_float_list + +% float reference file list +FLOAT_REFERENCE_LIST = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\provor_float_info_20201006.txt'; +% FLOAT_REFERENCE_LIST = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\apex_float_info_20201006.txt'; +% FLOAT_REFERENCE_LIST = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\nova_float_info_20201006.txt'; +% FLOAT_REFERENCE_LIST = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmp16.txt'; + +% float file list to select +FLOAT_LIST = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_nke_prv_ir.txt'; +FLOAT_LIST = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_apx_argos.txt'; +FLOAT_LIST = 'C:\Users\jprannou\_RNU\DecArgo_soft\lists\tmpAll_nke_arvor_cm.txt'; + +% directory to store the CSV file +DIR_CSV_FILE = 'C:\Users\jprannou\_RNU\DecArgo_soft\work\csv\'; + + +timeInfo = datestr(now, 'yyyymmddTHHMMSS'); + +fprintf('Float reference list: %s\n', FLOAT_REFERENCE_LIST); +fprintf('Float list: %s\n', FLOAT_LIST); + +% floats are checked against a reference list +if ~(exist(FLOAT_REFERENCE_LIST, 'file') == 2) + fprintf('File not found: %s\n', FLOAT_REFERENCE_LIST); + return +end +floatRefList = load(FLOAT_REFERENCE_LIST); + +% floats to process come from FLOAT_LIST +if ~(exist(FLOAT_LIST, 'file') == 2) + fprintf('File not found: %s\n', FLOAT_LIST); + return +end +floatList = load(FLOAT_LIST); + +presentFlag = ismember(floatRefList, floatList); + +outputFileName = [DIR_CSV_FILE '\select_float_list_' timeInfo '.csv']; +fidOut = fopen(outputFileName, 'wt'); +if (fidOut == -1) + fprintf('ERROR: Unable to create CSV output file: %s\n', outputFileName); + return +end + +fprintf(fidOut, 'Float Ref;Used\n'); + +for idD = 1:length(floatRefList) + fprintf(fidOut, '%d;%d\n', floatRefList(idD), presentFlag(idD)); +end + +fclose(fidOut); + +return diff --git a/decArgo_soft/soft/util/set_cycle_number_of_argos_cycle_file.m b/decArgo_soft/soft/util/set_cycle_number_of_argos_cycle_file.m index f527d03f..d7762576 100644 --- a/decArgo_soft/soft/util/set_cycle_number_of_argos_cycle_file.m +++ b/decArgo_soft/soft/util/set_cycle_number_of_argos_cycle_file.m @@ -66,7 +66,7 @@ function set_cycle_number_of_argos_cycle_file(varargin) % check the input directory if ~(exist(DIR_INPUT_ARGOS_FILES, 'dir') == 7) - fprintf('ERROR: The Argos cycle files directory %s does not exist => exit\n', DIR_INPUT_ARGOS_FILES); + fprintf('ERROR: The Argos cycle files directory %s does not exist - exit\n', DIR_INPUT_ARGOS_FILES); return end @@ -79,7 +79,7 @@ function set_cycle_number_of_argos_cycle_file(varargin) % find current float Argos Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => exit\n', floatNum); + fprintf('ERROR: No information on float #%d - exit\n', floatNum); return end floatArgosId = str2num(listArgosId{idF}); @@ -101,7 +101,7 @@ function set_cycle_number_of_argos_cycle_file(varargin) if (isempty(argosFileNameFound)) argosFileNameFound = argosFileName; else - fprintf('ERROR: More than one Argos cycle file are dated %s => exit\n', ... + fprintf('ERROR: More than one Argos cycle file are dated %s - exit\n', ... datestr(file_date, 'yyyy-mm-dd-HH-MM-SS')); return end @@ -116,12 +116,12 @@ function set_cycle_number_of_argos_cycle_file(varargin) end if (isempty(argosFileNameFound)) - fprintf('ERROR: File not found, check that provided date is part of the Argos cycle file name => exit\n'); + fprintf('ERROR: File not found, check that provided date is part of the Argos cycle file name - exit\n'); return end if (~isempty(find(tabCycleNum == cycleNumber, 1))) - fprintf('ERROR: An Argos cycle file already has cycle number #%d => exit\n', ... + fprintf('ERROR: An Argos cycle file already has cycle number #%d - exit\n', ... cycleNumber); return end diff --git a/decArgo_soft/soft/util/shift_cycle_number_of_argos_cycle_files.m b/decArgo_soft/soft/util/shift_cycle_number_of_argos_cycle_files.m index 1612f26b..a9c00a28 100644 --- a/decArgo_soft/soft/util/shift_cycle_number_of_argos_cycle_files.m +++ b/decArgo_soft/soft/util/shift_cycle_number_of_argos_cycle_files.m @@ -91,7 +91,7 @@ function shift_cycle_number_of_argos_cycle_files(varargin) % check the input directory if ~(exist(DIR_INPUT_ARGOS_FILES, 'dir') == 7) - fprintf('ERROR: The Argos cycle files directory %s does not exist => exit\n', DIR_INPUT_ARGOS_FILES); + fprintf('ERROR: The Argos cycle files directory %s does not exist - exit\n', DIR_INPUT_ARGOS_FILES); return end @@ -104,7 +104,7 @@ function shift_cycle_number_of_argos_cycle_files(varargin) % find current float Argos Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => exit\n', floatNum); + fprintf('ERROR: No information on float #%d - exit\n', floatNum); return end floatArgosId = str2num(listArgosId{idF}); @@ -155,7 +155,7 @@ function shift_cycle_number_of_argos_cycle_files(varargin) else % shifted cycle number should be >= 0 if (~isempty(find(argosFileCycle + offsetCycle < 0, 1))) - fprintf('WARNING: This shift will create Argos cycle file with negative cycle number => exit\n'); + fprintf('WARNING: This shift will create Argos cycle file with negative cycle number - exit\n'); return end @@ -163,7 +163,7 @@ function shift_cycle_number_of_argos_cycle_files(varargin) newCy = setdiff(argosFileCycle + offsetCycle, argosFileCycle); for idCy = 1:length(newCy) if (~isempty(find(allArgosFileCycle == newCy(idCy), 1))) - fprintf('WARNING: An Argos cycle file already exists for cycle #%d => exit\n', newCy(idCy)); + fprintf('WARNING: An Argos cycle file already exists for cycle #%d - exit\n', newCy(idCy)); return end end diff --git a/decArgo_soft/soft/util/sub/add_do_rtqc_to_profile_file.m b/decArgo_soft/soft/util/sub/add_do_rtqc_to_profile_file.m index 403c33e4..a573a92e 100644 --- a/decArgo_soft/soft/util/sub/add_do_rtqc_to_profile_file.m +++ b/decArgo_soft/soft/util/sub/add_do_rtqc_to_profile_file.m @@ -238,12 +238,12 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testMetaId)) ncMetaPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(ncMetaPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST013: Float #%d: Nc meta-data file (%s) not found => test #13 not performed\n', ... + fprintf('RTQC_WARNING: TEST013: Float #%d: Nc meta-data file (%s) not found - test #13 not performed\n', ... a_floatNum, ncMetaPathFileName); testFlagList(13) = 0; end else - fprintf('RTQC_WARNING: TEST013: Float #%d: Nc meta-data file needed to perform test #13 => test #13 not performed\n', ... + fprintf('RTQC_WARNING: TEST013: Float #%d: Nc meta-data file needed to perform test #13 - test #13 not performed\n', ... a_floatNum); testFlagList(13) = 0; end @@ -291,12 +291,12 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testGreyListId)) greyListPathFileName = a_testMetaData{testGreyListId+1}; if ~(exist(greyListPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST015: Float #%d: Grey list file (%s) not found => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d: Grey list file (%s) not found - test #15 not performed\n', ... a_floatNum, greyListPathFileName); testFlagList(15) = 0; end else - fprintf('RTQC_WARNING: TEST005: Float #%d: Grey list file needed to perform test #15 => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST005: Float #%d: Grey list file needed to perform test #15 - test #15 not performed\n', ... a_floatNum); testFlagList(15) = 0; end @@ -305,7 +305,7 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (testFlagList(16) == 1) % for gross salinity or temperature sensor drift test, we need the multi-profile file if (multiProfFileFlag == 0) - fprintf('RTQC_WARNING: TEST016: Float #%d: Multi-profile file needed to perform test #16 => test #16 not performed\n', ... + fprintf('RTQC_WARNING: TEST016: Float #%d: Multi-profile file needed to perform test #16 - test #16 not performed\n', ... a_floatNum); testFlagList(16) = 0; end @@ -314,7 +314,7 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (testFlagList(18) == 1) % for frozen profile test, we need the multi-profile file if (multiProfFileFlag == 0) - fprintf('RTQC_WARNING: TEST018: Float #%d: Multi-profile file needed to perform test #18 => test #18 not performed\n', ... + fprintf('RTQC_WARNING: TEST018: Float #%d: Multi-profile file needed to perform test #18 - test #18 not performed\n', ... a_floatNum); testFlagList(18) = 0; end @@ -326,12 +326,12 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testMetaId)) ncMetaPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(ncMetaPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST019: Float #%d: Nc meta-data file (%s) not found => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST019: Float #%d: Nc meta-data file (%s) not found - test #19 not performed\n', ... a_floatNum, ncMetaPathFileName); testFlagList(19) = 0; end else - fprintf('RTQC_WARNING: TEST019: Float #%d: Nc meta-data file needed to perform test #19 => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST019: Float #%d: Nc meta-data file needed to perform test #19 - test #19 not performed\n', ... a_floatNum); testFlagList(19) = 0; end @@ -432,7 +432,7 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (~isempty(floatDecoderId)) apexFloatFlag = ((floatDecoderId > 1000) && (floatDecoderId < 2000)); else - fprintf('RTQC_WARNING: TEST021: Float #%d: Apex float flag needed to perform test #21 => test #21 not performed\n', ... + fprintf('RTQC_WARNING: TEST021: Float #%d: Apex float flag needed to perform test #21 - test #21 not performed\n', ... a_floatNum); testFlagList(21) = 0; end @@ -442,12 +442,12 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testMetaId)) ncMetaPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(ncMetaPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST021: Float #%d: Nc meta-data file (%s) not found => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST021: Float #%d: Nc meta-data file (%s) not found - test #19 not performed\n', ... a_floatNum, ncMetaPathFileName); testFlagList(21) = 0; end else - fprintf('RTQC_WARNING: TEST021: Float #%d: Nc meta-data file needed to perform test #19 => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST021: Float #%d: Nc meta-data file needed to perform test #19 - test #19 not performed\n', ... a_floatNum); testFlagList(21) = 0; end @@ -518,7 +518,7 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (testFlagList(22) == 1) % for near-surface mixed air/water test, we need the float decoder Id if (isempty(floatDecoderId)) - fprintf('RTQC_WARNING: TEST022: Float #%d: Float decoder Id needed to perform test #22 => test #22 not performed\n', ... + fprintf('RTQC_WARNING: TEST022: Float #%d: Float decoder Id needed to perform test #22 - test #22 not performed\n', ... a_floatNum); testFlagList(22) = 0; end @@ -530,7 +530,7 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... if (~isempty(testDeepFloatFlagId)) deepFloatFlag = a_testMetaData{testDeepFloatFlagId+1}; else - fprintf('RTQC_WARNING: TEST023: Float #%d: Deep float flag needed to perform test #23 => test #23 not performed\n', ... + fprintf('RTQC_WARNING: TEST023: Float #%d: Deep float flag needed to perform test #23 - test #23 not performed\n', ... a_floatNum); testFlagList(23) = 0; end @@ -1406,7 +1406,7 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... end if (isempty(deepestPres)) - fprintf('RTQC_WARNING: TEST019: Float #%d Cycle #%d: Unable to retrieve CONFIG_ProfilePressure_dbar from file %s => test #19 not performed\n', ... + fprintf('RTQC_WARNING: TEST019: Float #%d Cycle #%d: Unable to retrieve CONFIG_ProfilePressure_dbar from file %s - test #19 not performed\n', ... a_floatNum, cycleNumber(idProf), ncMetaPathFileName); else @@ -2725,14 +2725,14 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... % read grey list file fId = fopen(greyListPathFileName, 'r'); if (fId == -1) - fprintf('RTQC_WARNING: TEST015: Float #%d Cycle #%d: Unable to open grey list file (%s) => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d Cycle #%d: Unable to open grey list file (%s) - test #15 not performed\n', ... a_floatNum, cycleNumber(idProf), greyListPathFileName); else fileContents = textscan(fId, '%s', 'delimiter', ','); fclose(fId); fileContents = fileContents{:}; if (rem(size(fileContents, 1), 7) ~= 0) - fprintf('RTQC_WARNING: TEST015: Float #%d Cycle #%d: Unable to parse grey list file (%s) => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d Cycle #%d: Unable to parse grey list file (%s) - test #15 not performed\n', ... a_floatNum, cycleNumber(idProf), greyListPathFileName); else @@ -3932,7 +3932,7 @@ function add_do_rtqc_to_profile_file(a_floatNum, ... % => N_VALUES = 45 in traj file => we do not consider additional % data data = data(:, 1:dimNValuesProf); - fprintf('RTQC_WARNING: Float #%d: N_VALUES = %d in PROF file and N_VALUES = %d in TRAJ file => additional TRAJ data are ignored in the comparison\n', ... + fprintf('RTQC_WARNING: Float #%d: N_VALUES = %d in PROF file and N_VALUES = %d in TRAJ file - additional TRAJ data are ignored in the comparison\n', ... a_floatNum, dimNValuesProf, dimNValuesTraj); end end diff --git a/decArgo_soft/soft/util/sub/add_do_rtqc_to_trajectory_file.m b/decArgo_soft/soft/util/sub/add_do_rtqc_to_trajectory_file.m index e89e97f8..553c610b 100644 --- a/decArgo_soft/soft/util/sub/add_do_rtqc_to_trajectory_file.m +++ b/decArgo_soft/soft/util/sub/add_do_rtqc_to_trajectory_file.m @@ -188,12 +188,12 @@ function add_do_rtqc_to_trajectory_file(a_floatNum, ... if (~isempty(testMetaId)) greyListPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(greyListPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST015: Float #%d: Grey list file (%s) not found => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d: Grey list file (%s) not found - test #15 not performed\n', ... a_floatNum, greyListPathFileName); testFlagList(15) = 0; end else - fprintf('RTQC_WARNING: TEST005: Float #%d: Grey list file needed to perform test #15 => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST005: Float #%d: Grey list file needed to perform test #15 - test #15 not performed\n', ... a_floatNum); testFlagList(15) = 0; end @@ -205,12 +205,12 @@ function add_do_rtqc_to_trajectory_file(a_floatNum, ... if (~isempty(testMetaId)) ncMetaPathFileName = a_testMetaData{testMetaId+1}; if ~(exist(ncMetaPathFileName, 'file') == 2) - fprintf('RTQC_WARNING: TEST057: Float #%d: Nc meta-data file (%s) not found => test #57 not performed\n', ... + fprintf('RTQC_WARNING: TEST057: Float #%d: Nc meta-data file (%s) not found - test #57 not performed\n', ... a_floatNum, ncMetaPathFileName); testFlagList(57) = 0; end else - fprintf('RTQC_WARNING: TEST057: Float #%d: Nc meta-data file needed to perform test #57 => test #57 not performed\n', ... + fprintf('RTQC_WARNING: TEST057: Float #%d: Nc meta-data file needed to perform test #57 - test #57 not performed\n', ... a_floatNum); testFlagList(57) = 0; end @@ -1081,14 +1081,14 @@ function add_do_rtqc_to_trajectory_file(a_floatNum, ... % read grey list file fId = fopen(greyListPathFileName, 'r'); if (fId == -1) - fprintf('RTQC_WARNING: TEST015: Float #%d: Unable to open grey list file (%s) => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d: Unable to open grey list file (%s) - test #15 not performed\n', ... a_floatNum, greyListPathFileName); else fileContents = textscan(fId, '%s', 'delimiter', ','); fclose(fId); fileContents = fileContents{:}; if (rem(size(fileContents, 1), 7) ~= 0) - fprintf('RTQC_WARNING: TEST015: Float #%d: Unable to parse grey list file (%s) => test #15 not performed\n', ... + fprintf('RTQC_WARNING: TEST015: Float #%d: Unable to parse grey list file (%s) - test #15 not performed\n', ... a_floatNum, greyListPathFileName); else @@ -1347,11 +1347,11 @@ function add_do_rtqc_to_trajectory_file(a_floatNum, ... testFailedList(57) = 1; end else - fprintf('RTQC_WARNING: TEST057: Float #%d: Cannot find parameter_sensor ''%s'' in the meta-data sensors => test #57 not performed\n', ... + fprintf('RTQC_WARNING: TEST057: Float #%d: Cannot find parameter_sensor ''%s'' in the meta-data sensors - test #57 not performed\n', ... a_floatNum, paramSensor); end else - fprintf('RTQC_WARNING: TEST057: Float #%d: Cannot find parameter ''%s'' in the meta-data parameters => test #57 not performed\n', ... + fprintf('RTQC_WARNING: TEST057: Float #%d: Cannot find parameter ''%s'' in the meta-data parameters - test #57 not performed\n', ... a_floatNum, test57ParameterList{idP}); end end diff --git a/decArgo_soft/soft/util/sub/check_json_meta_data.m b/decArgo_soft/soft/util/sub/check_json_meta_data.m index 77279ee5..41e7ccb3 100644 --- a/decArgo_soft/soft/util/sub/check_json_meta_data.m +++ b/decArgo_soft/soft/util/sub/check_json_meta_data.m @@ -39,7 +39,7 @@ if (~isempty(info)) if (ischar(info)) if (length(info) > maxLength) - fprintf('ERROR: Float #%d: max length of ''%s'' is %d (''%s'' cannot be accepted) => no json file generated\n', ... + fprintf('ERROR: Float #%d: max length of ''%s'' is %d (''%s'' cannot be accepted) - no json file generated\n', ... a_floatNum, fieldName, maxLength, info); o_ok = 0; end @@ -47,7 +47,7 @@ for idL = 1:size(info, 1) info2 = info{idL, :}; if (length(info2) > maxLength) - fprintf('ERROR: Float #%d: max length of ''%s'' is %d (''%s'' cannot be accepted) => no json file generated\n', ... + fprintf('ERROR: Float #%d: max length of ''%s'' is %d (''%s'' cannot be accepted) - no json file generated\n', ... a_floatNum, fieldName, maxLength, info2); o_ok = 0; end diff --git a/decArgo_soft/soft/util/sub/create_apx_rudics_log_file_name.m b/decArgo_soft/soft/util/sub/create_apx_rudics_log_file_name.m index 102acb61..8b56ef82 100644 --- a/decArgo_soft/soft/util/sub/create_apx_rudics_log_file_name.m +++ b/decArgo_soft/soft/util/sub/create_apx_rudics_log_file_name.m @@ -38,7 +38,7 @@ [~, inputFileName, ~] = fileparts(a_filePathName); idF = strfind(inputFileName, '_'); if (length(idF) < 3) - fprintf('ERROR: Inconsistent input file name: %s => ignored\n', a_filePathName); + fprintf('ERROR: Inconsistent input file name: %s - ignored\n', a_filePathName); return end inputCyNum = inputFileName(idF(2)+1:idF(3)-1); @@ -47,12 +47,12 @@ % read input file [error, events] = read_apx_ir_rudics_log_file(a_filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', a_filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', a_filePathName); return end if (isempty(events)) - fprintf('ERROR: No events in file: %s => ignored\n', a_filePathName); + fprintf('ERROR: No events in file: %s - ignored\n', a_filePathName); return end diff --git a/decArgo_soft/soft/util/sub/create_apx_rudics_msg_file_name.m b/decArgo_soft/soft/util/sub/create_apx_rudics_msg_file_name.m index 381b1b46..3f0529d8 100644 --- a/decArgo_soft/soft/util/sub/create_apx_rudics_msg_file_name.m +++ b/decArgo_soft/soft/util/sub/create_apx_rudics_msg_file_name.m @@ -40,7 +40,7 @@ [~, inputFileName, ~] = fileparts(a_filePathName); idF = strfind(inputFileName, '_'); if (length(idF) < 3) - fprintf('ERROR: Inconsistent input file name: %s => ignored\n', a_filePathName); + fprintf('ERROR: Inconsistent input file name: %s - ignored\n', a_filePathName); return end inputCyNum = inputFileName(idF(2)+1:idF(3)-1); @@ -58,7 +58,7 @@ nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file(a_filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', a_filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', a_filePathName); return end @@ -80,7 +80,7 @@ end if (isempty(dates)) - fprintf('ERROR: No dates in file: %s => ignored\n', a_filePathName); + fprintf('ERROR: No dates in file: %s - ignored\n', a_filePathName); return end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_apf11_argos_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_apf11_argos_.m index 40d3a4a6..74eda124 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_apf11_argos_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_apf11_argos_.m @@ -167,7 +167,7 @@ function generate_json_float_meta_apx_apf11_argos_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -178,7 +178,7 @@ function generate_json_float_meta_apx_apf11_argos_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -221,7 +221,7 @@ function generate_json_float_meta_apx_apf11_argos_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -230,7 +230,7 @@ function generate_json_float_meta_apx_apf11_argos_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -377,27 +377,27 @@ function generate_json_float_meta_apx_apf11_argos_( ... if (diffFlag == 0) if (a_rtVersionFlag == 0) - fprintf('WARNING: Float #%d: MISSING: Meta-data ''%s'': launch float value (''%s'') is missing in the data base => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: MISSING: Meta-data ''%s'': launch float value (''%s'') is missing in the data base - DB contents should be updated (see %s)\n', ... floatNum, ... bddConfName, ... floatConfValue, ... csvFilePathName); else - fprintf('WARNING: Float #%d: MISSING: Meta-data ''%s'': launch float value (''%s'') is missing in the data base => DB contents should be updated\n', ... + fprintf('WARNING: Float #%d: MISSING: Meta-data ''%s'': launch float value (''%s'') is missing in the data base - DB contents should be updated\n', ... floatNum, ... bddConfName, ... floatConfValue); end else if (a_rtVersionFlag == 0) - fprintf('WARNING: Float #%d: DIFFER: Meta-data ''%s'': launch float value (''%s'') and data base value (''%s'') differ => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: DIFFER: Meta-data ''%s'': launch float value (''%s'') and data base value (''%s'') differ - DB contents should be updated (see %s)\n', ... floatNum, ... bddConfName, ... floatConfValue, ... bddConfvalue, ... csvFilePathName); else - fprintf('WARNING: Float #%d: DIFFER: Meta-data ''%s'': launch float value (''%s'') and data base value (''%s'') differ => DB contents should be updated\n', ... + fprintf('WARNING: Float #%d: DIFFER: Meta-data ''%s'': launch float value (''%s'') and data base value (''%s'') differ - DB contents should be updated\n', ... floatNum, ... bddConfName, ... floatConfValue, ... @@ -448,7 +448,7 @@ function generate_json_float_meta_apx_apf11_argos_( ... elseif (bddValue == 'D') configParamVal{idBSN, idConf} = '2'; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'DIRECTION'); end end @@ -463,7 +463,7 @@ function generate_json_float_meta_apx_apf11_argos_( ... elseif ((strcmpi(bddValue, 'no')) || (strcmpi(bddValue, 'n'))) configParamVal{idBSN, idConf} = '0'; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, configBddStructValue); end end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_apf11_iridium_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_apf11_iridium_.m index 2bf9ff32..472ad214 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_apf11_iridium_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_apf11_iridium_.m @@ -200,7 +200,7 @@ function generate_json_float_meta_apx_apf11_iridium_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -211,7 +211,7 @@ function generate_json_float_meta_apx_apf11_iridium_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -262,7 +262,7 @@ function generate_json_float_meta_apx_apf11_iridium_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -271,7 +271,7 @@ function generate_json_float_meta_apx_apf11_iridium_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -339,13 +339,13 @@ function generate_json_float_meta_apx_apf11_iridium_( ... % expected data idSensor = find(wmoSensorList == floatNum); if (isempty(idSensor)) - fprintf('ERROR: Unknown sensor list for float #%d => nothing done for this float (PLEASE UPDATE "%s" file)\n', ... + fprintf('ERROR: Unknown sensor list for float #%d - nothing done for this float (PLEASE UPDATE "%s" file)\n', ... floatNum, a_sensorListFileName); continue end sensorList = nameSensorList(idSensor); if (length(sensorList) ~= length(unique(sensorList))) - fprintf('ERROR: Duplicated sensors for float #%d => nothing done for this float (PLEASE CHECK "%s" file)\n', ... + fprintf('ERROR: Duplicated sensors for float #%d - nothing done for this float (PLEASE CHECK "%s" file)\n', ... floatNum, a_sensorListFileName); continue end @@ -597,27 +597,27 @@ function generate_json_float_meta_apx_apf11_iridium_( ... if (diffFlag == 0) if (a_rtVersionFlag == 0) - fprintf('WARNING: Float #%d: MISSING: Meta-data ''%s'': launch float value (''%s'') is missing in the data base => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: MISSING: Meta-data ''%s'': launch float value (''%s'') is missing in the data base - DB contents should be updated (see %s)\n', ... floatNum, ... bddConfName, ... floatConfValue, ... csvFilePathName); else - fprintf('WARNING: Float #%d: MISSING: Meta-data ''%s'': launch float value (''%s'') is missing in the data base => DB contents should be updated\n', ... + fprintf('WARNING: Float #%d: MISSING: Meta-data ''%s'': launch float value (''%s'') is missing in the data base - DB contents should be updated\n', ... floatNum, ... bddConfName, ... floatConfValue); end else if (a_rtVersionFlag == 0) - fprintf('WARNING: Float #%d: DIFFER: Meta-data ''%s'': launch float value (''%s'') and data base value (''%s'') differ => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: Float #%d: DIFFER: Meta-data ''%s'': launch float value (''%s'') and data base value (''%s'') differ - DB contents should be updated (see %s)\n', ... floatNum, ... bddConfName, ... floatConfValue, ... bddConfvalue, ... csvFilePathName); else - fprintf('WARNING: Float #%d: DIFFER: Meta-data ''%s'': launch float value (''%s'') and data base value (''%s'') differ => DB contents should be updated\n', ... + fprintf('WARNING: Float #%d: DIFFER: Meta-data ''%s'': launch float value (''%s'') and data base value (''%s'') differ - DB contents should be updated\n', ... floatNum, ... bddConfName, ... floatConfValue, ... @@ -670,7 +670,7 @@ function generate_json_float_meta_apx_apf11_iridium_( ... elseif (bddValue == 'D') configParamVal{idBSN} = '2'; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'DIRECTION'); end end @@ -685,7 +685,7 @@ function generate_json_float_meta_apx_apf11_iridium_( ... elseif ((strcmpi(bddValue, 'no')) || (strcmpi(bddValue, 'n'))) configParamVal{idBSN} = '0'; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, configBddStructValue); end end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_argos_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_argos_.m index d19208e7..5c1e381b 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_argos_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_argos_.m @@ -149,7 +149,7 @@ function generate_json_float_meta_apx_argos_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -160,7 +160,7 @@ function generate_json_float_meta_apx_argos_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -209,7 +209,7 @@ function generate_json_float_meta_apx_argos_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -218,7 +218,7 @@ function generate_json_float_meta_apx_argos_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -465,7 +465,7 @@ function generate_json_float_meta_apx_argos_( ... elseif (bddValue == 'D') configParamVal{idBSN, idConf} = '2'; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'DIRECTION'); end end @@ -477,7 +477,7 @@ function generate_json_float_meta_apx_argos_( ... elseif ((strcmpi(bddValue, 'no')) || (strcmpi(bddValue, 'n'))) configParamVal{idBSN, idConf} = '0'; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'DEEP_PROFILE_FIRST'); end end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_ir_rudics_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_ir_rudics_.m index 5bac7a70..07b26f0a 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_ir_rudics_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_ir_rudics_.m @@ -149,7 +149,7 @@ function generate_json_float_meta_apx_ir_rudics_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -160,7 +160,7 @@ function generate_json_float_meta_apx_ir_rudics_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -210,7 +210,7 @@ function generate_json_float_meta_apx_ir_rudics_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -219,7 +219,7 @@ function generate_json_float_meta_apx_ir_rudics_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -519,7 +519,7 @@ function generate_json_float_meta_apx_ir_rudics_( ... elseif (bddValue == 'D') configParamVal{idBSN, idConf} = '2'; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'DIRECTION'); end end @@ -533,7 +533,7 @@ function generate_json_float_meta_apx_ir_rudics_( ... elseif ((strcmpi(bddValue, '0')) || (strcmpi(bddValue, '1'))) configParamVal{idBSN, idConf} = bddValue; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'DEEP_PROFILE_FIRST'); end end @@ -547,7 +547,7 @@ function generate_json_float_meta_apx_ir_rudics_( ... elseif ((strcmpi(bddValue, '0')) || (strcmpi(bddValue, '1'))) configParamVal{idBSN, idConf} = bddValue; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'OPTODE_IN_AIR_MEASUREMENT'); end end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_ir_sbd_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_ir_sbd_.m index 59b3f752..d05a2fb0 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_ir_sbd_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_apx_ir_sbd_.m @@ -148,7 +148,7 @@ function generate_json_float_meta_apx_ir_sbd_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -159,7 +159,7 @@ function generate_json_float_meta_apx_ir_sbd_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -202,7 +202,7 @@ function generate_json_float_meta_apx_ir_sbd_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -211,7 +211,7 @@ function generate_json_float_meta_apx_ir_sbd_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -325,7 +325,7 @@ function generate_json_float_meta_apx_ir_sbd_( ... elseif (bddValue == 'D') configParamVal{idBSN, idConf} = '2'; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'DIRECTION'); end end @@ -339,7 +339,7 @@ function generate_json_float_meta_apx_ir_sbd_( ... elseif ((strcmpi(bddValue, '0')) || (strcmpi(bddValue, '1'))) configParamVal{idBSN, idConf} = bddValue; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'DEEP_PROFILE_FIRST'); end end @@ -353,7 +353,7 @@ function generate_json_float_meta_apx_ir_sbd_( ... elseif ((strcmpi(bddValue, '0')) || (strcmpi(bddValue, '1'))) configParamVal{idBSN, idConf} = bddValue; else - fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information => not considered\n', ... + fprintf('ERROR: inconsistent BDD value (''%s'') for ''%s'' information - not considered\n', ... bddValue, 'OPTODE_IN_AIR_MEASUREMENT'); end end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_arvor_c_ir_sbd_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_arvor_c_ir_sbd_.m index 82b367ca..6fd6c53f 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_arvor_c_ir_sbd_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_arvor_c_ir_sbd_.m @@ -147,7 +147,7 @@ function generate_json_float_meta_arvor_c_ir_sbd_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -158,7 +158,7 @@ function generate_json_float_meta_arvor_c_ir_sbd_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -201,7 +201,7 @@ function generate_json_float_meta_arvor_c_ir_sbd_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -210,7 +210,7 @@ function generate_json_float_meta_arvor_c_ir_sbd_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -340,7 +340,7 @@ function generate_json_float_meta_arvor_c_ir_sbd_( ... end else if (strcmp(configBddStructName, 'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection')) - fprintf('ERROR: Float #%d: CONFIG_PG00 (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: CONFIG_PG00 (''%s'') is mandatory - no json file generated\n', ... floatNum, configBddStructValue); skipFloat = 1; end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_arvor_cm_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_arvor_cm_.m index f16fbbf8..0fa6d6e8 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_arvor_cm_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_arvor_cm_.m @@ -194,7 +194,7 @@ function generate_json_float_meta_arvor_cm_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -205,7 +205,7 @@ function generate_json_float_meta_arvor_cm_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -248,7 +248,7 @@ function generate_json_float_meta_arvor_cm_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -257,7 +257,7 @@ function generate_json_float_meta_arvor_cm_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -323,13 +323,13 @@ function generate_json_float_meta_arvor_cm_( ... % expected data idSensor = find(wmoSensorList == floatNum); if (isempty(idSensor)) - fprintf('ERROR: Unknown sensor list for float #%d => nothing done for this float (PLEASE UPDATE "%s" file)\n', ... + fprintf('ERROR: Unknown sensor list for float #%d - nothing done for this float (PLEASE UPDATE "%s" file)\n', ... floatNum, a_sensorListFileName); continue end sensorList = nameSensorList(idSensor); if (length(sensorList) ~= length(unique(sensorList))) - fprintf('ERROR: Duplicated sensors for float #%d => nothing done for this float (PLEASE CHECK "%s" file)\n', ... + fprintf('ERROR: Duplicated sensors for float #%d - nothing done for this float (PLEASE CHECK "%s" file)\n', ... floatNum, a_sensorListFileName); continue end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_nemo_ir_sbd_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_nemo_ir_sbd_.m index 8b1a3044..69d734ce 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_nemo_ir_sbd_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_nemo_ir_sbd_.m @@ -210,7 +210,7 @@ function generate_json_float_meta_nemo_ir_sbd_( ... % retrieve DAC_FORMAT_ID dacFormatId = getfield(metaStruct, 'DAC_FORMAT_ID'); if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -241,7 +241,7 @@ function generate_json_float_meta_nemo_ir_sbd_( ... idFRepRate = find(strcmp(metaData(idForWmo, 5), 'REPETITION_RATE') == 1); if (isempty(idFRepRate)) - fprintf('ERROR: REPETITION_RATE is missing for float %d => no json file generated\n', ... + fprintf('ERROR: REPETITION_RATE is missing for float %d - no json file generated\n', ... floatNum); continue end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_nva_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_nva_.m index 5a7833b7..32349e3c 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_nva_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_nva_.m @@ -150,7 +150,7 @@ function generate_json_float_meta_nva_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -161,7 +161,7 @@ function generate_json_float_meta_nva_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -204,7 +204,7 @@ function generate_json_float_meta_nva_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -213,7 +213,7 @@ function generate_json_float_meta_nva_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_argos_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_argos_.m index e692c822..5ddb01c1 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_argos_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_argos_.m @@ -158,7 +158,7 @@ function generate_json_float_meta_prv_argos_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -169,7 +169,7 @@ function generate_json_float_meta_prv_argos_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -219,7 +219,7 @@ function generate_json_float_meta_prv_argos_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -228,7 +228,7 @@ function generate_json_float_meta_prv_argos_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts4_ir_rudics_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts4_ir_rudics_.m index 9912e649..0bd2b3f8 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts4_ir_rudics_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts4_ir_rudics_.m @@ -207,7 +207,7 @@ function generate_json_float_meta_prv_cts4_ir_rudics_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -218,7 +218,7 @@ function generate_json_float_meta_prv_cts4_ir_rudics_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -261,7 +261,7 @@ function generate_json_float_meta_prv_cts4_ir_rudics_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -270,7 +270,7 @@ function generate_json_float_meta_prv_cts4_ir_rudics_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -309,13 +309,13 @@ function generate_json_float_meta_prv_cts4_ir_rudics_( ... % expected data idSensor = find(wmoSensorList == floatNum); if (isempty(idSensor)) - fprintf('ERROR: Unknown sensor list for float #%d => nothing done for this float (PLEASE UPDATE "%s" file)\n', ... + fprintf('ERROR: Unknown sensor list for float #%d - nothing done for this float (PLEASE UPDATE "%s" file)\n', ... floatNum, a_sensorListFileName); continue end sensorList = nameSensorList(idSensor); if (length(sensorList) ~= length(unique(sensorList))) - fprintf('ERROR: Duplicated sensors for float #%d => nothing done for this float (PLEASE CHECK "%s" file)\n', ... + fprintf('ERROR: Duplicated sensors for float #%d - nothing done for this float (PLEASE CHECK "%s" file)\n', ... floatNum, a_sensorListFileName); continue end @@ -489,7 +489,7 @@ function generate_json_float_meta_prv_cts4_ir_rudics_( ... fprintf('WARNING: SUNA calibration file is missing for float %d\n', ... floatNum); else - fprintf('WARNING: many SUNA calibration files for float %d => ignored\n', ... + fprintf('WARNING: many SUNA calibration files for float %d - ignored\n', ... floatNum); end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts4_ir_sbd_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts4_ir_sbd_.m index cf1d280d..0c6218bc 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts4_ir_sbd_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts4_ir_sbd_.m @@ -198,7 +198,7 @@ function generate_json_float_meta_prv_cts4_ir_sbd_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -209,7 +209,7 @@ function generate_json_float_meta_prv_cts4_ir_sbd_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -252,7 +252,7 @@ function generate_json_float_meta_prv_cts4_ir_sbd_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -261,7 +261,7 @@ function generate_json_float_meta_prv_cts4_ir_sbd_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -327,13 +327,13 @@ function generate_json_float_meta_prv_cts4_ir_sbd_( ... % expected data idSensor = find(wmoSensorList == floatNum); if (isempty(idSensor)) - fprintf('ERROR: Unknown sensor list for float #%d => nothing done for this float (PLEASE UPDATE "%s" file)\n', ... + fprintf('ERROR: Unknown sensor list for float #%d - nothing done for this float (PLEASE UPDATE "%s" file)\n', ... floatNum, a_sensorListFileName); continue end sensorList = nameSensorList(idSensor); if (length(sensorList) ~= length(unique(sensorList))) - fprintf('ERROR: Duplicated sensors for float #%d => nothing done for this float (PLEASE CHECK "%s" file)\n', ... + fprintf('ERROR: Duplicated sensors for float #%d - nothing done for this float (PLEASE CHECK "%s" file)\n', ... floatNum, a_sensorListFileName); continue end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts5_ir_rudics_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts5_ir_rudics_.m index aaf9a1d8..fc756581 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts5_ir_rudics_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_cts5_ir_rudics_.m @@ -209,7 +209,7 @@ function generate_json_float_meta_prv_cts5_ir_rudics_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -220,7 +220,7 @@ function generate_json_float_meta_prv_cts5_ir_rudics_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -263,7 +263,7 @@ function generate_json_float_meta_prv_cts5_ir_rudics_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -272,7 +272,7 @@ function generate_json_float_meta_prv_cts5_ir_rudics_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -310,7 +310,7 @@ function generate_json_float_meta_prv_cts5_ir_rudics_( ... if (~isempty(metaStruct.PTT)) loginName = metaStruct.PTT; else - fprintf('ERROR: login name not found for float %d => not considered\n', floatNum); + fprintf('ERROR: login name not found for float %d - not considered\n', floatNum); continue end @@ -328,13 +328,13 @@ function generate_json_float_meta_prv_cts5_ir_rudics_( ... % expected data idSensor = find(wmoSensorList == floatNum); if (isempty(idSensor)) - fprintf('ERROR: Unknown sensor list for float #%d => nothing done for this float (PLEASE UPDATE "%s" file)\n', ... + fprintf('ERROR: Unknown sensor list for float #%d - nothing done for this float (PLEASE UPDATE "%s" file)\n', ... floatNum, a_sensorListFileName); continue end sensorList = nameSensorList(idSensor); if (length(sensorList) ~= length(unique(sensorList))) - fprintf('ERROR: Duplicated sensors for float #%d => nothing done for this float (PLEASE CHECK "%s" file)\n', ... + fprintf('ERROR: Duplicated sensors for float #%d - nothing done for this float (PLEASE CHECK "%s" file)\n', ... floatNum, a_sensorListFileName); continue end @@ -474,7 +474,7 @@ function generate_json_float_meta_prv_cts5_ir_rudics_( ... fprintf('WARNING: SUNA calibration file is missing for float %d\n', ... floatNum); else - fprintf('WARNING: many SUNA calibration files for float %d => ignored\n', ... + fprintf('WARNING: many SUNA calibration files for float %d - ignored\n', ... floatNum); end diff --git a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_ir_sbd_.m b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_ir_sbd_.m index 13d6a44a..3f24d59b 100644 --- a/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_ir_sbd_.m +++ b/decArgo_soft/soft/util/sub/generate_json_float_meta_prv_ir_sbd_.m @@ -149,7 +149,7 @@ function generate_json_float_meta_prv_ir_sbd_( ... metaStruct.(metaBddStructField) = 'UNKNOWN'; end if (strcmp(metaBddStructField, 'FLOAT_SERIAL_NO')) - fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: FLOAT_SERIAL_NO (''%s'') is mandatory - no json file generated\n', ... floatNum, metaBddStructValue); skipFloat = 1; end @@ -160,7 +160,7 @@ function generate_json_float_meta_prv_ir_sbd_( ... % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -214,7 +214,7 @@ function generate_json_float_meta_prv_ir_sbd_( ... if (~isempty(metaStruct.SENSOR_SERIAL_NO)) for idS = 1:length(metaStruct.SENSOR_SERIAL_NO) if (isempty(metaStruct.SENSOR_SERIAL_NO{idS})) - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory (for SENSOR=''%s'' SENSOR_MODEL=''%s'' SENSOR_MAKER=''%s'') - no json file generated\n', ... floatNum, ... metaStruct.SENSOR{idS}, ... metaStruct.SENSOR_MODEL{idS}, ... @@ -223,7 +223,7 @@ function generate_json_float_meta_prv_ir_sbd_( ... end end else - fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: SENSOR_SERIAL_NO is mandatory - no json file generated\n', ... floatNum); skipFloat = 1; end @@ -354,7 +354,7 @@ function generate_json_float_meta_prv_ir_sbd_( ... end else if (strcmp(configBddStructName, 'CONFIG_IC00_NbDaysWithoutSurfacingAfterIceDetection')) - fprintf('ERROR: Float #%d: CONFIG_IC00 (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: CONFIG_IC00 (''%s'') is mandatory - no json file generated\n', ... floatNum, configBddStructValue); skipFloat = 1; end @@ -462,7 +462,7 @@ function generate_json_float_meta_prv_ir_sbd_( ... end else if (strcmp(configBddStructName, 'CONFIG_PG00_NbDaysWithoutSurfacingAfterIceDetection')) - fprintf('ERROR: Float #%d: CONFIG_PG00 (''%s'') is mandatory => no json file generated\n', ... + fprintf('ERROR: Float #%d: CONFIG_PG00 (''%s'') is mandatory - no json file generated\n', ... floatNum, configBddStructValue); skipFloat = 1; end diff --git a/decArgo_soft/soft/util/sub/get_meta_data_cts5.m b/decArgo_soft/soft/util/sub/get_meta_data_cts5.m index 9fd5d1e2..e30879a1 100644 --- a/decArgo_soft/soft/util/sub/get_meta_data_cts5.m +++ b/decArgo_soft/soft/util/sub/get_meta_data_cts5.m @@ -44,7 +44,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: FLOAT_SERIAL_NO differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: FLOAT_SERIAL_NO differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.FLOAT_SERIAL_NO, ... metaData.profiler.sn, ... @@ -56,7 +56,7 @@ end if (isfield(metaData.profiler, 'model')) if (~strcmp(metaData.profiler.model, o_metaStruct.PLATFORM_TYPE)) - fprintf('WARNING: BDD: Float #%d: PLATFORM_TYPE differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: PLATFORM_TYPE differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.PLATFORM_TYPE, ... metaData.profiler.model, ... @@ -73,7 +73,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: TRANS_SYSTEM differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: TRANS_SYSTEM differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.TRANS_SYSTEM{1}, ... metaData.telecom.type, ... @@ -97,7 +97,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: CONTROLLER_BOARD_TYPE_PRIMARY differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: CONTROLLER_BOARD_TYPE_PRIMARY differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CONTROLLER_BOARD_TYPE_PRIMARY, ... metaData.hardware.control_board.model, ... @@ -112,7 +112,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: CONTROLLER_BOARD_TYPE_PRIMARY differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: CONTROLLER_BOARD_TYPE_PRIMARY differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.FIRMWARE_VERSION, ... metaData.hardware.control_board.firmware, ... @@ -129,7 +129,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: CONTROLLER_BOARD_TYPE_SECONDARY differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: CONTROLLER_BOARD_TYPE_SECONDARY differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CONTROLLER_BOARD_TYPE_SECONDARY, ... metaData.hardware.measure_board.model, ... @@ -159,7 +159,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'CTD_PRES', ... o_metaStruct.SENSOR_SERIAL_NO{idF}, ... @@ -177,7 +177,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'CTD_TEMP', ... o_metaStruct.SENSOR_SERIAL_NO{idF}, ... @@ -192,7 +192,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'CTD_CNDC', ... o_metaStruct.SENSOR_SERIAL_NO{idF}, ... @@ -209,7 +209,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'CTD_TEMP', ... o_metaStruct.SENSOR_MODEL{idF}, ... @@ -224,7 +224,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'CTD_CNDC', ... o_metaStruct.SENSOR_MODEL{idF}, ... @@ -249,7 +249,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'OPTODE_DOXY', ... o_metaStruct.SENSOR_SERIAL_NO{idF}, ... @@ -265,7 +265,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'OPTODE_DOXY', ... o_metaStruct.SENSOR_MODEL{idF}, ... @@ -285,7 +285,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_PHASE_COEF_0 differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_PHASE_COEF_0 differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OPTODE.PhaseCoef0, ... metaData.sensors.sensor_do.phase_coeff.c0, ... @@ -301,7 +301,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C0 differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C0 differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OPTODE.SVUFoilCoef0, ... metaData.sensors.sensor_do.svu_foil_coeff.c0, ... @@ -316,7 +316,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C1 differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C1 differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OPTODE.SVUFoilCoef1, ... metaData.sensors.sensor_do.svu_foil_coeff.c1, ... @@ -331,7 +331,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C2 differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C2 differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OPTODE.SVUFoilCoef2, ... metaData.sensors.sensor_do.svu_foil_coeff.c2, ... @@ -346,7 +346,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C3 differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C3 differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OPTODE.SVUFoilCoef3, ... metaData.sensors.sensor_do.svu_foil_coeff.c3, ... @@ -361,7 +361,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C4 differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C4 differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OPTODE.SVUFoilCoef4, ... metaData.sensors.sensor_do.svu_foil_coeff.c4, ... @@ -376,7 +376,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C5 differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C5 differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OPTODE.SVUFoilCoef5, ... metaData.sensors.sensor_do.svu_foil_coeff.c5, ... @@ -391,7 +391,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C6 differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: AANDERAA_OPTODE_COEF_C6 differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OPTODE.SVUFoilCoef6, ... metaData.sensors.sensor_do.svu_foil_coeff.c6, ... @@ -418,7 +418,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'RADIOMETER_DOWN_IRR380', ... o_metaStruct.SENSOR_SERIAL_NO{idF}, ... @@ -428,7 +428,7 @@ a_floatNum, ... metaData.sensors.sensor_ocr.sensor.sn); - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'RADIOMETER_DOWN_IRR412', ... o_metaStruct.SENSOR_SERIAL_NO{idF2}, ... @@ -438,7 +438,7 @@ a_floatNum, ... metaData.sensors.sensor_ocr.sensor.sn); - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'RADIOMETER_DOWN_IRR490', ... o_metaStruct.SENSOR_SERIAL_NO{idF3}, ... @@ -448,7 +448,7 @@ a_floatNum, ... metaData.sensors.sensor_ocr.sensor.sn); - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'RADIOMETER_PAR', ... o_metaStruct.SENSOR_SERIAL_NO{idF4}, ... @@ -464,7 +464,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'RADIOMETER_DOWN_IRR380', ... o_metaStruct.SENSOR_MODEL{idF}, ... @@ -474,7 +474,7 @@ a_floatNum, ... metaData.sensors.sensor_ocr.sensor.model); - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'RADIOMETER_DOWN_IRR412', ... o_metaStruct.SENSOR_MODEL{idF2}, ... @@ -484,7 +484,7 @@ a_floatNum, ... metaData.sensors.sensor_ocr.sensor.model); - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'RADIOMETER_DOWN_IRR490', ... o_metaStruct.SENSOR_MODEL{idF3}, ... @@ -494,7 +494,7 @@ a_floatNum, ... metaData.sensors.sensor_ocr.sensor.model); - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'RADIOMETER_PAR', ... o_metaStruct.SENSOR_MODEL{idF4}, ... @@ -514,7 +514,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A0Lambda380 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A0Lambda380 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_01.a0, ... csvFileCoefPathName); @@ -525,7 +525,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A0Lambda380 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A0Lambda380 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.A0Lambda380, ... metaData.sensors.sensor_ocr.channel_01.a0, ... @@ -540,7 +540,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A1Lambda380 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A1Lambda380 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_01.a1, ... csvFileCoefPathName); @@ -551,7 +551,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A1Lambda380 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A1Lambda380 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.A1Lambda380, ... metaData.sensors.sensor_ocr.channel_01.a1, ... @@ -566,7 +566,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR LmLambda380 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR LmLambda380 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_01.im, ... csvFileCoefPathName); @@ -577,7 +577,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR LmLambda380 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR LmLambda380 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.LmLambda380, ... metaData.sensors.sensor_ocr.channel_01.im, ... @@ -594,7 +594,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A0Lambda412 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A0Lambda412 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_02.a0, ... csvFileCoefPathName); @@ -605,7 +605,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A0Lambda412 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A0Lambda412 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.A0Lambda412, ... metaData.sensors.sensor_ocr.channel_02.a0, ... @@ -620,7 +620,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A1Lambda412 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A1Lambda412 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_02.a1, ... csvFileCoefPathName); @@ -631,7 +631,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A1Lambda412 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A1Lambda412 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.A1Lambda412, ... metaData.sensors.sensor_ocr.channel_02.a1, ... @@ -646,7 +646,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR LmLambda412 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR LmLambda412 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_02.im, ... csvFileCoefPathName); @@ -657,7 +657,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR LmLambda412 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR LmLambda412 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.LmLambda412, ... metaData.sensors.sensor_ocr.channel_02.im, ... @@ -674,7 +674,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A0Lambda490 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A0Lambda490 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_03.a0, ... csvFileCoefPathName); @@ -685,7 +685,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A0Lambda490 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A0Lambda490 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.A0Lambda490, ... metaData.sensors.sensor_ocr.channel_03.a0, ... @@ -700,7 +700,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A1Lambda490 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A1Lambda490 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_03.a1, ... csvFileCoefPathName); @@ -711,7 +711,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A1Lambda490 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A1Lambda490 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.A1Lambda490, ... metaData.sensors.sensor_ocr.channel_03.a1, ... @@ -726,7 +726,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR LmLambda490 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR LmLambda490 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_03.im, ... csvFileCoefPathName); @@ -737,7 +737,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR LmLambda490 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR LmLambda490 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.LmLambda490, ... metaData.sensors.sensor_ocr.channel_03.im, ... @@ -754,7 +754,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A0PAR coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A0PAR coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_04.a0, ... csvFileCoefPathName); @@ -765,7 +765,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A0PAR coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A0PAR coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.A0PAR, ... metaData.sensors.sensor_ocr.channel_04.a0, ... @@ -780,7 +780,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A1PAR coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A1PAR coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_04.a1, ... csvFileCoefPathName); @@ -791,7 +791,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR A1PAR coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR A1PAR coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.A1PAR, ... metaData.sensors.sensor_ocr.channel_04.a1, ... @@ -806,7 +806,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR LmPAR coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR LmPAR coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_ocr.channel_04.im, ... csvFileCoefPathName); @@ -817,7 +817,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: OCR LmPAR coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: OCR LmPAR coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.OCR.LmPAR, ... metaData.sensors.sensor_ocr.channel_04.im, ... @@ -844,7 +844,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'FLUOROMETER_CHLA', ... o_metaStruct.SENSOR_SERIAL_NO{idF}, ... @@ -854,7 +854,7 @@ a_floatNum, ... metaData.sensors.sensor_eco.sensor.sn); - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'BACKSCATTERINGMETER_BBP700', ... o_metaStruct.SENSOR_SERIAL_NO{idF2}, ... @@ -864,7 +864,7 @@ a_floatNum, ... metaData.sensors.sensor_eco.sensor.sn); - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'FLUOROMETER_CDOM', ... o_metaStruct.SENSOR_SERIAL_NO{idF3}, ... @@ -880,7 +880,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'FLUOROMETER_CHLA', ... o_metaStruct.SENSOR_MODEL{idF}, ... @@ -890,7 +890,7 @@ a_floatNum, ... metaData.sensors.sensor_eco.sensor.model); - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'SCATTEROMETER_BBP', ... o_metaStruct.SENSOR_MODEL{idF2}, ... @@ -900,7 +900,7 @@ a_floatNum, ... metaData.sensors.sensor_eco.sensor.model); - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'FLUOROMETER_CDOM', ... o_metaStruct.SENSOR_MODEL{idF3}, ... @@ -920,7 +920,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactChloroA coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactChloroA coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_eco.channel_01.sf, ... csvFileCoefPathName); @@ -931,7 +931,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactChloroA coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactChloroA coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.ECO3.ScaleFactChloroA, ... metaData.sensors.sensor_eco.channel_01.sf, ... @@ -946,7 +946,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountChloroA coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountChloroA coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_eco.channel_01.dc, ... csvFileCoefPathName); @@ -957,7 +957,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountChloroA coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountChloroA coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.ECO3.DarkCountChloroA, ... metaData.sensors.sensor_eco.channel_01.dc, ... @@ -974,7 +974,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactBackscatter700 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactBackscatter700 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_eco.channel_02.sf, ... csvFileCoefPathName); @@ -985,7 +985,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactBackscatter700 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactBackscatter700 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.ECO3.ScaleFactBackscatter700, ... metaData.sensors.sensor_eco.channel_02.sf, ... @@ -1000,7 +1000,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountBackscatter700 coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountBackscatter700 coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_eco.channel_02.dc, ... csvFileCoefPathName); @@ -1011,7 +1011,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountBackscatter700 coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountBackscatter700 coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.ECO3.DarkCountBackscatter700, ... metaData.sensors.sensor_eco.channel_02.dc, ... @@ -1028,7 +1028,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactCDOM coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactCDOM coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_eco.channel_03.sf, ... csvFileCoefPathName); @@ -1039,7 +1039,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactCDOM coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 ScaleFactCDOM coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.ECO3.ScaleFactCDOM, ... metaData.sensors.sensor_eco.channel_03.sf, ... @@ -1054,7 +1054,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountCDOM coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountCDOM coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... metaData.sensors.sensor_eco.channel_03.dc, ... csvFileCoefPathName); @@ -1065,7 +1065,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountCDOM coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 DarkCountCDOM coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.ECO3.DarkCountCDOM, ... metaData.sensors.sensor_eco.channel_03.dc, ... @@ -1081,7 +1081,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 KhiCoefBackscatter coef (%s) is missing in META.json file => calib_coef file contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 KhiCoefBackscatter coef (%s) is missing in META.json file - calib_coef file contents should be updated (see %s)\n', ... a_floatNum, ... KhiCoefBackscatter, ... csvFileCoefPathName); @@ -1092,7 +1092,7 @@ if (isempty(csvFileCoefId)) [csvFileCoefId, csvFileCoefPathName] = open_csv_file(a_outputCsvDirName, 'C'); end - fprintf('WARNING: COEF: Float #%d: ECO3 KhiCoefBackscatter coef differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: COEF: Float #%d: ECO3 KhiCoefBackscatter coef differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... o_metaStruct.CALIBRATION_COEFFICIENT.ECO3.KhiCoefBackscatter, ... KhiCoefBackscatter, ... @@ -1114,7 +1114,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_SERIAL_NO for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'AUX_PARTICLES_PLANKTON_CAMERA', ... o_metaStruct.SENSOR_SERIAL_NO{idF}, ... @@ -1130,7 +1130,7 @@ if (isempty(csvFileBddId)) [csvFileBddId, csvFileBddPathName] = open_csv_file(a_outputCsvDirName, 'B'); end - fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') => DB contents should be updated (see %s)\n', ... + fprintf('WARNING: BDD: Float #%d: SENSOR_MODEL for ''%s'' differ (database: ''%s'' xml:''%s'') - DB contents should be updated (see %s)\n', ... a_floatNum, ... 'AUX_PARTICLES_PLANKTON_CAMERA', ... o_metaStruct.SENSOR_MODEL{idF}, ... diff --git a/decArgo_soft/soft/util/sub/get_rt_offset.m b/decArgo_soft/soft/util/sub/get_rt_offset.m index 615e6a2f..8aeae31d 100644 --- a/decArgo_soft/soft/util/sub/get_rt_offset.m +++ b/decArgo_soft/soft/util/sub/get_rt_offset.m @@ -2,14 +2,14 @@ % Get RT adjustment information from database. % % SYNTAX : -% [o_rtOffsetStruct] = get_rt_offset(a_metaData, a_idForWmo, a_floatNum) +% [o_rtOffsetStruct] = get_rt_offset(a_metaData, a_idForWmo) % % INPUT PARAMETERS : % % OUTPUT PARAMETERS : % a_metaData : all meta-data information % a_idForWmo : index in meta-data for the concerned float -% a_floatNum : float WMO number +% floatNum : float WMO number % % EXAMPLES : % @@ -19,7 +19,7 @@ % RELEASES : % 02/24/2020 - RNU - creation % ------------------------------------------------------------------------------ -function [o_rtOffsetStruct] = get_rt_offset(a_metaData, a_idForWmo, a_floatNum) +function [o_rtOffsetStruct] = get_rt_offset(a_metaData, a_idForWmo, floatNum) % output parameters initialization o_rtOffsetStruct = ''; @@ -28,6 +28,8 @@ idF = find(strcmp(a_metaData(a_idForWmo, 5), 'CALIB_RT_PARAMETER') == 1); if (~isempty(idF)) + floatNum = str2double(a_metaData{a_idForWmo(idF(1)), 1}); + rtOffsetData = []; dimLevelParam = []; @@ -62,14 +64,14 @@ [~, statusSlope] = str2num(rtOffsetSlope.(fieldNameSlope)); [~, statusValue] = str2num(rtOffsetValue.(fieldNameValue)); if ((statusSlope == 0) || (statusValue == 0)) - fprintf('ERROR: non numerical CALIB_RT_COEFFICIENT for float %d (''%s'') => exit\n', ... - a_floatNum, coefStrOri); + fprintf('ERROR: non numerical CALIB_RT_COEFFICIENT for float %d (''%s'') - exit\n', ... + floatNum, coefStrOri); return end dimLevelValueSlope = [dimLevelValueSlope dimLevel]; else - fprintf('ERROR: while parsing CALIB_RT_COEFFICIENT for float %d (found: ''%s'') => exit\n', ... - a_floatNum, coefStrOri); + fprintf('ERROR: while parsing CALIB_RT_COEFFICIENT for float %d (found: ''%s'') - exit\n', ... + floatNum, coefStrOri); return end end @@ -107,15 +109,15 @@ if (~isempty(setdiff(dimLevelParam, dimLevelValueSlope))) missingDimLev = setdiff(dimLevelParam, dimLevelValueSlope); for idD = 1:length(missingDimLev) - fprintf('ERROR: float %d no CALIB_RT_COEFFICIENT provided for DIM_LEVEL %d => exit\n', ... - a_floatNum, missingDimLev(idD)); + fprintf('ERROR: float %d no CALIB_RT_COEFFICIENT provided for DIM_LEVEL %d - exit\n', ... + floatNum, missingDimLev(idD)); end return elseif (~isempty(setdiff(dimLevelValueSlope, dimLevelParam))) missingDimLev = setdiff(dimLevelValueSlope, dimLevelParam); for idD = 1:length(missingDimLev) - fprintf('ERROR: float %d no CALIB_RT_PARAMETER provided for DIM_LEVEL %d => exit\n', ... - a_floatNum, missingDimLev(idD)); + fprintf('ERROR: float %d no CALIB_RT_PARAMETER provided for DIM_LEVEL %d - exit\n', ... + floatNum, missingDimLev(idD)); end return end @@ -124,15 +126,15 @@ if (~isempty(setdiff(dimLevelAdjError, dimLevelAdjErrorMethod))) missingDimLev = setdiff(dimLevelAdjError, dimLevelAdjErrorMethod); for idD = 1:length(missingDimLev) - fprintf('ERROR: float %d no CALIB_RT_ADJ_ERROR_METHOD provided for DIM_LEVEL %d => exit\n', ... - a_floatNum, missingDimLev(idD)); + fprintf('ERROR: float %d no CALIB_RT_ADJ_ERROR_METHOD provided for DIM_LEVEL %d - exit\n', ... + floatNum, missingDimLev(idD)); end return elseif (~isempty(setdiff(dimLevelAdjErrorMethod, dimLevelAdjError))) missingDimLev = setdiff(dimLevelAdjErrorMethod, dimLevelAdjError); for idD = 1:length(missingDimLev) - fprintf('ERROR: float %d no CALIB_RT_ADJUSTED_ERROR provided for DIM_LEVEL %d => exit\n', ... - a_floatNum, missingDimLev(idD)); + fprintf('ERROR: float %d no CALIB_RT_ADJUSTED_ERROR provided for DIM_LEVEL %d - exit\n', ... + floatNum, missingDimLev(idD)); end return end diff --git a/decArgo_soft/soft/util/sub/nc_create_merged_profile_.m b/decArgo_soft/soft/util/sub/nc_create_merged_profile_.m index 292c66af..547bd300 100644 --- a/decArgo_soft/soft/util/sub/nc_create_merged_profile_.m +++ b/decArgo_soft/soft/util/sub/nc_create_merged_profile_.m @@ -177,7 +177,7 @@ % check the META file format version if (~strcmp(formatVersion, '3.1')) - fprintf('WARNING: Float #%d: Input META file (%s) format version is %s => not used\n', ... + fprintf('WARNING: Float #%d: Input META file (%s) format version is %s - not used\n', ... g_cocm_floatNum, a_metaFilePathName, formatVersion); return end @@ -386,7 +386,7 @@ % check the TRAJ file format version if (~strcmp(formatVersion, '3.1')) - fprintf('WARNING: Float #%d: Input TRAJ file (%s) format version is %s => not used\n', ... + fprintf('WARNING: Float #%d: Input TRAJ file (%s) format version is %s - not used\n', ... g_cocm_floatNum, trajFilePathName, formatVersion); return end @@ -613,7 +613,7 @@ % check the PROF file format version if (~strcmp(formatVersion, '3.1')) - fprintf('WARNING: Float #%d Cycle #%d%c: Input PROF file (%s) format version is %s => not used\n', ... + fprintf('WARNING: Float #%d Cycle #%d%c: Input PROF file (%s) format version is %s - not used\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir, profFilePathName, formatVersion); return end @@ -763,7 +763,7 @@ paramName = profData.paramList{idParam}; idF = find(strcmp(paramName, metaParamList)); if (isempty(idF)) - fprintf('ERROR: Float #%d Cycle #%d%c: No SENSOR is associated to parameter ''%s'' in the meta file => exit\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: No SENSOR is associated to parameter ''%s'' in the meta file - exit\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir, paramName); return end @@ -802,11 +802,11 @@ if (~isempty(deblank(parameterDataMode))) profData.paramDataMode = [profData.paramDataMode parameterDataMode(idProf, nParamId)]; elseif (dataMode(idProf) == 'R') - % fprintf('WARNING: Float #%d Cycle #%d%c: PARAMETER_DATA_MODE information is missing in input PROF file (%s) => set to ''R'' (as DATA_MODE = ''R'')\n', ... + % fprintf('WARNING: Float #%d Cycle #%d%c: PARAMETER_DATA_MODE information is missing in input PROF file (%s) - set to ''R'' (as DATA_MODE = ''R'')\n', ... % g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir, profFilePathName); profData.paramDataMode = [profData.paramDataMode 'R']; else - fprintf('ERROR: Float #%d Cycle #%d%c: PARAMETER_DATA_MODE information is missing in input PROF file (%s) => exit (as DATA_MODE = ''%c'')\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: PARAMETER_DATA_MODE information is missing in input PROF file (%s) - exit (as DATA_MODE = ''%c'')\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir, profFilePathName, dataMode(idProf)); return end @@ -876,7 +876,7 @@ profData = profDataTabC(idProfC); for idProfB = 1:length(profDataTabB) if (length(profData.presData) ~= length(profDataTabB(idProfB).presData)) - fprintf('WARNING: Float #%d Cycle #%d%c: C and B files don''t have the same number of levels (%d vs %d) => files ignored\n', ... + fprintf('WARNING: Float #%d Cycle #%d%c: C and B files don''t have the same number of levels (%d vs %d) - files ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir, ... length(profData.presData), ... length(profDataTabB(idProfB).presData)); @@ -1046,7 +1046,7 @@ sortedId(idToShift) = sortedId(idToShift) + 1; sortedId(idProf) = sortedId(idRef) + 1; else - fprintf('ERROR: Float #%d Cycle #%d%c: ''%s'' unpumped profile #%d cannot be assocated to existing one => data ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: ''%s'' unpumped profile #%d cannot be assocated to existing one - data ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir, ... idProf); end @@ -1269,112 +1269,112 @@ % check input profile consistency errorFlag = 0; if (length(unique({a_profData.handbookVersion})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple HANDBOOK_VERSION => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple HANDBOOK_VERSION - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.referenceDateTime})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple REFERENCE_DATE_TIME => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple REFERENCE_DATE_TIME - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.platformNumber})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple PLATFORM_NUMBER => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple PLATFORM_NUMBER - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.projectName})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple PROJECT_NAME => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple PROJECT_NAME - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.piName})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple PI_NAME => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple PI_NAME - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique([a_profData.cycleNumber])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple CYCLE_NUMBER => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple CYCLE_NUMBER - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.direction})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple DIRECTION => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple DIRECTION - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.dataCentre})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple DATA_CENTRE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple DATA_CENTRE - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.platformType})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple PLATFORM_TYPE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple PLATFORM_TYPE - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.floatSerialNo})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple FLOAT_SERIAL_NO => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple FLOAT_SERIAL_NO - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.firmwareVersion})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple FIRMWARE_VERSION => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple FIRMWARE_VERSION - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.wmoInstType})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple WMO_INST_TYPE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple WMO_INST_TYPE - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique([a_profData.juld])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique([a_profData.juldResolution])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD:resolution => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD:resolution - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.juldQc})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_QC => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_QC - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique([a_profData.juldLocation])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_LOCATION => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_LOCATION - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique([a_profData.juldLocationResolution])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_LOCATION:resolution => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_LOCATION:resolution - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique([a_profData.latitude])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple LATITUDE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple LATITUDE - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique([a_profData.longitude])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple LONGITUDE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple LONGITUDE - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.positionQc})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple POSITION_QC => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple POSITION_QC - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique({a_profData.positioningSystem})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple POSITIONING_SYSTEM => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple POSITIONING_SYSTEM - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end if (length(unique([a_profData.configMissionNumber])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple CONFIG_MISSION_NUMBER => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple CONFIG_MISSION_NUMBER - file ignored\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); errorFlag = 1; end @@ -1685,7 +1685,7 @@ if (~isempty(idF)) trajParamId = [trajParamId idF]; else - fprintf('ERROR: Float #%d Cycle #%d%c: ''%s'' parameter not found in TRAJ file => cannot add time on profile levels\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: ''%s'' parameter not found in TRAJ file - cannot add time on profile levels\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir, paramName); trajParamId = []; break @@ -1721,7 +1721,7 @@ end end else - fprintf('ERROR: Float #%d Cycle #%d%c: PROF and TRAJ files have not the same number of parameters => cannot add time on profile levels\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: PROF and TRAJ files have not the same number of parameters - cannot add time on profile levels\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); end @@ -1869,7 +1869,7 @@ if (isempty(o_mergedProfData.paramData)) - fprintf('INFO: Float #%d Cycle #%d%c: no data remain after processing => no merged profile\n', ... + fprintf('INFO: Float #%d Cycle #%d%c: no data remain after processing - no merged profile\n', ... g_cocm_floatNum, g_cocm_cycleNum, g_cocm_cycleDir); o_mergedProfData = []; end diff --git a/decArgo_soft/soft/util/sub/nc_create_synthetic_profile_.m b/decArgo_soft/soft/util/sub/nc_create_synthetic_profile_.m index 1f640e45..0ecf4107 100644 --- a/decArgo_soft/soft/util/sub/nc_create_synthetic_profile_.m +++ b/decArgo_soft/soft/util/sub/nc_create_synthetic_profile_.m @@ -179,7 +179,7 @@ function nc_create_synthetic_profile_( ... % check the PROF file format version if (~strcmp(formatVersion, '3.1')) - fprintf('ERROR: Float #%d Cycle #%d%c: Input PROF file (%s) format version is %s => not used\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: Input PROF file (%s) format version is %s - not used\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir, profFilePathName, formatVersion); % CSV output @@ -362,11 +362,11 @@ function nc_create_synthetic_profile_( ... if (~isempty(deblank(parameterDataMode))) profData.paramDataMode = [profData.paramDataMode parameterDataMode(idProf, nParamId)]; elseif (dataMode(idProf) == 'R') - % fprintf('WARNING: Float #%d Cycle #%d%c: PARAMETER_DATA_MODE information is missing in input PROF file (%s) => set to ''R'' (as DATA_MODE = ''R'')\n', ... + % fprintf('WARNING: Float #%d Cycle #%d%c: PARAMETER_DATA_MODE information is missing in input PROF file (%s) - set to ''R'' (as DATA_MODE = ''R'')\n', ... % g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir, profFilePathName); profData.paramDataMode = [profData.paramDataMode 'R']; else - fprintf('ERROR: Float #%d Cycle #%d%c: PARAMETER_DATA_MODE information is missing in input PROF file (%s) => exit (as DATA_MODE = ''%c'')\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: PARAMETER_DATA_MODE information is missing in input PROF file (%s) - exit (as DATA_MODE = ''%c'')\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir, profFilePathName, dataMode(idProf)); % CSV output @@ -440,7 +440,7 @@ function nc_create_synthetic_profile_( ... profData = profDataTabC(idProfC); for idProfB = 1:length(profDataTabB) if (length(profData.presData) ~= length(profDataTabB(idProfB).presData)) - fprintf('ERROR: Float #%d Cycle #%d%c: C and B files don''t have the same number of levels (%d vs %d) => files ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: C and B files don''t have the same number of levels (%d vs %d) - files ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir, ... length(profData.presData), ... length(profDataTabB(idProfB).presData)); @@ -866,7 +866,7 @@ function nc_create_synthetic_profile_( ... % check input profile consistency errorFlag = 0; if (length(unique({a_profData.handbookVersion})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple HANDBOOK_VERSION => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple HANDBOOK_VERSION - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -877,7 +877,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.referenceDateTime})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple REFERENCE_DATE_TIME => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple REFERENCE_DATE_TIME - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -888,7 +888,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.platformNumber})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple PLATFORM_NUMBER => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple PLATFORM_NUMBER - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -899,7 +899,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.projectName})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple PROJECT_NAME => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple PROJECT_NAME - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -910,7 +910,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.piName})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple PI_NAME => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple PI_NAME - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -921,7 +921,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique([a_profData.cycleNumber])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple CYCLE_NUMBER => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple CYCLE_NUMBER - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -932,7 +932,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.direction})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple DIRECTION => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple DIRECTION - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -943,7 +943,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.dataCentre})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple DATA_CENTRE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple DATA_CENTRE - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -954,7 +954,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.platformType})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple PLATFORM_TYPE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple PLATFORM_TYPE - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -965,7 +965,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.floatSerialNo})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple FLOAT_SERIAL_NO => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple FLOAT_SERIAL_NO - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -976,7 +976,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.firmwareVersion})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple FIRMWARE_VERSION => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple FIRMWARE_VERSION - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -987,7 +987,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.wmoInstType})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple WMO_INST_TYPE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple WMO_INST_TYPE - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -998,7 +998,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique([a_profData.juld])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1009,7 +1009,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique([a_profData.juldResolution])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD:resolution => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD:resolution - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1020,7 +1020,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.juldQc})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_QC => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_QC - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1031,7 +1031,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique([a_profData.juldLocation])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_LOCATION => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_LOCATION - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1042,7 +1042,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique([a_profData.juldLocationResolution])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_LOCATION:resolution => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple JULD_LOCATION:resolution - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1053,7 +1053,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique([a_profData.latitude])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple LATITUDE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple LATITUDE - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1064,7 +1064,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique([a_profData.longitude])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple LONGITUDE => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple LONGITUDE - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1075,7 +1075,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.positionQc})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple POSITION_QC => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple POSITION_QC - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1086,7 +1086,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique({a_profData.positioningSystem})) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple POSITIONING_SYSTEM => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple POSITIONING_SYSTEM - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1097,7 +1097,7 @@ function nc_create_synthetic_profile_( ... errorFlag = 1; end if (length(unique([a_profData.configMissionNumber])) > 1) - fprintf('ERROR: Float #%d Cycle #%d%c: multiple CONFIG_MISSION_NUMBER => file ignored\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: multiple CONFIG_MISSION_NUMBER - file ignored\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -1364,7 +1364,7 @@ function nc_create_synthetic_profile_( ... if (isempty(o_syntProfData.paramData)) - fprintf('ERROR: Float #%d Cycle #%d%c: no data remain after processing => no synthetic profile\n', ... + fprintf('ERROR: Float #%d Cycle #%d%c: no data remain after processing - no synthetic profile\n', ... g_cocs_floatNum, g_cocs_cycleNum, g_cocs_cycleDir); % CSV output @@ -3103,87 +3103,3 @@ function fill_synthetic_multi_profiles_file(a_fileName, a_profData) netcdf.close(fCdf); return - -% ------------------------------------------------------------------------------ -% Remove a given diretory and all its contents. -% -% SYNTAX : -% [o_ok] = remove_directory(a_dirPathName) -% -% INPUT PARAMETERS : -% a_dirPathName : path name of the directory to remove -% -% OUTPUT PARAMETERS : -% -% EXAMPLES : -% -% SEE ALSO : -% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) -% ------------------------------------------------------------------------------ -% RELEASES : -% 01/25/2015 - RNU - creation -% ------------------------------------------------------------------------------ -function [o_ok] = remove_directory(a_dirPathName) - -% output parameters initialization -o_ok = 0; - -NB_ATTEMPTS = 10; - -if (exist(a_dirPathName, 'dir') == 7) - [status, ~, ~] = rmdir(a_dirPathName, 's'); - if (status ~= 1) - nbAttemps = 0; - while ((nbAttemps < NB_ATTEMPTS) && (status ~= 1)) - pause(1); - [status, ~, ~] = rmdir(a_dirPathName, 's'); - nbAttemps = nbAttemps + 1; - end - if (status ~= 1) - fprintf('ERROR: Unable to remove directory: %s\n', a_dirPathName); - return - end - end -end - -o_ok = 1; - -return - -% ------------------------------------------------------------------------------ -% Move file. -% -% SYNTAX : -% [o_ok] = move_file(a_sourceFileName, a_destFileName) -% -% INPUT PARAMETERS : -% a_sourceFileName : source file path name -% a_destFileName : destination file path name -% -% OUTPUT PARAMETERS : -% o_ok : copy operation report flag (1 if ok, 0 otherwise) -% -% EXAMPLES : -% -% SEE ALSO : -% AUTHORS : Jean-Philippe Rannou (Altran)(jean-philippe.rannou@altran.com) -% ------------------------------------------------------------------------------ -% RELEASES : -% 01/10/2014 - RNU - creation -% ------------------------------------------------------------------------------ -function [o_ok] = move_file(a_sourceFileName, a_destFileName) - -% output parameters initialization -o_ok = 1; - - -[status, message, messageid] = movefile(a_sourceFileName, a_destFileName); -if (status == 0) - fprintf('ERROR: Error while moving file %s to file %s (%s)\n', ... - a_sourceFileName, ... - a_destFileName, ... - message); - o_ok = 0; -end - -return diff --git a/decArgo_soft/soft/util/sub/read_conf_cmd_report_105_to_110_112.m b/decArgo_soft/soft/util/sub/read_conf_cmd_report_105_to_110_112.m index e7f80989..afd4a89c 100644 --- a/decArgo_soft/soft/util/sub/read_conf_cmd_report_105_to_110_112.m +++ b/decArgo_soft/soft/util/sub/read_conf_cmd_report_105_to_110_112.m @@ -187,7 +187,7 @@ % read the configuration file if ~(exist(a_configReportFileName, 'file') == 2) - fprintf('WARNING: Float #%d: Input file not found: %s => using the default configuration\n', a_floatNum, a_configReportFileName); + fprintf('WARNING: Float #%d: Input file not found: %s - using the default configuration\n', a_floatNum, a_configReportFileName); else fId = fopen(a_configReportFileName, 'r'); diff --git a/decArgo_soft/soft/util/sub/read_conf_cmd_report_111_113.m b/decArgo_soft/soft/util/sub/read_conf_cmd_report_111_113.m index 58c6869b..7bcc38f4 100644 --- a/decArgo_soft/soft/util/sub/read_conf_cmd_report_111_113.m +++ b/decArgo_soft/soft/util/sub/read_conf_cmd_report_111_113.m @@ -135,7 +135,7 @@ % read the configuration file if ~(exist(a_configReportFileName, 'file') == 2) - fprintf('WARNING: Float #%d: Input file not found: %s => using the default configuration\n', a_floatNum, a_configReportFileName); + fprintf('WARNING: Float #%d: Input file not found: %s - using the default configuration\n', a_floatNum, a_configReportFileName); else fId = fopen(a_configReportFileName, 'r'); diff --git a/decArgo_soft/soft/util/sub/read_conf_cmd_report_arvor_cm.m b/decArgo_soft/soft/util/sub/read_conf_cmd_report_arvor_cm.m index 545a5b75..b8463640 100644 --- a/decArgo_soft/soft/util/sub/read_conf_cmd_report_arvor_cm.m +++ b/decArgo_soft/soft/util/sub/read_conf_cmd_report_arvor_cm.m @@ -103,7 +103,7 @@ % read the configuration file if ~(exist(a_configReportFileName, 'file') == 2) - fprintf('WARNING: Float #%d: Input file not found: %s => using the default configuration\n', a_floatNum, a_configReportFileName); + fprintf('WARNING: Float #%d: Input file not found: %s - using the default configuration\n', a_floatNum, a_configReportFileName); else fId = fopen(a_configReportFileName, 'r'); diff --git a/decArgo_soft/soft/util/sub_foreign/ARGO_simplified_profile - Avant modifs pour output CSV.m b/decArgo_soft/soft/util/sub_foreign/ARGO_simplified_profile - Avant modifs pour output CSV.m new file mode 100644 index 00000000..1aca7dae --- /dev/null +++ b/decArgo_soft/soft/util/sub_foreign/ARGO_simplified_profile - Avant modifs pour output CSV.m @@ -0,0 +1,1115 @@ +function synthfull=ARGO_simplified_profile(varargin) +% +% +% create simplified Biogeochemical-Argo single cycle file from DAC c- and +% b- files with synthetic pressure axis +% +% - synthetic axis constructed from data +% - include CONFIG_VerticalPressureOffset_dbar from +% WMO_meta.nc if present in meta file +% - obey n_prof priorities (needs WMO_meta.nc) +% - single gaps in series of 5 filled with interpolated data +% - interleave non-BGC level T/S profile for full T/S resolution +% +% inputs: - 'bfilepath', 'cfilepath' (one of them is mandatory) +% - 'metafilepath' (optional) +% - 'bgcFloatFlag' (optional; default true): by setting to zero, +% all parts on synthetic axis construction can be skipped in +% case the float is core-only and N_PROFs of core data should be +% combined anyway +% +% usage: +% out=ARGO_simplified_profile('bfilepath','BR6901485_050.nc'); +% out=ARGO_simplified_profile('bfilepath','6901485/profiles/BR6901485_050.nc'); +% out=ARGO_simplified_profile('bfilepath','argo/coriolis/6901485/profiles/BR6901485_050.nc','cfilepath','argo/coriolis/6901485/profiles/R6901485_050.nc','metafilepath','argo/coriolis/6901485/6901485_meta.nc'); +% +% +% Henry Bittig, LOV/IOW +% 18.01.2018 +% 05.03.2018, updated +% 19.04.2018, use b- and c- files instead of m-files +% 15.06.2018, modify input to name/value pairs +% 27.06.2018, make approach more robust: Union of PARAMETER and STATION_PARAMETERS, +% only apply vertical offsets for sensors with data, be tolerant towards +% older, pre-v3.1 meta files +% 29.06.2018, separate PARAM and PARAM_ADJUSTED overlap determination, using no bad PRES_QC +% 11.02.2019, following ADMT in San Diego: include HR T/S profile at end; +% rework code for R2018b; recognize netcdf dim order +% 18.02.2019, streamlining of code +% 30.06.2020, create s-profile also in absence of BGC-levels or in the +% absence of either core- or b-profile, gap data do not get a +% QC of '8' if either bounding point has QC '3' or '4', PRES/ +% PRES_ADJUSTED do not get a QC of '8' either, add file name to +% all info messages, correct treatment of levels with QC '4' in +% adjusted fields, add bgcFloatFlag as optional input + + +if nargin<1 || isempty(varargin) + varargin{1}='bfilepath';varargin{2}='\argo\dac\coriolis\6901485\profiles\BR6901485_049.nc'; +end + +includeTSflag=0; +addTSeverywhere=1; +verbose=1; +addoffsetflag=1; % add pressure sensor vertical pressure offset to PRES + +fieldsuffixvarname={'PRES';'BBP[0-9]+';'BISULFIDE';'CDOM';'CHLA';'CP[0-9]+';'DOWN_IRRADIANCE[0-9]+';'DOWNWELLING_PAR';'DOXY';'NITRATE';'PH_IN_SITU_TOTAL';'TURBIDITY';'UP_RADIANCE[0-9]+';}; +%% get file names +bfilepath='';cfilepath='';metafilepath=''; +bgcfloatflag=true(1); +for i=1:floor(length(varargin)/2) + switch varargin{2*i-1} + case 'bfilepath' + bfilepath=varargin{2*i}; + case 'cfilepath' + cfilepath=varargin{2*i}; + case 'metafilepath' + metafilepath=varargin{2*i}; + case 'bgcFloatFlag' + bgcfloatflag=varargin{2*i}; + end +end +if isempty(cfilepath) && isempty(bfilepath) % either profile file must be present + if verbose>-2, disp(['S-PROF_ERROR: Either core-profile or b-profile path must be specified. Abort..']), end + synthfull=[]; + return +end +if isempty(cfilepath) +% figure out name of the corresponding core file +[basepath,fname]=fileparts(bfilepath); +fnamec=dir([basepath filesep 'R' fname(3:end) '.nc']); +if isempty(fnamec), fnamec=dir([basepath filesep 'D' fname(3:end) '.nc']); end +if ~isempty(fnamec), cfilepath=[basepath filesep fnamec.name]; end +clear fnamec fname basepath +end +if isempty(bfilepath) && bgcfloatflag +% figure out name of the corresponding bgc file +[basepath,fname]=fileparts(cfilepath); +fnameb=dir([basepath filesep 'BR' fname(2:end) '.nc']); +if isempty(fnameb), fnameb=dir([basepath filesep 'BD' fname(2:end) '.nc']); end +if ~isempty(fnameb), bfilepath=[basepath filesep fnameb.name]; end +clear fnameb fname basepath +end +% keep b- and core-file names for error/warning/info reporting +[~,bfilestr]=fileparts(bfilepath); +[~,cfilestr]=fileparts(cfilepath); + +%% load b-file netcdf into convenient structure +if ~isempty(bfilepath) % b-file exists + S=lov_netcdf_pickprod(bfilepath); + % remove everything but PRES and b-parameters + fnames=fieldnames(S); + fnamesind=true(size(fnames)); + for k=1:length(fieldsuffixvarname) + fnamesind(~cellfun(@isempty,regexp(fnames,['^' fieldsuffixvarname{k} '$*'])))=0; % normal variable + fnamesind(~cellfun(@isempty,regexp(fnames,['^' fieldsuffixvarname{k} '[0-9]+$*'])))=0; % multiple variable + fnamesind(~cellfun(@isempty,regexp(fnames,['^' fieldsuffixvarname{k} '_[0-9]+$*'])))=0; % multiple variable with underscore + end + fnamesind(ismember(fnames,'PARAMETER'))=0; % keep PARAMETER field, too: Used for N_PROF identification + fnamesind(ismember(fnames,'STATION_PARAMETERS'))=0; % keep STATION_PARAMETERS field, too: Used for backup N_PROF identification + if isempty(cfilepath) % c-file does not exists + %fnamesind(:)=0; % keep all other meta fields, too; Can't be copied from core file... + fnamesind(ismember(fnames,'PLATFORM_NUMBER'))=0; % keep WMO + end + S=rmfield(S,fnames(fnamesind)); +else % b-file does not exist + S.empty=[]; +end +%% load c-file netcdf and add core data into convenient structure +if ~isempty(cfilepath) % c-file exists + C=lov_netcdf_pickprod(cfilepath); % load core file + fnamec=setdiff(fieldnames(C),fieldnames(S)); % find core parameter names + for i=1:length(fnamec), S.(fnamec{i})=C.(fnamec{i}); end % copy core data to bio data +else + if verbose>-2, disp(['S-PROF_ERROR: File ' bfilestr '.nc: No corresponding core file found. Create empty s-profile.']), end + S.PRES_QC.value=ones(size(S.PRES.value))*4; % mimic core PRES_QC: all bad, because no info +end +if isfield(S,'empty') && bgcfloatflag + if verbose>-2, disp(['S-PROF_ERROR: File ' cfilestr '.nc: No corresponding bio file found. Use only the core file.']), end + S=rmfield(S,'empty'); +end + +%% make sure first dimension is size of field, i.e., STRING16/STRING64 for +% PARAMETER and STATION_PARAMETER in c- and b-file +% (e.g. CS 1901348: 2nd dimension) +%% core file +% dimnames must be fliplr of user manual description: +% 'char PARAMETER(N_PROF, N_CALIB, N_PARAM, STRING16);' +if ~isempty(cfilepath) % core file exists +indstr={'STRING16';'N_PARAM';'N_CALIB';'N_PROF'}; +indperm=ones(ndims(C.PARAMETER.value),1)*NaN; +try + for i=1:length(indperm), indperm(i)=find(strcmpi(C.PARAMETER.dimname,indstr{i})); end +catch me + if verbose>-1, disp(['S-PROF_WARNING: File ' cfilestr '.nc: Could not figure out N_DIMs order of core file PARAMETER field with dimensions: ' strjoin(C.PARAMETER.dimname,', ')]), end + indperm=1:ndims(C.PARAMETER.value); +end +C.PARAMETER.value=permute(C.PARAMETER.value,indperm); +C.PARAMETER.dimname=C.PARAMETER.dimname(indperm); +C.PARAMETER.dimvalue=C.PARAMETER.dimvalue(indperm); +% 'char STATION_PARAMETERS(N_PROF, N_PARAM, STRING16);' +indstr={'STRING16';'N_PARAM';'N_PROF'}; +indperm=ones(ndims(C.STATION_PARAMETERS.value),1)*NaN; +try + for i=1:length(indperm), indperm(i)=find(strcmpi(C.STATION_PARAMETERS.dimname,indstr{i})); end +catch me + if verbose>-1, disp(['S-PROF_WARNING: File ' cfilestr '.nc: Could not figure out N_DIMs order of core file STATION_PARAMETERS field with dimensions: ' strjoin(C.PARAMETER.dimname,', ')]), end + indperm=1:ndims(C.STATION_PARAMETERS.value); +end +C.STATION_PARAMETERS.value=permute(C.STATION_PARAMETERS.value,indperm); +C.STATION_PARAMETERS.dimname=C.STATION_PARAMETERS.dimname(indperm); +C.STATION_PARAMETERS.dimvalue=C.STATION_PARAMETERS.dimvalue(indperm); +else % core file does not exist + C.PARAMETER.value(:,1,1,1)='PRES'; % mimic only-PRES entry for smooth operation of code below + C.STATION_PARAMETERS.value(:,1,1)=C.PARAMETER.value(:,:,1,:); +end % core file exists +%% b-file +% 'char PARAMETER(N_PROF, N_CALIB, N_PARAM, STRING64);' +if ~isempty(bfilepath) % bio file exists +indstr={'STRING64';'N_PARAM';'N_CALIB';'N_PROF'}; +indperm=ones(ndims(S.PARAMETER.value),1)*NaN; +try + for i=1:length(indperm), indperm(i)=find(strcmpi(S.PARAMETER.dimname,indstr{i})); end +catch me + if verbose>-1, disp(['S-PROF_WARNING: File ' bfilestr '.nc: Could not figure out N_DIMs order of bio file PARAMETER field with dimensions: ' strjoin(S.PARAMETER.dimname,', ')]), end + indperm=1:ndims(S.PARAMETER.value); +end +S.PARAMETER.value=permute(S.PARAMETER.value,indperm); +S.PARAMETER.dimname=S.PARAMETER.dimname(indperm); +S.PARAMETER.dimvalue=S.PARAMETER.dimvalue(indperm); +% 'char STATION_PARAMETERS(N_PROF, N_PARAM, STRING64);' +indstr={'STRING64';'N_PARAM';'N_PROF'}; +indperm=ones(ndims(S.STATION_PARAMETERS.value),1)*NaN; +try + for i=1:length(indperm), indperm(i)=find(strcmpi(S.STATION_PARAMETERS.dimname,indstr{i})); end +catch me + if verbose>-1, disp(['S-PROF_WARNING: File ' bfilestr '.nc: Could not figure out N_DIMs order of bio file STATION_PARAMETERS field with dimensions: ' strjoin(S.PARAMETER.dimname,', ')]), end + indperm=1:ndims(S.STATION_PARAMETERS.value); +end +S.STATION_PARAMETERS.value=permute(S.STATION_PARAMETERS.value,indperm); +S.STATION_PARAMETERS.dimname=S.STATION_PARAMETERS.dimname(indperm); +S.STATION_PARAMETERS.dimvalue=S.STATION_PARAMETERS.dimvalue(indperm); +end % bio file exists +clear indperm indstr +%%{ +%% merge PARAMETER and STATION_PARAMETERS field for each N_PROF +% (used for variable identification later on) +for i=1:size(C.PARAMETER.value,4) % cycle N_PROFs, use first N_CALIB (necessarily contains all bgc variables) + % check PARAMETER and STATION_PARAMETERS + inparams=union(cellstr(squeeze(S.PARAMETER.value(:,:,1,i))'),cellstr(squeeze(S.STATION_PARAMETERS.value(:,:,i))')); + inparamsC=union(cellstr(squeeze(C.PARAMETER.value(:,:,1,i))'),cellstr(squeeze(C.STATION_PARAMETERS.value(:,:,i))')); + if isempty(char(setdiff(inparams,{'PRES';'TEMP';'PSAL';''}))) % only PRES/TEMP/PSAL -> core N_PROF: Copy core parameters + S.PARAMETER.value(1:size(C.PARAMETER.value(:,:,1,i),1),1:size(C.PARAMETER.value(:,:,1,i),2),1:size(C.PARAMETER.value(:,:,1,i),3),i)=C.PARAMETER.value(:,:,1,i); + %S.PARAMETER_DATA_MODE.value(i,1:size(C.PARAMETER.value(:,:,1,i),2))=C.DATA_MODE.value(i); + elseif isempty(char(strrep(inparamsC,'PRES',''))) % only PRES & bio -> bio N_PROF: Keep bio parameters + % nothing to do, PRES & bio already in S.PARAMETER.value + else % core and bio N_PROF: Join core and bio parameters + S.PARAMETER.value(1:size(C.PARAMETER.value(:,:,1,i),1),size(S.PARAMETER.value(:,:,1,i),2)+(2:size(C.PARAMETER.value(:,:,1,i),2))-1,1:size(C.PARAMETER.value(:,:,1,i),3),i)=C.PARAMETER.value(:,2:end,1,i); + end +end +%%} +clear fnamec fnames fnamesind + +%% get bgcparams names and N_PROFs +[noNLEVELs,noNPROFs]=size(S.PRES.value); +bgcflag=false(1,noNPROFs); +bgcparams=cell(1,noNPROFs); +% check that there are params different than PRES, TEMP, PSAL in N_PROF +for i=1:noNPROFs + inparams=union(cellstr(S.PARAMETER.value(:,:,1,i)'),cellstr(S.STATION_PARAMETERS.value(:,:,i)')); % check PARAMETER and STATION_PARAMETERS + bgcparams{i}=setdiff(inparams,{'PRES';'TEMP';'PSAL';''}); + bgcflag(i)=~isempty(bgcparams{i}); +end +% and kick out the i-parameters again / keep only the b-parameters +fnamesind=cellfun(@(x)false(size(x)),bgcparams,'uniform',0); +for k=1:length(fieldsuffixvarname) + fnamesind=cellfun(@(x,y)y | ~cellfun(@isempty,regexp(x,['^' fieldsuffixvarname{k} '$*'])),bgcparams,fnamesind,'uniform',0); % normal variable + fnamesind=cellfun(@(x,y)y | ~cellfun(@isempty,regexp(x,['^' fieldsuffixvarname{k} '[0-9]+$*'])),bgcparams,fnamesind,'uniform',0); % multiple variable + fnamesind=cellfun(@(x,y)y | ~cellfun(@isempty,regexp(x,['^' fieldsuffixvarname{k} '_[0-9]+$*'])),bgcparams,fnamesind,'uniform',0); % multiple variable with underscore +end +bgcparams=cellfun(@(x,y)x(y),bgcparams,fnamesind,'uniform',0); +% unique BGC parameters +ubgcparams=unique(cat(1, bgcparams{:})); + +%% make check: are there bgc-params in the file?? +if isempty(ubgcparams) % there are no bgc-params to align + %if verbose>-1, disp(['S-PROF_INFO: File ' bfilestr '.nc: No b-parameters found in ' bfilepath]), end + %synthfull=[]; return + addoffsetflag=0; % then skip vertical offset stuff for BGC sensors, only CTD (TEMP_MED/STD, PSAL_MED/STD, or MTIME) +end + + +%% there are b-params to align and all infos are there, do the actual work + +%% use copy of pressure to work with; rounded to 1/1000 to avoid numerical ..1e-6 issues +FV=-99999; +S.PRES.value=int32(1000*S.PRES.value); % cast truly to "1/1000" integer to avoid numerical ..1e-6 issues + +% double check pressure inversion test in profile (in a simplistic way): +% Mustn't have repeated pressure levels with PRES_QC 0..3 +% sometimes not properly flagged, e.g., D5903712_149.nc +pinversion=false(size(S.PRES.value)); +if any(size(S.PRES.value)~=size(S.PRES_QC.value)) + %{ + if verbose>-2, disp(['S-PROF_ERROR: File ' bfilestr '.nc: PRES (bio) and PRES_QC (core) dimensions don''t match. Set all PRES_QC=4 and create empty s-profile.']), end + %synthfull=[]; + %return + S.PRES_QC.value=ones(size(S.PRES.value))*4; + if isfield(S,'TEMP'), S=rmfield(S,'TEMP'); end + if isfield(S,'PSAL'), S=rmfield(S,'PSAL'); end + %} + if verbose>-2, disp(['S-PROF_ERROR: File ' bfilestr '.nc: PRES (bio) and PRES_QC (core) dimensions don''t match. Create synthetic profile only with available core data.']), end + S.PRES.value=int32(C.PRES.value); + [noNLEVELs,noNPROFs]=size(S.PRES.value); + for i=1:length(ubgcparams) + S.(ubgcparams{i}).value=S.PRES_QC.value*NaN; + S.([ubgcparams{i} '_QC']).value=S.PRES_QC.value*NaN; + S.([ubgcparams{i} '_ADJUSTED']).value=S.PRES_QC.value*NaN; + S.([ubgcparams{i} '_ADJUSTED_QC']).value=S.PRES_QC.value*NaN; + S.([ubgcparams{i} '_ADJUSTED_ERROR']).value=S.PRES_QC.value*NaN; + end + addoffsetflag=0; +end +clear C + +ind=~isnan(S.PRES.value) & ismember(S.PRES_QC.value,[0 1 2 3]); +for i=1:size(S.PRES.value,2) + pinversion(ind(:,i),i)=[diff(S.PRES.value(ind(:,i),i))<=0;0]; +end +%pinversion=pinversion & ismember(S.PRES_QC.value,[0 1 2 3]); +if any(pinversion(:)) + if verbose>1, disp(['S-PROF_INFO: File ' cfilestr '.nc: Found ' num2str(sum(pinversion(:))) ' levels with unflagged pressure inversions. Flag with PRES_QC=4.']), end + S.PRES_QC.value(pinversion)=4; + % check if there are more + pnum=0; + while any(pinversion(:)) + pinversion=false(size(S.PRES.value)); + ind=~isnan(S.PRES.value) & ismember(S.PRES_QC.value,[0 1 2 3]); + for i=1:size(S.PRES.value,2) + pinversion(ind(:,i),i)=[diff(S.PRES.value(ind(:,i),i))<=0;0]; + end + if any(pinversion(:)) + %disp(['S-PROF_WARNING: File ' cfilestr '.nc: Found ' num2str(sum(pinversion(:))) ' more levels with unflagged pressure inversions. Flag with PRES_QC=4.']) + S.PRES_QC.value(pinversion)=4; + pnum=pnum+sum(pinversion(:)); + end + end % while + if verbose>1 && pnum, disp(['S-PROF_INFO: File ' cfilestr '.nc: Found ' num2str(pnum) ' more levels with unflagged pressure inversions. Flag with PRES_QC=4.']), end +end % first iteration +clear pinversion ind pnum + +% sort out pressure axis and which N_PROF to use +% only use PRES_QC 0..3, ignore PRES_QC=4 +inpres0=S.PRES.value; % keep a copy of pressure without vertical offset correction +inpres=S.PRES.value; % use copy of pressure to work with +pflag=ismember(S.PRES_QC.value,[0 1 2 3]); +inpres(~pflag)=FV; +inpres0(~pflag)=FV; + +% check where BGC samples are present (and not all NaN) +bgcpresence=false(size(S.PRES.value)); +for i=1:length(ubgcparams) + bgcpresence=bgcpresence | ~isnan(S.(ubgcparams{i}).value); +end + +% ~includeTSflag: only use N_PROFs that have biogeochemical data, +% ignore TEMP/PSAL-only N_PROFs for construction of synthetic axis +%if ~includeTSflag, inpres(:,~bgcflag)=NaN; end +if ~includeTSflag, inpres(:,~bgcflag)=FV; inpres(~bgcpresence)=FV; end + +%% load meta file / check existence +if isempty(metafilepath) +% figure out location of the corresponding meta file +if ~isempty(bfilepath) + [basepath,~]=fileparts(bfilepath); +else + [basepath,~]=fileparts(cfilepath); +end +metafilepath=[basepath filesep char(cellstr(S.PLATFORM_NUMBER.value(1,:))) '_meta.nc']; +if ~(exist(metafilepath,'file')) +metafilepath=[basepath filesep '..' filesep char(cellstr(S.PLATFORM_NUMBER.value(1,:))) '_meta.nc']; +end +end +% keep meta-file names for error/warning/info reporting +[~,metafilestr]=fileparts(metafilepath); + +C=[]; +%infields={'LAUNCH_CONFIG_PARAMETER_NAME';'LAUNCH_CONFIG_PARAMETER_VALUE';'CONFIG_MISSION_NUMBER';'CONFIG_PARAMETER_NAME';'CONFIG_PARAMETER_VALUE'}; +infields={'LAUNCH_CONFIG_PARAMETER_NAME';'LAUNCH_CONFIG_PARAMETER_VALUE';'PARAMETER';'PARAMETER_SENSOR';'FORMAT_VERSION'}; +try + C=lov_netcdf_pickprod(metafilepath,infields); +catch me + % failed to locate meta file + if verbose>-2, disp(['S-PROF_ERROR: Float ' strtrim(S.PLATFORM_NUMBER.value(1,:)) ': Could not find meta file ' metafilepath '. Abort..']), end + synthfull=[]; + return +end +if isempty(C) + if verbose>-2, disp(['S-PROF_ERROR: Float ' strtrim(S.PLATFORM_NUMBER.value(1,:)) ': Could not find meta file ' strtrim(S.PLATFORM_NUMBER.value(1,:)) '_meta.nc in current or parent folder. Abort..']), end + synthfull=[]; + return +end % meta file exists + + +%% split up pressure in each N_PROF for each parameter/sensor +% e.g. NITRATE and DOXY in same N_PROF can have different vertical offsets +if addoffsetflag + linind=cellfun(@(x,y)repmat(x,length(y),1),num2cell(1:noNPROFs,1),bgcparams,'uniform',0); % index to N_PROF in #repetitions like bgcparams + linbgcparams=cat(1, bgcparams{:}); + linind=cat(1, linind{:}); + inpres=inpres(:,linind); % repeat pressure for each b-parameter +end % split up N_PROFs only if vertical offsets are added per sensor + +%%{ + %% check meta file for vertical pressure offsets +if addoffsetflag +if isfield(C,'LAUNCH_CONFIG_PARAMETER_NAME') % pre-v3.1 meta files might not have this field + names=C.LAUNCH_CONFIG_PARAMETER_NAME.value; + values=C.LAUNCH_CONFIG_PARAMETER_VALUE.value; + %{ + % enforce all-caps writing for Ctd + names=char(strrep(cellstr(names),'Ctd','CTD')); + %} + %% check each sensor short name for vertical offsets + sensors={'CTD';'Optode';'Ocr';'Eco';'MCOMS';'FLNTU';'Crover';'Suna';'Isus'}; % sensor short name + param_sensors={{'CTD_PRES';'CTD_TEMP';'CTD_CNDC';'CTD_PSAL'};... + 'OPTODE_DOXY';... + {'RADIOMETER_DOWN_IRR';'RADIOMETER_PAR'};... + {'FLUOROMETER_CHLA';'FLUOROMETER_CDOM';'BACKSCATTERINGMETER_BBP'};... + {'FLUOROMETER_CHLA';'FLUOROMETER_CDOM';'BACKSCATTERINGMETER_BBP'};... + {'FLUOROMETER_CHLA';'BACKSCATTERINGMETER_TURBIDITY'};... + 'TRANSMISSOMETER_CP';... + {'SPECTROPHOTOMETER_NITRATE';'SPECTROPHOTOMETER_BISULFIDE'};... + 'SPECTROPHOTOMETER_NITRATE'}; + %params={'PSAL';'DOXY';'WELLING_';{'CHLA','BBP','CDOM'};{'CHLA','BBP'};'CP660';'NITRATE'}; % associated parameter + % find occurences of search parameter + cnames={'VerticalPressureOffset_dbar'}; + ind=find(~cellfun(@isempty,strfind(cellstr(lower(names)),lower(cnames{1})))); % ignore upper/lower case + + if any(ind) + if verbose>1, disp(['S-PROF_INFO: File ' metafilestr '.nc: Found ' num2str(length(ind)) ' VerticalOffsets']); end + % get short sensor names and vertical offsets + cpnames=strrep(strrep(cellstr(lower(names(ind,:))),lower(cnames{1}),''),lower('CONFIG_'),''); + voffset=values(ind); + try % get corresponding full-length sensor name: index to param_sensors / sensors + sensorind=cellfun(@(x)find(~cellfun(@isempty,strfind(lower(sensors),lower(x)))),cpnames); + catch me + if verbose>0, disp(['S-PROF_WARNING: File ' bfilestr '.nc: Could not identify some short sensor name in meta file ' strjoin(cpnames,'; ')]), end + end + % and assign vertical offset via full-length sensor name to + % bgc parameters + linvoffset=zeros(size(linbgcparams)); + C.PARAMETER.value=cellstr(C.PARAMETER.value); % make cellstr + for i=1:length(sensorind) % cycle all vertical offsets + snames=param_sensors{sensorind(i)}; % associated param_sensor long names + if iscell(snames) % sensor has multiple param_sensor names + pind=false(length(C.PARAMETER.value),1); + for k=1:length(snames) % find occurence of param_sensor name in meta file + %pind=pind | ~cellfun(@isempty,regexp(cellstr(C.PARAMETER_SENSOR.value),['^' strrep(snames{k},'','[0-9][0-9][0-9]') '$*'])); % include secondary sensors.. + pind=pind | ~cellfun(@isempty,regexp(cellstr(C.PARAMETER_SENSOR.value),['^' strrep(snames{k},'','[0-9][0-9][0-9]') '$'])); % exclude secondary sensors + end + else + %pind=~cellfun(@isempty,regexp(cellstr(C.PARAMETER_SENSOR.value),['^' strrep(snames,'','[0-9][0-9][0-9]') '$*'])); % include secondary sensors.. + pind=~cellfun(@isempty,regexp(cellstr(C.PARAMETER_SENSOR.value),['^' strrep(snames,'','[0-9][0-9][0-9]') '$'])); % exclude secondary sensors + end % multiple or single param_sensor name + %% does ignore second sensors, e.g., DOXY and DOXY2 !!! + %% + if ~any(pind) + %disp(['S-PROF_WARNING: File ' metafilestr '.nc: Could not identify parameter with sensor name(s) ' strjoin(cellstr(snames),', ')]) + %disp(['S-PROF_WARNING: File ' metafilestr '.nc: Skipping vertical offset of ' num2str(voffset(i)) ' dbar for ' strjoin(cellstr(snames),', ')]) + %keyboard + %synthfull=[]; + %return + if verbose>0, disp(['S-PROF_WARNING: File ' bfilestr '.nc: Could not identify parameter with sensor name(s) ' strjoin(cellstr(snames),', ') '; Skipping vertical offset of ' num2str(voffset(i)) ' dbar from LAUNCH_CONFIG']), end + + else % found + pnames=C.PARAMETER.value(pind); % get i- and b- parameter names + % fill in vertical offset + linvoffset(ismember(linbgcparams,pnames))=voffset(i); + end + + clear snames pind pnames + end % cycle all vertical offsets + + % and apply offset + inpflag=inpres==FV; + inpres=inpres+int32(1e3*ones(size(inpres,1),1)*linvoffset(:)'); + inpres(inpflag)=FV; + + % do some housekeeping + voff.cpnames=cpnames;voff.voffset=voffset; + voff.linbgcparams=reshape(linbgcparams,1,[]); voff.linvoffset=reshape(linvoffset,1,[]); + clear inpflag cpnames sensorind voffset sensors param_sensors + else + if verbose>1, disp(['S-PROF_INFO: File ' bfilestr '.nc: Found no verticalOffsets in meta file']), end + voff.linbgcparams={};voff.linvoffset=[]; + end % config name found + clear ind cnames names values +else + if verbose>-1, disp(['S-PROF_INFO: File ' bfilestr '.nc: Could not find LAUNCH_CONFIG_PARAMETER_NAME in meta file (FORMAT_VERSION ' C.FORMAT_VERSION.value '). No vertical sensor offsets corrected.']), end + voff.linbgcparams={};voff.linvoffset=[]; +end % LAUNCH_CONFIG_PARAMETER_NAME +end % addoffsetflag +%%} +%clear C + +%% try to construct synthetic pressure axis only for BGC floats, not if already known that it's a core-only float +if bgcfloatflag % BGC float + +%% put extra loop around synthetic pressure axis construction - if failed, revert to core-only profile +for pconstr=1:1 % extra loop around presaxis construction +% get unique pressures (with or without TEMP/PSAL-only levels; see above) +%upres=unique(inpres(~isnan(inpres))); +upres=unique(inpres(inpres~=FV)); +if isempty(upres) + if verbose>0 + if isempty(ubgcparams) + disp(['S-PROF_WARNING: File ' bfilestr '.nc: Found no b-parameters. Create synthetic profile only with available core data.']) + else + disp(['S-PROF_WARNING: File ' bfilestr '.nc: Found b-parameter(s) ' strjoin(ubgcparams,' ') ', but without any PRES_QC=0..3 and non-FillValue BGC data. Create synthetic profile only with available core data.']) + end + end + %synthfull=[]; return + presaxis=[]; % default to empty presaxis + break % extra loop around presaxis construction +end +% and check which pressure levels are present in which profile +prespresent=false(length(upres),size(inpres,2)); +for i=1:size(inpres,2),prespresent(:,i)=ismember(upres,inpres(:,i));end + +% verify that there are BGC observations, not just BGC N_PROFs +if ~any(prespresent(:)) % may not be needed; redundant + if verbose>0, disp(['S-PROF_WARNING: File ' bfilestr '.nc: Found b-parameter(s) ' strjoin(ubgcparams,' ') ', but without any non-FillValue data. Create synthetic profile only with available core data.']), end + %synthfull=[]; return + presaxis=[]; % default to empty presaxis + break % extra loop around presaxis construction +end + +% get pressure differences between the levels in each N_PROF; use the +% minimum of preceeding/succeeding deltaPRES +valdp=ones(length(upres),size(inpres,2))*NaN; +for i=1:size(inpres,2) + %pres=inpres(~isnan(inpres(:,i)),i); + pres=inpres(inpres(:,i)~=FV,i); + if ~isempty(pres) + if length(pres)>1 + dpres=diff(pres); + valdp(prespresent(:,i),i)=min(abs([dpres(1);dpres]),abs([dpres;dpres(end)])); + else + %valdp(prespresent(:,i),i)=0; + valdp(prespresent(:,i),i)=NaN; + end + end + clear pres dpres +end + +% cycle through record from bottom +useind=false(size(upres)); +i=length(upres); % start at bottom +niter=0;nitermax=length(upres)+1; +if all(isnan(valdp(:))) % each BGC obs has only one level - no way to jump/construct synthetic pressure axis +%presaxis=median(upres); % take median pressure +presaxis=upres(end); % take deepest pressure and align rest to this level +else % cycle pressure record +while ~isempty(i) + niter=niter+1; + useind(i)=1; % add current level to synthetic axis + ind=find(upres>upres(i)-min(valdp(i,:)) & upres<=upres(i)); % get pressures that are within current level (included) and probably next level-min(dPRES) (excluded) + % check if any of the intermittent levels has such a small dPRES, that + % there will be a second observation within the current level-min(dPRES) "jump" + obspresence=~isnan(valdp(ind,:)); % make presence of non-FillValue a logical array + if ~isempty(ind) && any(sum(obspresence,1)>1) % there are other levels in between and they have more than one observation, i.e., a denser sampling interval + % go to deepest upres that features a second observation in the + % same N_PROF: sum #obs from bottom in each N_PROF, get max in each + % line (upres), and jump to (deepest) line that has >1 + i=ind(find(max(flipud(cumsum(flipud(obspresence),1)),[],2)>1,1,'last')); + if isempty(i) + %keyboard % should not happen?? Check code.. + if verbose>-3, disp(['S-PROF_ERROR: File ' bfilestr '.nc: Trouble during creation of synthetic pressure axis. Create synthetic profile only with available core data.']), end + %synthfull=[]; return + useind=[]; % default to empty presaxis if failed + break % loop of pressure levels from bottom + end + else % jump by at least current level+min(dPRES) + if all(isnan(valdp(i,:))) % no min(dPRES) available for current level: + % jump to next level that has a non-NaN valdp + i=find(upresnitermax + if verbose>-3, disp(['S-PROF_ERROR: File ' bfilestr '.nc: Exceeded maximum number of iterations in selection of synthetic pressure levels. Should not happen... Create synthetic profile only with available core data.']), end + %synthfull=[]; return + useind=[]; % default to empty presaxis if failed + break % loop of pressure levels from bottom + end +end +clear niter nitermax +presaxis=upres(useind); +end % pressure axis cycle from bottom possible? + +end % extra loop around presaxis construction, default to empty presaxis if failed +%% done with synthetic pressure axis construction, now prepare to fill/align BGC data + +else % no BGC float, core only; no additional messages for failed synthetic axis construction + presaxis=[]; % default to empty presaxis +end % extra check for BGC float via function input parameter 'bgcFloatFlag' + + +%% get N_PROF priority from meta file (alphabetical by sensor name) +nprofstr=cell(1,noNPROFs); +params=cellstr(C.PARAMETER.value); +if isfield(C,'PARAMETER_SENSOR') % not a very old meta file + paramsensors=cellstr(C.PARAMETER_SENSOR.value); + for i=1:noNPROFs + dummy=union(cellstr(S.PARAMETER.value(:,:,1,i)'),cellstr(S.STATION_PARAMETERS.value(:,:,i)')); + nprofstr{i}=strjoin(sort(paramsensors(ismember(params,setdiff(dummy,'')))),'_'); + end + % and bring into order but keeping nprof 1 at first position + [~,asort]=sort(nprofstr(2:end));asort=[1 asort+1]; +else % pre-v3.1 meta file + if verbose>0, disp(['S-PROF_WARNING: File ' bfilestr '.nc: Could not find PARAMETER_SENSOR in meta file (FORMAT_VERSION ' C.FORMAT_VERSION.value '). Kept N_PROF order as in profile file.']), end + asort=1:noNPROFs; +end % define N_PROF priority + +%% define core parameters +%coreparams={'PRES';'TEMP';'PSAL'}; +coreparams=intersect(fieldnames(S),{'PRES';'TEMP';'PSAL'}); + +% get non-overlapping pressure axis for core parameters +xpres=inpres0(:,asort); % keep original pressure +xpresqc=pflag(:,asort); % and flag to pressure that are not QC=4 +for i=1:length(coreparams) + + %% extract data + y=S.(coreparams{i}).value(:,asort); + yqc=S.([coreparams{i} '_QC']).value(:,asort); + %% check for overlapping portion of N_PROFs + if ismember(coreparams{i},{'PRES'}) + overlap=true(size(y)); % pressures of different N_PROFs (almost) necessarily overlap + else % not PRES + % get max and min ranges per nprof + xrange=ones(2,1+noNPROFs)*NaN; + overlap=false(size(y)); % and flag portions that don't overlap + for k=1:noNPROFs + ind=~isnan(y(:,k)) & xpresqc(:,k); + if any(ind) % data in current nprof and with proper pres + xrange(:,1+k)=[min(xpres(ind,k)); max(xpres(ind,k))]; + % check if it should be added or not + if isnan(xrange(1,1)) % first nprof with data + xrange(:,1)=xrange(:,1+k); + overlap(:,k)=ind; + else % more than one nprof with data: keep only data outside existing range + overlap(:,k)=ind & (xpres(:,k)>xrange(2,1) | xpres(:,k)_QC of 8 or FillValue + yflagqc=ismember(yqc,[0 1 2 3 4 5]); + if ismember(coreparams{i},{'PRES'}), yflagnoFV=y~=FV; % double check PRES FV + else, yflagnoFV=~isnan(y); end % and other FV (e.g., BR5900952_157, DOXY all NaN but QC=0) + + %% clean up: only data of current parameter without QC 8, only pflag + x=xpres(xpresqc & yflagqc & yflagnoFV); + %xqc=xpresqc(xpresqc & yflagqc); + y=y(xpresqc & yflagqc & yflagnoFV); + overlap=overlap(xpresqc & yflagqc & yflagnoFV); + %yadjerrpresence=~all(isnan(yadjerr)); % error not mandatory for adjusted fields.. + clear yflagqc yflagnoFV yqc + + if ~isempty(y) % not only NaN/FV data + % use only non-overlapping portion + x=x(overlap); + clear overlap + % make monotonic for interpolation (looses nprof priority!) + [~,ind]=sort(x); % monotonic sorting + x=x(ind); + full.(coreparams{i}).x=x; + else % empty pressure axis + full.(coreparams{i}).x=int32([]); + end % not only NaN/FV data + clear x y +end +clear xpres xpresqc +if ~isfield(full,'TEMP'), full.TEMP.x=[]; end % no core TEMP data (e.g. because of missing core file: kordi\2900608\profiles\BR2900608_077.nc +if ~isfield(full,'PSAL'), full.PSAL.x=[]; end % no core PSAL data (e.g. because of missing core file: kordi\2900608\profiles\BR2900608_077.nc + +%% get all non-overlapping (HR-)TEMP/PSAL levels and synthetic pressure axis levels +presmerge=union(union(full.TEMP.x,full.PSAL.x),presaxis); % 'HR' T/S pressure axis and presaxis +% get indices for synthetic pressure axis +nosf=length(presmerge); +[~,synthind]=intersect(presmerge,presaxis); +%clear full + +%% start to fill in data +ubgcparams=cat(1, {'PRES';'TEMP';'PSAL'},ubgcparams(:)); + +isynth=(1:length(presaxis))'; % index 1..length synthetic pressure axis +nos=length(isynth); +% DOXY/ can sit in more than one N_PROF, so need to be a bit more +% clunky than just simply interpolating a single N_PROF which contains +% +%xpres=S.PRES.value(:,asort); % rearrange pressure obeying nprof priority +xpresqc=pflag(:,asort); % and flag to pressure that are not QC=4 +synth.PRES.value=presaxis; + +if isempty(presmerge) % core and presaxis empty + for i=1:length(ubgcparams) % tap all with FillValue (avoid N_LEVEL dimension of 0) + if ismember(ubgcparams{i},{'PRES'}) + synth.(ubgcparams{i}).value=int32(FV); + else + synth.(ubgcparams{i}).value=NaN; + end + synth.([ubgcparams{i} '_QC']).value=NaN; + synth.([ubgcparams{i} '_ADJUSTED']).value=NaN; + synth.([ubgcparams{i} '_ADJUSTED_QC']).value=NaN; + synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value=NaN; + synth.([ubgcparams{i} '_dPRES']).value=NaN; + end + nosf=1;synthind=1; % avoid N_LEVEL dimension of 0 for BGC parameters +else +% fill in data in synthetic profile +for i=1:length(ubgcparams) + + if ismember(ubgcparams{i},{'PRES';'TEMP';'PSAL'}) % check which pressure axis to use + sind=1:length(presmerge); % synthetic levels and full-HR PTS data for core + else % BGC + sind=synthind; % synthetic levels only + end + spresaxis=presmerge(sind); % pressure axis for current parameter + spresaxis=spresaxis(:); % make sure it's a column vector + + if addoffsetflag + %% re-apply vertical offset from scratch for particular parameter + % e.g., N_PROF with SUNA & CTD has large offset for NITRATE, but none + % for TEMP & PSAL, and only one S.PRES.value / inpres for both + if ismember(ubgcparams{i},voff.linbgcparams) + % check to which N_PROF the current parameter fits + ind=cellfun(@(x)ismember(ubgcparams{i},x),bgcparams); + xpres=inpres0; + xpres(:,ind)=xpres(:,ind)+int32(ones(noNLEVELs,1)*1e3*voff.linvoffset(ismember(voff.linbgcparams,ubgcparams{i}))); + xpres(inpres0==FV)=FV; % keep FV + xpres=xpres(:,asort); + clear ind + else % no match found + xpres=inpres0(:,asort); % keep original pressure + end % found vertical offsets in config + if strcmp(ubgcparams{i},'PRES') + xpres=inpres0(:,asort); % forget everything above, use all unadjusted pressures + %xpres=S.PRES.value(:,asort); % forget everything above, use all unadjusted pressures + end + else % no addoffsetflag + xpres=inpres0(:,asort); % keep original pressure + end % addoffsetflag + + %% extract data + y=S.(ubgcparams{i}).value(:,asort); + yqc=S.([ubgcparams{i} '_QC']).value(:,asort); + yadj=S.([ubgcparams{i} '_ADJUSTED']).value(:,asort); + yadjqc=S.([ubgcparams{i} '_ADJUSTED_QC']).value(:,asort); + yadjerr=S.([ubgcparams{i} '_ADJUSTED_ERROR']).value(:,asort); + %% check for overlapping portion of N_PROFs + if ismember(ubgcparams{i},{'PRES'}) + overlap=true(size(y)); % pressures of different N_PROFs (almost) necessarily overlap + % get max and min ranges per nprof for adjusted anyway + xrangeadj=ones(2,1+noNPROFs)*NaN; + overlapadj=false(size(yadj)); % and flag portions that don't overlap for adjusted data + for k=1:noNPROFs + % and adjusted + %indadj=~isnan(yadj(:,k)) & xpresqc(:,k); % use only levels without FillValue and with useful PRES_QC + indadj=(~isnan(yadj(:,k)) | ismember(yadjqc(:,k),4)) & xpresqc(:,k); % consider that adjusted_QC 4 may have FillValue adjusted data + if any(indadj) % data in current nprof and with proper pres + xrangeadj(:,1+k)=[min(xpres(indadj,k)); max(xpres(indadj,k))]; + % check if it should be added or not + if isnan(xrangeadj(1,1)) % first nprof with data + xrangeadj(:,1)=xrangeadj(:,1+k); + overlapadj(:,k)=indadj; + else % more than one nprof with data: keep only data outside existing range + overlapadj(:,k)=indadj & (xpres(:,k)>xrangeadj(2,1) | xpres(:,k)xrange(2,1) | xpres(:,k)xrangeadj(2,1) | xpres(:,k)_QC of 8 or FillValue + yflagqc=ismember(yqc,[0 1 2 3 4 5]); + if ismember(ubgcparams{i},{'PRES'}), yflagnoFV=y~=FV; % double check PRES FV + else, yflagnoFV=~isnan(y); end % and other FV (e.g., BR5900952_157, DOXY all NaN but QC=0) + yflagadjqc=ismember(yadjqc,[0 1 2 3 4 5]); + %yflagadjnoFV=~isnan(yadj); % double check FV, use only levels without FillValue + yflagadjnoFV=~isnan(yadj) | ismember(yadjqc,4); % double check FV, consider adjusted QC 4 as exception to FillValue + + %% clean up: only data of current parameter without QC 8, only pflag + x=xpres(xpresqc & yflagqc & yflagnoFV); + xadj=xpres(xpresqc & yflagadjqc & yflagadjnoFV); + %xqc=xpresqc(xpresqc & yflagqc); + y=y(xpresqc & yflagqc & yflagnoFV); + yqc=yqc(xpresqc & yflagqc & yflagnoFV); + yadj=yadj(xpresqc & yflagadjqc & yflagadjnoFV); + yadjqc=yadjqc(xpresqc & yflagadjqc & yflagadjnoFV); + yadjerr=yadjerr(xpresqc & yflagadjqc & yflagadjnoFV); + overlapadj=overlapadj(xpresqc & yflagadjqc & yflagadjnoFV); + overlap=overlap(xpresqc & yflagqc & yflagnoFV); + yadjerrpresence=~all(isnan(yadjerr)); % error not mandatory for adjusted fields.. + clear yflagqc yflagnoFV yflagadjqc yflagadjnoFV + + %% preallocate + if ismember(ubgcparams{i},{'PRES'}) + synth.(ubgcparams{i}).value=int32(ones(size(spresaxis))*FV); + else + synth.(ubgcparams{i}).value=double(spresaxis)*NaN; + end + synth.([ubgcparams{i} '_QC']).value=double(spresaxis)*NaN; + synth.([ubgcparams{i} '_ADJUSTED']).value=double(spresaxis)*NaN; + synth.([ubgcparams{i} '_ADJUSTED_QC']).value=double(spresaxis)*NaN; + synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value=double(spresaxis)*NaN; + synth.([ubgcparams{i} '_dPRES']).value=int32(ones(size(spresaxis))*FV); + + if ismember(ubgcparams{i},{'PRES'}) % add synthetic levels (incl. vertical offsets of BGC sensors) + synth.PRES.value(synthind)=presaxis; + end + + if ~isempty(y) % not only NaN/FV data + % use only non-overlapping portion + x=x(overlap);y=y(overlap);yqc=yqc(overlap); + clear overlap + % make monotonic for interpolation (looses nprof priority! But non-overlapping anyway) + [~,ind]=sort(x); % monotonic sorting + x=x(ind);y=y(ind);yqc=yqc(ind); + % and make sure that they are column vectors + x=x(:);y=y(:);yqc=yqc(:); + + %% copy data for levels that are part of the synthetic pressure axis: + % get indices to which data to copy + % take only 'first' occurence (in nprof-priority sorted record!) and + % toss away repeated occurences (e.g., MD5904767_004.nc PSAL @ 46.0 dbar) + [~,fillind,cpind]=intersect(spresaxis,x); + synth.(ubgcparams{i}).value(fillind)=y(cpind); + synth.([ubgcparams{i} '_QC']).value(fillind)=yqc(cpind); + synth.([ubgcparams{i} '_dPRES']).value(fillind)=0; + %if ismember(ubgcparams{i},{'PRES';'TEMP';'PSAL'}) % keep which BGC PTS were truly measured for later + % full.(ubgcparams{i}).fillind=fillind; + %end + clear fillind cpind + + %% rest of data: + % interpolate data for other levels of the synthetic pressure axis: + % toss away repeated occurence of pressures: e.g., MD5904767_004.nc PSAL @ 46.0 dbar + if ismember(ubgcparams{i},{'PRES'}) + [~,uind]=unique(x); + else + uind=1:length(x); % should have been dealt with by overlapping portions already + end + if length(x(uind))>1 + % data interpolation: linear, no extrapolation + synth.(ubgcparams{i}).value(isnan(synth.(ubgcparams{i}).value))=interp1(double(x(uind)),double(y(uind)),double(spresaxis(isnan(synth.(ubgcparams{i}).value))),'linear',NaN); + % data extrapolation: nearest-neighbour, no limit on extrapolation + if ~ismember(ubgcparams{i},{'PRES'}) % PRES extrapolation as nearest-neighbour does not work.. + synth.(ubgcparams{i}).value(isnan(synth.(ubgcparams{i}).value))=interp1(double(x(uind)),double(y(uind)),double(spresaxis(isnan(synth.(ubgcparams{i}).value))),'nearest','extrap'); + end % should not occur for PRES field, either.. + % deal with qc + % qc interpolation: next and previous, no extrapolation + qcnext=interp1(double(x(uind)),yqc(uind),double(spresaxis),'next',NaN); + qcprevious=interp1(double(x(uind)),yqc(uind),double(spresaxis),'previous',NaN); + % take maximum of QC; order 1 < 2 < 5 < 3 < 4 + qcnext(qcnext==5)=2.5; qcprevious(qcprevious==5)=2.5; % replace QC 5 with 2.5: + qcfill=max(qcnext,qcprevious); % max for interpolated QC + synth.([ubgcparams{i} '_QC']).value(isnan(synth.([ubgcparams{i} '_QC']).value))=qcfill(isnan(synth.([ubgcparams{i} '_QC']).value)); + synth.([ubgcparams{i} '_QC']).value(synth.([ubgcparams{i} '_QC']).value==2.5)=5; % and reverse QC 5 + % qc extrapolation: nearest-neighbour, no limit on extrapolation + synth.([ubgcparams{i} '_QC']).value(isnan(synth.([ubgcparams{i} '_QC']).value))=interp1(double(x(uind)),yqc(uind),double(spresaxis(isnan(synth.([ubgcparams{i} '_QC']).value))),'nearest','extrap'); + clear qcnext qcprevious qcfill + else % only one value, keep this value as well as its QC, and place it closest to the original pressure + [~,ifill]=min(abs(spresaxis-x(uind))); + synth.(ubgcparams{i}).value(ifill)=y(uind); + synth.([ubgcparams{i} '_QC']).value(ifill)=yqc(uind); + if addTSeverywhere && ismember(ubgcparams{i},{'TEMP';'PSAL'}) + % extrapolate T and S context by replication, no limit on extrapolation + synth.(ubgcparams{i}).value(:)=y(uind); + synth.([ubgcparams{i} '_QC']).value(:)=yqc(uind); + end + end + %% and kick out unmatched data + %inomatch=false(nos,1); inomatch(setdiff(isynth,dsearchn(synth.PRES.value,x)))=1; + % keep nearest data (can be two points) and remove all other that + % are further away + inomatch=true(length(spresaxis),1); + if length(spresaxis)==1 % just one value on synthetic pressure axis + %neardp=abs(synth.PRES.value-x(uind)); % on original sampling axis + neardp=abs(spresaxis-x(uind)); % on original sampling axis + else % more than one value on synthetic pressure axis + %neardp=abs(synth.PRES.value(dsearchn(synth.PRES.value/1e3,x(uind)/1e3))-x(uind)); % on original sampling axis + neardp=abs(spresaxis(dsearchn(double(spresaxis)/1e3,double(x(uind))/1e3))-x(uind)); % on original sampling axis + end + for k=1:length(uind) + %inomatch(abs(synth.PRES.value-x(uind(k)))==neardp(k))=0; + inomatch(abs(spresaxis-x(uind(k)))==neardp(k))=0; + end + %% decide which data to really remove + iremove=inomatch; + % keep all interpolated core-data within [max(pres)-2 dbar float length; min(pres)+1 dbar antenna length] + if addTSeverywhere && ismember(ubgcparams{i},{'PRES';'TEMP';'PSAL'}) + if ismember(ubgcparams{i},{'PRES'}) + iremove(:)=0; % don't remove any interpolated/extrapolated PRES + else % TEMP, PSAL + % if there are valid data before or after, keep those in between, too + %iremove(cumsum(~iremove,'forward')>0 & cumsum(~iremove,'reverse')>0)=0; + % keep all within pressure range: extrapolate deepest data + % point up to 1 float length (2 dbar) deeper and shallowest + % data point up to 1 antenna length (1 dbar) shallower + iremove(spresaxis<=max(x)+2*1000 & spresaxis>=min(x)-1*1000)=0; + end + end + + % keep an isolated hole between data + % standard case: 1 isolated hole between two data before and after + if nos>=5 + iremove(find(inomatch(3:nos-2) & ~inomatch(1:nos-4) & ~inomatch(2:nos-3) & ~inomatch(4:nos-1) & ~inomatch(5:nos))+2)=0; + end + if nos>=4 + % special case: 'data point # 2' and 'data point # end-1' + iremove(find(inomatch(2) & ~inomatch(1) & ~inomatch(3) & ~inomatch(4))+1)=0; + iremove(find(inomatch(nos-1) & ~inomatch(nos-3) & ~inomatch(nos-2) & ~inomatch(nos))+nos-2)=0; + end + if nos>2 + % special case: shallowest data point: up to 1 float length (2 + % dbar) and deepest data point: up to 1 antenna length (1 dbar) + %iremove(find(inomatch(1) & ~inomatch(2) & ~inomatch(3) & diff(synth.PRES.value([1 2]))<=2*1000))=0; + %iremove(find(inomatch(nos) & ~inomatch(nos-2) & ~inomatch(nos-1) & diff(synth.PRES.value([nos-1 nos]))<=1*1000)+nos-1)=0; + iremove(find(inomatch(1) & ~inomatch(2) & ~inomatch(3) & diff(spresaxis([1 2]))<=2*1000))=0; + iremove(find(inomatch(nos) & ~inomatch(nos-2) & ~inomatch(nos-1) & diff(spresaxis([nos-1 nos]))<=1*1000)+nos-1)=0; + end + + if ismember(ubgcparams{i},{'PRES'}) + %synth.(ubgcparams{i}).value(iremove)=FV; + else + synth.(ubgcparams{i}).value(iremove)=NaN; + synth.([ubgcparams{i} '_QC']).value(iremove)=NaN; + %synth.([ubgcparams{i} '_dPRES']).value(iremove)=FV; + % assign QC flag to gap in a series points + %synth.([ubgcparams{i} '_QC']).value(inomatch & ~iremove)=8; + %fillind=inomatch & ~iremove & ~ismember(synth.([ubgcparams{i} '_QC']).value,[3 4]); + fillind=inomatch & ~iremove & ~(ismember(synth.([ubgcparams{i} '_QC']).value,[3 4]) | isnan(synth.(ubgcparams{i} ).value)); + synth.([ubgcparams{i} '_QC']).value(fillind)=8; + end % PRES (int32) or not (double) + clear y yqc uind inomatch iremove fillind + + %% check dPRES assignment + % and add pressure difference where it is missing (and there are data) + fillind=find(~isnan(synth.([ubgcparams{i} '_QC']).value) & synth.([ubgcparams{i} '_dPRES']).value==FV); + % if there are two nearest samples, take the deeper one.. + for k=1:length(fillind) + dp=x-spresaxis(fillind(k)); % deeper sample of minimum pressure difference + synth.([ubgcparams{i} '_dPRES']).value(fillind(k))=dp(find(abs(dp)==min(abs(dp)),1,'last')); + %%synth.([ubgcparams{i} '_dPRES']).value(synth.([ubgcparams{i} '_dPRES']).value==FV)=x(uind(nearind(synth.([ubgcparams{i} '_dPRES']).value==FV)))-spresaxis(synth.([ubgcparams{i} '_dPRES']).value==FV); + %dpind=abs(x-spresaxis(k))==abs(x(uind(nearind(k)))-spresaxis(k)); % points with same distance and to be used (not in low priority nprofs) + %synth.([ubgcparams{i} '_dPRES']).value(k)=max(x(dpind))-spresaxis(k); % take deeper value if there are any two samples at +/- the same distance + %clear dpind + end + clear x xqc fillind dp + + if ~isempty(yadj) % not only NaN/FV adjusted data + % use only non-overlapping portion + xadj=xadj(overlapadj);yadj=yadj(overlapadj);yadjqc=yadjqc(overlapadj);yadjerr=yadjerr(overlapadj); + clear overlapadj + % make monotonic for interpolation (looses nprof priority!) + [~,ind]=sort(xadj); % monotonic sorting + xadj=xadj(ind);yadj=yadj(ind);yadjqc=yadjqc(ind);yadjerr=yadjerr(ind); + % and make sure that they are column vectors + xadj=xadj(:);yadj=yadj(:);yadjqc=yadjqc(:);yadjerr=yadjerr(:); + + %% do the same with adjusted fields + %% copy data for levels that are part of the synthetic pressure axis: + [~,fillindadj,cpindadj]=intersect(spresaxis,xadj); + synth.([ubgcparams{i} '_ADJUSTED']).value(fillindadj)=yadj(cpindadj); + synth.([ubgcparams{i} '_ADJUSTED_QC']).value(fillindadj)=yadjqc(cpindadj); + synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value(fillindadj)=yadjerr(cpindadj); + %if ismember(ubgcparams{i},{'PRES';'TEMP';'PSAL'}) % keep which BGC PTS were truly measured for later + % full.(ubgcparams{i}).fillindadj=fillindadj; + %end + clear fillindadj cpindadj + + %% rest of data: + % interpolate data for other levels of the synthetic pressure axis: + % toss away repeated occurence of pressures: e.g., MD5904767_004.nc PSAL @ 46.0 dbar + if ismember(ubgcparams{i},{'PRES'}) + [~,uindadj]=unique(xadj); + else + uindadj=1:length(xadj); % should have been dealt with by overlapping portions already + end + if length(xadj(uindadj))>1 + % data interpolation: linear, no extrapolation + synth.([ubgcparams{i} '_ADJUSTED']).value(isnan(synth.([ubgcparams{i} '_ADJUSTED']).value))=interp1(double(xadj(uindadj)),double(yadj(uindadj)),double(spresaxis(isnan(synth.([ubgcparams{i} '_ADJUSTED']).value))),'linear',NaN); + % data extrapolation: nearest-neighbour, no limit on extrapolation + if ismember(ubgcparams{i},{'PRES'}) % PRES_ADJUSTED extrapolation as nearest-neighbour does not work.. use linear extrapolation + synth.([ubgcparams{i} '_ADJUSTED']).value(isnan(synth.([ubgcparams{i} '_ADJUSTED']).value))=interp1(double(xadj(uindadj)),double(yadj(uindadj)),double(spresaxis(isnan(synth.([ubgcparams{i} '_ADJUSTED']).value))),'linear','extrap'); + else % nearest-neighbour + synth.([ubgcparams{i} '_ADJUSTED']).value(isnan(synth.([ubgcparams{i} '_ADJUSTED']).value))=interp1(double(xadj(uindadj)),double(yadj(uindadj)),double(spresaxis(isnan(synth.([ubgcparams{i} '_ADJUSTED']).value))),'nearest','extrap'); + end + if yadjerrpresence % same with errors if any + synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value(isnan(synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value))=interp1(double(xadj(uindadj)),double(yadjerr(uindadj)),double(spresaxis(isnan(synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value))),'linear',NaN); + synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value(isnan(synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value))=interp1(double(xadj(uindadj)),double(yadjerr(uindadj)),double(spresaxis(isnan(synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value))),'nearest','extrap'); + end + % deal with qc + % qc interpolation: next and previous, no extrapolation + qcnextadj=interp1(double(xadj(uindadj)),yadjqc(uindadj),double(spresaxis),'next',NaN); + qcpreviousadj=interp1(double(xadj(uindadj)),yadjqc(uindadj),double(spresaxis),'previous',NaN); + % take maximum of QC; order 1 < 2 < 5 < 3 < 4 + qcnextadj(qcnextadj==5)=2.5; qcpreviousadj(qcpreviousadj==5)=2.5; % replace QC 5 with 2.5: + qcfilladj=max(qcnextadj,qcpreviousadj); % max for interpolated QC + synth.([ubgcparams{i} '_ADJUSTED_QC']).value(isnan(synth.([ubgcparams{i} '_ADJUSTED_QC']).value))=qcfilladj(isnan(synth.([ubgcparams{i} '_ADJUSTED_QC']).value)); + synth.([ubgcparams{i} '_ADJUSTED_QC']).value(synth.([ubgcparams{i} '_ADJUSTED_QC']).value==2.5)=5; % and reverse QC 5 + % qc extrapolation: nearest-neighbour, no limit on extrapolation + synth.([ubgcparams{i} '_ADJUSTED_QC']).value(isnan(synth.([ubgcparams{i} '_ADJUSTED_QC']).value))=interp1(double(xadj(uindadj)),yadjqc(uindadj),double(spresaxis(isnan(synth.([ubgcparams{i} '_ADJUSTED_QC']).value))),'nearest','extrap'); + clear qcnextadj qcpreviousadj qcfilladj + elseif ~isempty(xadj) % only one value, keep this value, its error, and its QC, and place it closest to the original pressure + [~,ifill]=min(abs(spresaxis-xadj)); + synth.([ubgcparams{i} '_ADJUSTED']).value(ifill)=yadj(uindadj); + if yadjerrpresence % same with errors if any + synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value(ifill)=yadjerr(uindadj); + end + synth.([ubgcparams{i} '_ADJUSTED_QC']).value(ifill)=yadjqc(uindadj); + else % no adjusted value left from overlapping portions + % do nothing + end + %% and kick out unmatched data + inomatch=true(length(spresaxis),1); + %neardp=abs(synth.PRES.value(dsearchn(synth.PRES.value/1e3,xadj(uindadj)/1e3))-xadj(uindadj)); % on original sampling axis + neardp=abs(spresaxis(dsearchn(double(spresaxis)/1e3,double(xadj(uindadj))/1e3))-xadj(uindadj)); % on original sampling axis + for k=1:length(uindadj) + %inomatch(abs(synth.PRES.value-xadj(uindadj(k)))==neardp(k))=0; + inomatch(abs(spresaxis-xadj(uindadj(k)))==neardp(k))=0; + end + %% decide which data to really remove + iremove=inomatch; + % keep all interpolated core-data within [max(pres)-2 dbar float length; min(pres)+1 dbar antenna length] + if addTSeverywhere && ismember(ubgcparams{i},{'PRES';'TEMP';'PSAL'}) + if ismember(ubgcparams{i},{'PRES'}) + iremove(:)=0; % don't remove any interpolated/extrapolated PRES_ADJUSTED + else % TEMP, PSAL + % if there are valid data before or after, keep those in between, too + %iremove(cumsum(~iremove,'forward')>0 & cumsum(~iremove,'reverse')>0)=0; + % keep all within pressure range: extrapolate deepest data + % point up to 1 float length (2 dbar) deeper and shallowest + % data point up to 1 antenna length (1 dbar) shallower + iremove(spresaxis<=max(xadj)+2*1000 & spresaxis>=min(xadj)-1*1000)=0; + end + end + + % but only if it's not an isolated hole between data + % standard case: 1 isolated hole between two data before and after + if nos>=5 + iremove(find(inomatch(3:nos-2) & ~inomatch(1:nos-4) & ~inomatch(2:nos-3) & ~inomatch(4:nos-1) & ~inomatch(5:nos))+2)=0; + end + if nos>=4 + % special case: 'data point # 2' and 'data point # end-1' + iremove(find(inomatch(2) & ~inomatch(1) & ~inomatch(3) & ~inomatch(4))+1)=0; + iremove(find(inomatch(nos-1) & ~inomatch(nos-3) & ~inomatch(nos-2) & ~inomatch(nos))+nos-2)=0; + end + if nos>2 + % special case: shallowest data point: up to 1 float length (2 + % dbar) and deepest data point: up to 1 antenna length (1 dbar) + %iremove(find(inomatch(1) & ~inomatch(2) & ~inomatch(3) & diff(synth.PRES.value([1 2]))<=2*1000))=0; + %iremove(find(inomatch(nos) & ~inomatch(nos-2) & ~inomatch(nos-1) & diff(synth.PRES.value([nos-1 nos]))<=1*1000)+nos-1)=0; + iremove(find(inomatch(1) & ~inomatch(2) & ~inomatch(3) & diff(spresaxis([1 2]))<=2*1000))=0; + iremove(find(inomatch(nos) & ~inomatch(nos-2) & ~inomatch(nos-1) & diff(spresaxis([nos-1 nos]))<=1*1000)+nos-1)=0; + end + %if ismember(ubgcparams{i},{'PRES'}) + % synth.(ubgcparams{i}).value(iremove)=FV; + %else + synth.([ubgcparams{i} '_ADJUSTED']).value(iremove)=NaN; + %end % PRES (int32) or not (double) + synth.([ubgcparams{i} '_ADJUSTED_QC']).value(iremove)=NaN; + % assign QC flag to gap in a series points + %synth.([ubgcparams{i} '_ADJUSTED_QC']).value(inomatch & ~iremove)=8; + %fillind=inomatch & ~iremove & ~ismember(synth.([ubgcparams{i} '_ADJUSTED_QC']).value,[3 4]); + fillind=inomatch & ~iremove & ~(ismember(synth.([ubgcparams{i} '_ADJUSTED_QC']).value,[3 4]) | isnan(synth.([ubgcparams{i} '_ADJUSTED']).value)); + if ~ismember(ubgcparams{i},{'PRES'}) % don't tap with '8' for PRES_ADJUSTED: location, not really data + synth.([ubgcparams{i} '_ADJUSTED_QC']).value(fillind)=8; + end + synth.([ubgcparams{i} '_ADJUSTED_ERROR']).value(iremove)=NaN; + clear xadj xadjqc yadj yadjqc yadjerr yadjerrpresence uindadj inomatch fillind + end % ~isempty(yadj) : some adjusted data available + end % ~isempty(y) : some data available + %% and convert parameter dPRES back to proper 1/1000 double + fillind=synth.([ubgcparams{i} '_dPRES']).value==FV; + synth.([ubgcparams{i} '_dPRES']).value=double(synth.([ubgcparams{i} '_dPRES']).value)./1000; + synth.([ubgcparams{i} '_dPRES']).value(fillind)=NaN; + clear fillind +end % fill in data in synthetic profile + +end % core and presaxis empty + + +%% add synthetic profile to merged data with full dimension, BGC levels interleaved +fnames=fieldnames(synth); % use non-interleaved profile as template; fill gaps with NaN +%for i=2:length(fnames) % start at index 2: first one is PRES=presaxis -> already present +for i=1:length(fnames) % start at index 1: first one is PRES=presmerge -> copy all to be sure + synthfull.(fnames{i}).value=ones(nosf,1)*NaN; + if ismember(fnames{i},{'PRES';'TEMP';'PSAL';'PRES_QC';'TEMP_QC';'PSAL_QC';'PRES_ADJUSTED';'TEMP_ADJUSTED';'PSAL_ADJUSTED';'PRES_ADJUSTED_QC';'TEMP_ADJUSTED_QC';'PSAL_ADJUSTED_QC';'PRES_ADJUSTED_ERROR';'TEMP_ADJUSTED_ERROR';'PSAL_ADJUSTED_ERROR';'PRES_dPRES';'TEMP_dPRES';'PSAL_dPRES'}) % core already on full axis + synthfull.(fnames{i}).value=synth.(fnames{i}).value; + else % BGC on synthetic pressure axis + synthfull.(fnames{i}).value(synthind)=synth.(fnames{i}).value; + end % already on full axis (core)? +end % cycle fields + +%% and convert PRES back to proper 1/1000 double +fillind=synthfull.PRES.value==FV; +synthfull.PRES.value=double(synthfull.PRES.value)./1000; +synthfull.PRES.value(fillind)=NaN; + +%% sanity-check ADJUSTED_QC in case of ADJUSTED=FV +for i=1:length(ubgcparams) + if ~all(isnan(synthfull.([ubgcparams{i} '_ADJUSTED']).value)) && ~all(isnan(synthfull.([ubgcparams{i} '_ADJUSTED_QC']).value)) + fillind=~isnan(synthfull.(ubgcparams{i}).value) & isnan(synthfull.([ubgcparams{i} '_ADJUSTED']).value) & isnan(synthfull.([ubgcparams{i} '_ADJUSTED_QC']).value); + synthfull.([ubgcparams{i} '_ADJUSTED_QC']).value(fillind)=4; + end % adjusted data or adjusted_QC are present? +end + + diff --git a/decArgo_soft/soft/util2/apex_ir_sbd_generate_ascii_files.m b/decArgo_soft/soft/util2/apex_ir_sbd_generate_ascii_files.m index 844fb787..41c88b58 100644 --- a/decArgo_soft/soft/util2/apex_ir_sbd_generate_ascii_files.m +++ b/decArgo_soft/soft/util2/apex_ir_sbd_generate_ascii_files.m @@ -137,7 +137,7 @@ for iFile = 1:length(dataList) if (dataList(iFile).size ~= length(dataList(iFile).data)) - fprintf('\n=> ERROR: Missing data in file : %s\n', dataList(iFile).asciiFileName{:}); + fprintf('\n- ERROR: Missing data in file : %s\n', dataList(iFile).asciiFileName{:}); end currentData = dataList(iFile); diff --git a/decArgo_soft/soft/util2/check_HR_LR_profile_apx_ir_rudics.m b/decArgo_soft/soft/util2/check_HR_LR_profile_apx_ir_rudics.m index dde99949..33889784 100644 --- a/decArgo_soft/soft/util2/check_HR_LR_profile_apx_ir_rudics.m +++ b/decArgo_soft/soft/util2/check_HR_LR_profile_apx_ir_rudics.m @@ -109,7 +109,7 @@ function check_HR_LR_profile_apx_ir_rudics(varargin) % find float SN and decoder Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => nothing done for this float\n', floatNum); + fprintf('ERROR: No information on float #%d - nothing done for this float\n', floatNum); continue end floatDecId = listDecId(idF); @@ -156,7 +156,7 @@ function check_HR_LR_profile_apx_ir_rudics(varargin) nearSurfaceDataStr ... ] = read_apx_ir_rudics_msg_file(filePathName); if (error == 1) - fprintf('ERROR: Error in file: %s => ignored\n', filePathName); + fprintf('ERROR: Error in file: %s - ignored\n', filePathName); continue end diff --git a/decArgo_soft/soft/util2/convert_nova_csv_2_mail_files.m b/decArgo_soft/soft/util2/convert_nova_csv_2_mail_files.m index de7dcdb6..46cd787c 100644 --- a/decArgo_soft/soft/util2/convert_nova_csv_2_mail_files.m +++ b/decArgo_soft/soft/util2/convert_nova_csv_2_mail_files.m @@ -111,7 +111,7 @@ end if (str2num(msgSize) ~= length(dataHex)/2) - fprintf('WARNING: Message Size is %d bytes whereas it should be %d bytes => corrected in output file : %s\n', ... + fprintf('WARNING: Message Size is %d bytes whereas it should be %d bytes - corrected in output file : %s\n', ... str2num(msgSize), length(dataHex)/2, outputFilePathName); msgSize = num2str(length(dataHex)/2); end diff --git a/decArgo_soft/soft/util2/correct_iridium_mail_files.m b/decArgo_soft/soft/util2/correct_iridium_mail_files.m index 965a82c3..9670e912 100644 --- a/decArgo_soft/soft/util2/correct_iridium_mail_files.m +++ b/decArgo_soft/soft/util2/correct_iridium_mail_files.m @@ -83,9 +83,9 @@ function correct_iridium_mail_files(varargin) fprintf('DIR_LOG_FILE = %s\n', DIR_LOG_FILE); fprintf('DO_IT = %d', DO_IT); if (DO_IT == 1) - fprintf(' => correct mail files\n'); + fprintf(' - correct mail files\n'); else - fprintf(' => only print result of mail parsing\n'); + fprintf(' - only print result of mail parsing\n'); end fprintf('IMEI_number = %d\n', imeiNumber); fprintf('first_MOMSN = %d\n', momsnStart); @@ -93,7 +93,7 @@ function correct_iridium_mail_files(varargin) % check the input directory if ~(exist(inputDirName, 'dir') == 7) - fprintf('ERROR: Input directory doesn''t exist => exit\n'); + fprintf('ERROR: Input directory doesn''t exist - exit\n'); return end @@ -121,7 +121,7 @@ function correct_iridium_mail_files(varargin) % retrieve MOMSN number idFUs = strfind(fileName, '_'); if (length(idFUs) < 4) - fprintf('ERROR: Inconsistent file name for file: %s => not processed\n', fileName); + fprintf('ERROR: Inconsistent file name for file: %s - not processed\n', fileName); continue end momsn = str2double(fileName(idFUs(3)+1:idFUs(4)-1)); @@ -172,7 +172,7 @@ function correct_iridium_mail_files(varargin) end if (boundIdMax < 0) - fprintf('ERROR: Inconsistent data in file: %s => not processed\n', fileName); + fprintf('ERROR: Inconsistent data in file: %s - not processed\n', fileName); continue end @@ -267,7 +267,7 @@ function correct_iridium_mail_files(varargin) if (isempty(imei) || isempty(momsn) || isempty(mtmsn) || ... isempty(timeOfSession) || isempty(sessionStatus) || ... isempty(messageSize) || isempty(unitLocation) || isempty(cepRadius)) - fprintf('ERROR: Inconsistent data in file: %s => not processed\n', fileName); + fprintf('ERROR: Inconsistent data in file: %s - not processed\n', fileName); continue end diff --git a/decArgo_soft/soft/util2/correct_iridium_mail_files_for_6903703.m b/decArgo_soft/soft/util2/correct_iridium_mail_files_for_6903703.m index fc2280f9..c985b845 100644 --- a/decArgo_soft/soft/util2/correct_iridium_mail_files_for_6903703.m +++ b/decArgo_soft/soft/util2/correct_iridium_mail_files_for_6903703.m @@ -37,7 +37,7 @@ function correct_iridium_mail_files_for_6903703() % check the input directory if ~(exist(INPUT_DIR_NAME, 'dir') == 7) - fprintf('ERROR: Input directory doesn''t exist => exit\n'); + fprintf('ERROR: Input directory doesn''t exist - exit\n'); return end diff --git a/decArgo_soft/soft/util2/correct_iridium_mail_files_from_finland.m b/decArgo_soft/soft/util2/correct_iridium_mail_files_from_finland.m index e7bd20af..672027de 100644 --- a/decArgo_soft/soft/util2/correct_iridium_mail_files_from_finland.m +++ b/decArgo_soft/soft/util2/correct_iridium_mail_files_from_finland.m @@ -53,7 +53,7 @@ function correct_iridium_mail_files_from_finland() % check the input directory if ~(exist(INPUT_DIR_NAME, 'dir') == 7) - fprintf('ERROR: Input directory doesn''t exist => exit\n'); + fprintf('ERROR: Input directory doesn''t exist - exit\n'); return end diff --git a/decArgo_soft/soft/util2/correct_iridium_mail_files_from_germany.m b/decArgo_soft/soft/util2/correct_iridium_mail_files_from_germany.m index 18c8df2b..1517d1d2 100644 --- a/decArgo_soft/soft/util2/correct_iridium_mail_files_from_germany.m +++ b/decArgo_soft/soft/util2/correct_iridium_mail_files_from_germany.m @@ -42,7 +42,7 @@ function correct_iridium_mail_files_from_germany() % check the input directory if ~(exist(INPUT_DIR_NAME, 'dir') == 7) - fprintf('ERROR: Input directory doesn''t exist => exit\n'); + fprintf('ERROR: Input directory doesn''t exist - exit\n'); return end diff --git a/decArgo_soft/soft/util2/create_nc_meta_file_3_1_from_json_float_meta.m b/decArgo_soft/soft/util2/create_nc_meta_file_3_1_from_json_float_meta.m index 1a1994ed..039c2a39 100644 --- a/decArgo_soft/soft/util2/create_nc_meta_file_3_1_from_json_float_meta.m +++ b/decArgo_soft/soft/util2/create_nc_meta_file_3_1_from_json_float_meta.m @@ -57,7 +57,7 @@ function create_nc_meta_file_3_1_from_json_float_meta() jsonInputFileName = [jsonFloatMetaDatafileDir '/' sprintf('%d_meta.json', floatNum)]; if ~(exist(jsonInputFileName, 'file') == 2) - fprintf('ERROR: Float #%d: Json meta-data file not found: %s => nothing done for this float\n', ... + fprintf('ERROR: Float #%d: Json meta-data file not found: %s - nothing done for this float\n', ... floatNum, ... jsonInputFileName); return @@ -758,7 +758,7 @@ function create_nc_meta_file_3_1_from_json_float_meta() % for id = nbSensor+1:length(fNames) % metaData.(fieldName) = rmfield(metaData.(fieldName), fNames{id}); % end - % fprintf('INFO: %s file generation: too many fields for the %s structure in the Json meta-data file => considering only the %d first ones\n', ... + % fprintf('INFO: %s file generation: too many fields for the %s structure in the Json meta-data file - considering only the %d first ones\n', ... % ncFileName, fieldName, nbSensor); % end % end @@ -771,7 +771,7 @@ function create_nc_meta_file_3_1_from_json_float_meta() % for id = nbParam+1:length(fNames) % metaData.(fieldName) = rmfield(metaData.(fieldName), fNames{id}); % end - % fprintf('INFO: %s file generation: too many fields for the %s structure in the Json meta-data file => considering only the %d first ones\n', ... + % fprintf('INFO: %s file generation: too many fields for the %s structure in the Json meta-data file - considering only the %d first ones\n', ... % ncFileName, fieldName, nbParam); % end % end diff --git a/decArgo_soft/soft/util2/db_collect_data_for_vss.m b/decArgo_soft/soft/util2/db_collect_data_for_vss.m index d27dc27f..8dcbe029 100644 --- a/decArgo_soft/soft/util2/db_collect_data_for_vss.m +++ b/decArgo_soft/soft/util2/db_collect_data_for_vss.m @@ -148,7 +148,7 @@ function db_collect_data_for_vss(varargin) % find current float Dec Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => exit\n', floatNum); + fprintf('ERROR: No information on float #%d - exit\n', floatNum); return end floatDecId = listDecId(idF); diff --git a/decArgo_soft/soft/util2/generate_corrected_cycle_number_list.m b/decArgo_soft/soft/util2/generate_corrected_cycle_number_list.m index 07cc912b..03eea8d3 100644 --- a/decArgo_soft/soft/util2/generate_corrected_cycle_number_list.m +++ b/decArgo_soft/soft/util2/generate_corrected_cycle_number_list.m @@ -269,7 +269,7 @@ function generate_corrected_cycle_number_list(varargin) else dep2NcId(idCy) = 0; - fprintf('INFO: float %d cycle #%d: no profile found (DEP (date lon lat) => (%s %8.3f %7.3f))\n', ... + fprintf('INFO: float %d cycle #%d: no profile found (DEP (date lon lat) - (%s %8.3f %7.3f))\n', ... floatNum, idCy-1, ... julian_2_gregorian_dec_argo(tabLocDate(idCy)), tabLocLon(idCy), tabLocLat(idCy)); end diff --git a/decArgo_soft/soft/util2/generate_json_float_meta_argos_apex_old_versions.m b/decArgo_soft/soft/util2/generate_json_float_meta_argos_apex_old_versions.m index 939f27a9..88802270 100644 --- a/decArgo_soft/soft/util2/generate_json_float_meta_argos_apex_old_versions.m +++ b/decArgo_soft/soft/util2/generate_json_float_meta_argos_apex_old_versions.m @@ -252,7 +252,7 @@ % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -268,7 +268,7 @@ % we create all configuration from data base information idFRepRate = find(strcmp(metaData(idForWmo, 5), 'REPETITION_RATE') == 1); if (isempty(idFRepRate)) - fprintf('ERROR: REPETITION_RATE is missing for float %d => no json file generated\n', ... + fprintf('ERROR: REPETITION_RATE is missing for float %d - no json file generated\n', ... floatNum); continue end diff --git a/decArgo_soft/soft/util2/generate_json_float_meta_argos_nke_old_versions.m b/decArgo_soft/soft/util2/generate_json_float_meta_argos_nke_old_versions.m index 965fe8d0..78d51428 100644 --- a/decArgo_soft/soft/util2/generate_json_float_meta_argos_nke_old_versions.m +++ b/decArgo_soft/soft/util2/generate_json_float_meta_argos_nke_old_versions.m @@ -264,7 +264,7 @@ function generate_json_float_meta_argos_nke_old_versions() % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -281,7 +281,7 @@ function generate_json_float_meta_argos_nke_old_versions() % we create all configuration from data base information idFRepRate = find(strcmp(metaData(idForWmo, 5), 'REPETITION_RATE') == 1); if (isempty(idFRepRate)) - fprintf('ERROR: REPETITION_RATE is missing for float %d => no json file generated\n', ... + fprintf('ERROR: REPETITION_RATE is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -643,7 +643,7 @@ function generate_json_float_meta_argos_nke_old_versions() floatNum, listDriftSamplingPeriod(idF1)); else if (str2num(confParamVal{idF0, idC}) ~= listDriftSamplingPeriod(idF1)) - fprintf('INFO: float %d: CONFIG_ParkSamplingPeriod_hours differ (BDD = %d, ANDRO = %d) => ANDRO value used\n', ... + fprintf('INFO: float %d: CONFIG_ParkSamplingPeriod_hours differ (BDD = %d, ANDRO = %d) - ANDRO value used\n', ... floatNum, str2num(confParamVal{idF0, idC}), listDriftSamplingPeriod(idF1)); metaStruct.CONFIG_PARAMETER_VALUE{idF0, idC} = num2str(listDriftSamplingPeriod(idF1)); end diff --git a/decArgo_soft/soft/util2/generate_json_float_meta_iridium_nke_old_versions.m b/decArgo_soft/soft/util2/generate_json_float_meta_iridium_nke_old_versions.m index 6a299642..398c4e2f 100644 --- a/decArgo_soft/soft/util2/generate_json_float_meta_iridium_nke_old_versions.m +++ b/decArgo_soft/soft/util2/generate_json_float_meta_iridium_nke_old_versions.m @@ -264,7 +264,7 @@ function generate_json_float_meta_iridium_nke_old_versions() % retrieve DAC_FORMAT_ID dacFormatId = metaStruct.DAC_FORMAT_ID; if (isempty(dacFormatId)) - fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d => no json file generated\n', ... + fprintf('ERROR: DAC_FORMAT_ID (from PR_VERSION) is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -281,7 +281,7 @@ function generate_json_float_meta_iridium_nke_old_versions() % we create all configuration from data base information idFRepRate = find(strcmp(metaData(idForWmo, 5), 'REPETITION_RATE') == 1); if (isempty(idFRepRate)) - fprintf('ERROR: REPETITION_RATE is missing for float %d => no json file generated\n', ... + fprintf('ERROR: REPETITION_RATE is missing for float %d - no json file generated\n', ... floatNum); continue end @@ -478,7 +478,7 @@ function generate_json_float_meta_iridium_nke_old_versions() end end - % compute the duration of the cycle #0 => same as the following ones + % compute the duration of the cycle #0 - same as the following ones idCycleTime = find(strcmp(metaStruct.CONFIG_PARAMETER_NAME, 'CONFIG_CycleTime_hours') == 1); % if ~(isempty(idCycleTime)) % configParamVal0{idCycleTime} = ''; @@ -645,7 +645,7 @@ function generate_json_float_meta_iridium_nke_old_versions() floatNum, listDriftSamplingPeriod(idF1)); else if (str2num(confParamVal{idF0, idC}) ~= listDriftSamplingPeriod(idF1)) - fprintf('INFO: float %d: CONFIG_ParkSamplingPeriod_hours differ (BDD = %d, ANDRO = %d) => ANDRO value used\n', ... + fprintf('INFO: float %d: CONFIG_ParkSamplingPeriod_hours differ (BDD = %d, ANDRO = %d) - ANDRO value used\n', ... floatNum, str2num(confParamVal{idF0, idC}), listDriftSamplingPeriod(idF1)); metaStruct.CONFIG_PARAMETER_VALUE{idF0, idC} = num2str(listDriftSamplingPeriod(idF1)); end diff --git a/decArgo_soft/soft/util2/nc_check_converted_apx_mono_profile_argos.m b/decArgo_soft/soft/util2/nc_check_converted_apx_mono_profile_argos.m index 3ee15bf7..6ee1c955 100644 --- a/decArgo_soft/soft/util2/nc_check_converted_apx_mono_profile_argos.m +++ b/decArgo_soft/soft/util2/nc_check_converted_apx_mono_profile_argos.m @@ -253,7 +253,7 @@ function nc_check_converted_apx_mono_profile_argos(varargin) for idCy = 1:length(tabCyNum) if (tabPresMax(idCy) ~= paramPres.fillValue) if (abs(profPresExp(idCy)-tabPresMax(idCy))/profPresExp(idCy) > 0.25) - fprintf('WARNING: Float #%d Cycle #%d: %.1f dbar (%d dbar) => > 25 %%\n', ... + fprintf('WARNING: Float #%d Cycle #%d: %.1f dbar (%d dbar) - > 25 %%\n', ... floatNum, tabCyNum(idCy), tabPresMax(idCy), profPresExp(idCy)); else fprintf('INFO: Float #%d Cycle #%d: %.1f dbar (%d dbar)\n', ... @@ -302,7 +302,7 @@ function nc_check_converted_apx_mono_profile_argos(varargin) cycleTimeExp = cycleTimeMeta(idF); end if (abs(cycleTimeExp-cycleTime)/cycleTimeExp > 0.25) - fprintf('WARNING: Float #%d Cycle #%d -> #%d: %.1f hours (%d hours) => > 25 %%\n', ... + fprintf('WARNING: Float #%d Cycle #%d -> #%d: %.1f hours (%d hours) - > 25 %%\n', ... floatNum, tabCyNum(idCy:idCy+1), cycleTime, cycleTimeExp); else fprintf('INFO: Float #%d Cycle #%d -> #%d: %.1f hours (%d hours)\n', ... diff --git a/decArgo_soft/soft/util2/nc_collect_conf_labels.m b/decArgo_soft/soft/util2/nc_collect_conf_labels.m index e4a5b3ba..51fd299e 100644 --- a/decArgo_soft/soft/util2/nc_collect_conf_labels.m +++ b/decArgo_soft/soft/util2/nc_collect_conf_labels.m @@ -108,7 +108,7 @@ function nc_collect_conf_labels(varargin) for id = 1:length(launchConfigParamName) label = launchConfigParamName{id}; if (isempty(strtrim(label))) - fprintf('ERROR: empty label detected => label ignored\n'); + fprintf('ERROR: empty label detected - label ignored\n'); continue end labelList{end+1} = label; @@ -116,7 +116,7 @@ function nc_collect_conf_labels(varargin) for id = 1:length(configParamName) label = configParamName{id}; if (isempty(strtrim(label))) - fprintf('ERROR: empty label detected => label ignored\n'); + fprintf('ERROR: empty label detected - label ignored\n'); continue end labelList{end+1} = label; diff --git a/decArgo_soft/soft/util2/nc_collect_data_for_vss.m b/decArgo_soft/soft/util2/nc_collect_data_for_vss.m index baff6850..1545e64d 100644 --- a/decArgo_soft/soft/util2/nc_collect_data_for_vss.m +++ b/decArgo_soft/soft/util2/nc_collect_data_for_vss.m @@ -100,7 +100,7 @@ function nc_collect_data_for_vss(varargin) % find current float Dec Id idF = find(listWmoNum == floatNum, 1); if (isempty(idF)) - fprintf('ERROR: No information on float #%d => exit\n', floatNum); + fprintf('ERROR: No information on float #%d - exit\n', floatNum); return end floatDecId = listDecId(idF); diff --git a/decArgo_soft/soft/util2/nc_collect_not_allowed_conf_labels.m b/decArgo_soft/soft/util2/nc_collect_not_allowed_conf_labels.m index 1c0d9d76..fc22bdd9 100644 --- a/decArgo_soft/soft/util2/nc_collect_not_allowed_conf_labels.m +++ b/decArgo_soft/soft/util2/nc_collect_not_allowed_conf_labels.m @@ -51,7 +51,7 @@ function nc_collect_not_allowed_conf_labels(varargin) idF = strfind(label, '_'); % fprintf('%s\n', label(idF(end)+1:end)); label = label(1:idF(end)-1); - fprintf('%s => ', label); + fprintf('%s - ', label); % replace the templates of each label tmpLabelListIn = {label}; @@ -66,7 +66,7 @@ function nc_collect_not_allowed_conf_labels(varargin) idFEnd = strfind(tmpLabel, '>'); template = tmpLabel(idFStart:idFEnd); if (~ismember(template, templateList)) - fprintf('ERROR: template ''%s'' is not in the referenced list => aborted\n', template); + fprintf('ERROR: template ''%s'' is not in the referenced list - aborted\n', template); return end templateId = find(strcmp(template, templateList)); @@ -204,7 +204,7 @@ function nc_collect_not_allowed_conf_labels(varargin) for id = 1:length(launchConfigParamNameList) label = launchConfigParamNameList{id}; if (isempty(strtrim(label))) - fprintf('ERROR: empty label detected => label ignored\n'); + fprintf('ERROR: empty label detected - label ignored\n'); continue end labelList{end+1} = label; @@ -212,7 +212,7 @@ function nc_collect_not_allowed_conf_labels(varargin) for id = 1:length(configParamNameList) label = configParamNameList{id}; if (isempty(strtrim(label))) - fprintf('ERROR: empty label detected => label ignored\n'); + fprintf('ERROR: empty label detected - label ignored\n'); continue end labelList{end+1} = label; diff --git a/decArgo_soft/soft/util2/nc_collect_not_allowed_tech_labels.m b/decArgo_soft/soft/util2/nc_collect_not_allowed_tech_labels.m index 1d1b73d4..e9b4d897 100644 --- a/decArgo_soft/soft/util2/nc_collect_not_allowed_tech_labels.m +++ b/decArgo_soft/soft/util2/nc_collect_not_allowed_tech_labels.m @@ -62,7 +62,7 @@ function nc_collect_not_allowed_tech_labels(varargin) idFEnd = strfind(tmpLabel, '>'); template = tmpLabel(idFStart:idFEnd); if (~ismember(template, templateList)) - fprintf('ERROR: template ''%s'' is not in the referenced list => aborted\n', template); + fprintf('ERROR: template ''%s'' is not in the referenced list - aborted\n', template); return end templateId = find(strcmp(template, templateList)); @@ -182,7 +182,7 @@ function nc_collect_not_allowed_tech_labels(varargin) for id = 1:length(techParamNameList) label = techParamNameList{id}; if (isempty(strtrim(label))) - fprintf('ERROR: empty label detected => label ignored\n'); + fprintf('ERROR: empty label detected - label ignored\n'); continue end labelList{end+1} = label; diff --git a/decArgo_soft/soft/util2/nc_collect_tech_labels.m b/decArgo_soft/soft/util2/nc_collect_tech_labels.m index 7dea4f83..eef775c8 100644 --- a/decArgo_soft/soft/util2/nc_collect_tech_labels.m +++ b/decArgo_soft/soft/util2/nc_collect_tech_labels.m @@ -117,7 +117,7 @@ function nc_collect_tech_labels(varargin) for id = 1:length(techParamNameList) label = techParamNameList{id}; if (isempty(strtrim(label))) - fprintf('ERROR: empty label detected => label ignored\n'); + fprintf('ERROR: empty label detected - label ignored\n'); continue end labelList{end+1} = label; diff --git a/decArgo_soft/soft/util2/nc_convert_apx_bgc_mono_profile_argos_to_V3_1.m b/decArgo_soft/soft/util2/nc_convert_apx_bgc_mono_profile_argos_to_V3_1.m index 0b654272..7f932f37 100644 --- a/decArgo_soft/soft/util2/nc_convert_apx_bgc_mono_profile_argos_to_V3_1.m +++ b/decArgo_soft/soft/util2/nc_convert_apx_bgc_mono_profile_argos_to_V3_1.m @@ -207,7 +207,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) jsonInputFileName = [jsonFloatMetaDatafileDir '/' sprintf('%d_meta.json', floatNum)]; metaData = get_meta_data(metaDataFilePathName, jsonInputFileName); if (isempty(metaData)) - fprintf('ERROR: float #%d: NetCDf V3.1 meta-data file not found => float ignored\n', floatNum); + fprintf('ERROR: float #%d: NetCDf V3.1 meta-data file not found - float ignored\n', floatNum); continue end @@ -689,7 +689,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) % check if DOXY has been adjusted doxyAdjFlag = 0; -% WE DON'T REALLY CHECK (NOT RELIABLE) => WE DECIDE THAT NONE OF THE DOXY +% WE DON'T REALLY CHECK (NOT RELIABLE) - WE DECIDE THAT NONE OF THE DOXY % IS ADJUSTED % idVal = find(strcmp('DOXY_QC', inputMeasBData(1:2:end)) == 1, 1); % if (~isempty(idVal)) @@ -2215,7 +2215,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varName), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varName); end end @@ -2332,7 +2332,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) if (idOutFile == 2) && (idCalib > 1) % we don't duplicate more than one calib information in B file (because it is generally not filled, except for PARAMETER) if (~strcmp(varNameOut, 'PARAMETER')) if (~isempty(strtrim(data))) - fprintf('ERROR: Information ''%s=%s'' => not copied in output file\n', ... + fprintf('ERROR: Information ''%s=%s'' - not copied in output file\n', ... varNameOut, strtrim(data)); end end @@ -2431,7 +2431,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -2551,7 +2551,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) if (var_is_present_dec_argo(fCdf, varNameOut)) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -2596,7 +2596,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... 'PARAMETER_DATA_MODE'); end end @@ -2700,10 +2700,10 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_DATE'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(inputDateUpdate)]), inputDateUpdate'); - fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... param, inputDateUpdate, outputFileName); else - fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... + fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... param, outputFileName); end end @@ -2713,7 +2713,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_COMMENT'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(defaultComment)]), defaultComment'); - fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter => set to ''%s'' (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter - set to ''%s'' (file %s)\n', ... param, defaultComment,outputFileName); end end @@ -2841,7 +2841,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) if (~isempty(a_corCyNumData)) idF = find((a_corCyNumData(:, 1) == floatWmo) & (a_corCyNumData(:, 2) == a_cycleNumber)); if (isempty(idF)) - % fprintf('INFO: Float %d: Corrected cycle number not found for cycle number #%d => no correction done + ''comment'' global attribute added\n', ... + % fprintf('INFO: Float %d: Corrected cycle number not found for cycle number #%d - no correction done + ''comment'' global attribute added\n', ... % floatWmo, a_cycleNumber); o_noCorCyNum = 1; else @@ -2974,7 +2974,7 @@ function nc_convert_apx_bgc_mono_profile_argos_to_V3_1(varargin) [repRateMetaData] = get_meta_data_from_json_file(a_jsonInputFileName, wantedMetaNames); repRate = repRateMetaData{2}; else - fprintf('ERROR: Json meta-data file not found: %s => CONFIG_REPETITION_RATE not found\n', ... + fprintf('ERROR: Json meta-data file not found: %s - CONFIG_REPETITION_RATE not found\n', ... a_jsonInputFileName); end o_metaData{end+1} = 'CONFIG_REPETITION_RATE'; diff --git a/decArgo_soft/soft/util2/nc_convert_apx_mono_profile_argos_to_V3_1.m b/decArgo_soft/soft/util2/nc_convert_apx_mono_profile_argos_to_V3_1.m index f6258b89..7bdc5e8e 100644 --- a/decArgo_soft/soft/util2/nc_convert_apx_mono_profile_argos_to_V3_1.m +++ b/decArgo_soft/soft/util2/nc_convert_apx_mono_profile_argos_to_V3_1.m @@ -200,7 +200,7 @@ function nc_convert_apx_mono_profile_argos_to_V3_1(varargin) jsonInputFileName = [jsonFloatMetaDatafileDir '/' sprintf('%d_meta.json', floatNum)]; metaData = get_meta_data(metaDataFilePathName, jsonInputFileName); if (isempty(metaData)) - fprintf('ERROR: float #%d: NetCDf V3.1 meta-data file not found => float ignored\n', floatNum); + fprintf('ERROR: float #%d: NetCDf V3.1 meta-data file not found - float ignored\n', floatNum); continue end @@ -1851,7 +1851,7 @@ function nc_convert_apx_mono_profile_argos_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varName), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varName); end end @@ -1959,7 +1959,7 @@ function nc_convert_apx_mono_profile_argos_to_V3_1(varargin) inputFileNHistory = size(varValue, 3); end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1996,7 +1996,7 @@ function nc_convert_apx_mono_profile_argos_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -2102,13 +2102,13 @@ function nc_convert_apx_mono_profile_argos_to_V3_1(varargin) fliplr([1 1 1 length(inputDateUpdate)]), inputDateUpdate'); if (a_verbose) - fprintf('INFO: Float #%d Cycle #%d %c: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => set to ''DATE_UPDATE'' of input DM file (= %s)\n', ... + fprintf('INFO: Float #%d Cycle #%d %c: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - set to ''DATE_UPDATE'' of input DM file (= %s)\n', ... wmoNum, cyNum, dir, ... param, inputDateUpdate); end else if (a_verbose) - fprintf('INFO: Float #%d Cycle #%d %c: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => nothing done since ''DATE_UPDATE'' of input DM file is empty\n', ... + fprintf('INFO: Float #%d Cycle #%d %c: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - nothing done since ''DATE_UPDATE'' of input DM file is empty\n', ... wmoNum, cyNum, dir, ... param); end @@ -2122,7 +2122,7 @@ function nc_convert_apx_mono_profile_argos_to_V3_1(varargin) fliplr([1 1 1 length(defaultComment)]), defaultComment'); if (a_verbose) - fprintf('INFO: Float #%d Cycle #%d %c: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter => set to ''%s''\n', ... + fprintf('INFO: Float #%d Cycle #%d %c: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter - set to ''%s''\n', ... wmoNum, cyNum, dir, ... param, defaultComment); end @@ -2190,7 +2190,7 @@ function nc_convert_apx_mono_profile_argos_to_V3_1(varargin) if (~isempty(a_corCyNumData)) idF = find((a_corCyNumData(:, 1) == floatWmo) & (a_corCyNumData(:, 2) == a_cycleNumber)); if (isempty(idF)) - % fprintf('INFO: Float %d: Corrected cycle number not found for cycle number #%d => no correction done + ''comment'' global attribute added\n', ... + % fprintf('INFO: Float %d: Corrected cycle number not found for cycle number #%d - no correction done + ''comment'' global attribute added\n', ... % floatWmo, a_cycleNumber); o_noCorCyNum = 1; else @@ -2305,7 +2305,7 @@ function nc_convert_apx_mono_profile_argos_to_V3_1(varargin) [repRateMetaData] = get_meta_data_from_json_file(a_jsonInputFileName, wantedMetaNames); repRate = repRateMetaData{2}; else - fprintf('ERROR: Json meta-data file not found: %s => CONFIG_REPETITION_RATE not found\n', ... + fprintf('ERROR: Json meta-data file not found: %s - CONFIG_REPETITION_RATE not found\n', ... a_jsonInputFileName); end o_metaData{end+1} = 'CONFIG_REPETITION_RATE'; diff --git a/decArgo_soft/soft/util2/nc_convert_mono_profile_argos_to_V3_1.m b/decArgo_soft/soft/util2/nc_convert_mono_profile_argos_to_V3_1.m index efd7e19e..6a0170f7 100644 --- a/decArgo_soft/soft/util2/nc_convert_mono_profile_argos_to_V3_1.m +++ b/decArgo_soft/soft/util2/nc_convert_mono_profile_argos_to_V3_1.m @@ -153,14 +153,14 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) jsonInputFileName = [jsonFloatMetaDatafileDir '/' sprintf('%d_meta.json', floatNum)]; metaData = get_meta_data(metaDataFilePathName, jsonInputFileName); if (isempty(metaData)) - fprintf('ERROR: float #%d: NetCDf V3.1 meta-data file not found => float ignored\n', a_floatNum); + fprintf('ERROR: float #%d: NetCDf V3.1 meta-data file not found - float ignored\n', a_floatNum); continue end % retrieve the cut off pressure of the CTD profile cutOffPres = get_cutoff_pres(metaData); if (isempty(cutOffPres)) - fprintf('ERROR: float #%d: cut-off pressure not found => float ignored\n', a_floatNum); + fprintf('ERROR: float #%d: cut-off pressure not found - float ignored\n', a_floatNum); continue end @@ -887,7 +887,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) inputNCalib = nCalibDimClean; list = sprintf('%d, ', firstCalibToDel:nCalibDim); - fprintf('INFO: CALIBRATION information empty for N_CALIB = (%s) => removed (file %s)\n', ... + fprintf('INFO: CALIBRATION information empty for N_CALIB = (%s) - removed (file %s)\n', ... list(1:end-2), a_outputFileName); end @@ -1187,7 +1187,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varName), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varName); end end @@ -1295,7 +1295,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) inputFileNHistory = size(varValue, 3); end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1332,7 +1332,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1434,10 +1434,10 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_DATE'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(inputDateUpdate)]), inputDateUpdate'); - fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... param, inputDateUpdate, a_outputFileName); else - fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... + fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... param, a_outputFileName); end end @@ -1447,7 +1447,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_COMMENT'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(defaultComment)]), defaultComment'); - fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter => set to ''%s'' (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter - set to ''%s'' (file %s)\n', ... param, defaultComment,a_outputFileName); end end @@ -2180,7 +2180,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) inputNCalib = nCalibDimClean; list = sprintf('%d, ', firstCalibToDel:nCalibDim); - fprintf('INFO: CALIBRATION information empty for N_CALIB = (%s) => removed (file %s)\n', ... + fprintf('INFO: CALIBRATION information empty for N_CALIB = (%s) - removed (file %s)\n', ... list(1:end-2), a_outputFileName); end @@ -2487,7 +2487,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -2522,7 +2522,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varName); end end @@ -2758,7 +2758,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -2777,7 +2777,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) idVal = find(strcmp(varNameIn, inputMeasData(1:2:end)) == 1, 1); varValue = inputMeasData{2*idVal}; if (~isempty(varValue)) - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end continue @@ -2840,7 +2840,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -2947,10 +2947,10 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_DATE'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(inputDateUpdate)]), inputDateUpdate'); - fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... param, inputDateUpdate, a_outputFileName); else - fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... + fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... param, a_outputFileName); end end @@ -2960,7 +2960,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_COMMENT'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(defaultComment)]), defaultComment'); - fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter => set to ''%s'' (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter - set to ''%s'' (file %s)\n', ... param, defaultComment,a_outputFileName); end end @@ -3026,7 +3026,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) % retrieve the corrected cycle number idF = find((a_corCyNumData(:,1) == floatWmo) & (a_corCyNumData(:,3) == a_cycleNumber)); if (isempty(idF)) - fprintf('INFO: Float %d: Corrected cycle number not found for cycle number #%d => no correction done + ''comment'' global attribute added\n', ... + fprintf('INFO: Float %d: Corrected cycle number not found for cycle number #%d - no correction done + ''comment'' global attribute added\n', ... floatWmo, a_cycleNumber); corCycleNumber = a_cycleNumber; o_noCorCyNum = 1; @@ -3072,7 +3072,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) end end -% fprintf('INFO: profNum %d <-> %d corNum => confNum %d\n', ... +% fprintf('INFO: profNum %d <-> %d corNum - confNum %d\n', ... % a_cycleNumber, corCycleNumber, o_confMissionNumber); return @@ -3268,7 +3268,7 @@ function nc_convert_mono_profile_argos_to_V3_1(varargin) [repRateMetaData] = get_meta_data_from_json_file(a_jsonInputFileName, wantedMetaNames); repRate = repRateMetaData{2}; else - fprintf('ERROR: Json meta-data file not found: %s => CONFIG_REPETITION_RATE not found\n', ... + fprintf('ERROR: Json meta-data file not found: %s - CONFIG_REPETITION_RATE not found\n', ... a_jsonInputFileName); end o_metaData{end+1} = 'CONFIG_REPETITION_RATE'; diff --git a/decArgo_soft/soft/util2/nc_convert_mono_profile_iridium_to_V3_1.m b/decArgo_soft/soft/util2/nc_convert_mono_profile_iridium_to_V3_1.m index 0199fe21..21c37e9a 100644 --- a/decArgo_soft/soft/util2/nc_convert_mono_profile_iridium_to_V3_1.m +++ b/decArgo_soft/soft/util2/nc_convert_mono_profile_iridium_to_V3_1.m @@ -176,14 +176,14 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) jsonInputFileName = [jsonFloatMetaDatafileDir '/' sprintf('%d_meta.json', floatNum)]; metaData = get_meta_data(metaDataFilePathName, jsonInputFileName); if (isempty(metaData)) - fprintf('ERROR: float #%d: NetCDf V3.1 meta-data file not found => float ignored\n', floatNum); + fprintf('ERROR: float #%d: NetCDf V3.1 meta-data file not found - float ignored\n', floatNum); continue end % retrieve the cut off pressure of the CTD profile cutOffPres = get_cutoff_pres(metaData); if (isempty(cutOffPres)) - fprintf('ERROR: float #%d: cut-off pressure not found => float ignored\n', floatNum); + fprintf('ERROR: float #%d: cut-off pressure not found - float ignored\n', floatNum); continue end @@ -1033,7 +1033,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) inputNCalib = nCalibDimClean; list = sprintf('%d, ', firstCalibToDel:nCalibDim); - fprintf('INFO: CALIBRATION information empty for N_CALIB = (%s) => removed (file %s)\n', ... + fprintf('INFO: CALIBRATION information empty for N_CALIB = (%s) - removed (file %s)\n', ... list(1:end-2), a_outputFileName); end @@ -1403,7 +1403,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varName), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varName); end end @@ -1585,7 +1585,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1681,7 +1681,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) if (var_is_present_dec_argo(fCdf, varNameOut)) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -1704,7 +1704,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... 'PARAMETER_DATA_MODE'); end end @@ -1806,10 +1806,10 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_DATE'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(inputDateUpdate)]), inputDateUpdate'); - fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... param, inputDateUpdate, outputFileName); else - fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... + fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... param, outputFileName); end end @@ -1819,7 +1819,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_COMMENT'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(defaultComment)]), defaultComment'); - fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter => set to ''%s'' (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter - set to ''%s'' (file %s)\n', ... param, defaultComment,outputFileName); end end @@ -2623,7 +2623,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) inputNCalib = nCalibDimClean; list = sprintf('%d, ', firstCalibToDel:nCalibDim); - fprintf('INFO: CALIBRATION information empty for N_CALIB = (%s) => removed (file %s)\n', ... + fprintf('INFO: CALIBRATION information empty for N_CALIB = (%s) - removed (file %s)\n', ... list(1:end-2), a_outputFileName); end @@ -3062,7 +3062,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameOut), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -3097,7 +3097,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varName); end end @@ -3423,7 +3423,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -3442,7 +3442,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) idVal = find(strcmp(varNameIn, inputMeasData(1:2:end)) == 1, 1); varValue = inputMeasData{2*idVal}; if (~isempty(varValue)) - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end continue @@ -3521,7 +3521,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameOut); end end @@ -3545,7 +3545,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end end else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... 'PARAMETER_DATA_MODE'); end end @@ -3651,10 +3651,10 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_DATE'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(inputDateUpdate)]), inputDateUpdate'); - fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - set to ''DATE_UPDATE'' of input DM file (= %s) (file %s)\n', ... param, inputDateUpdate, outputFileName); else - fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter => nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... + fprintf('WARNING: ''SCIENTIFIC_CALIB_DATE'' is empty for %s parameter - nothing done since ''DATE_UPDATE'' of input DM file is empty (file %s)\n', ... param, outputFileName); end end @@ -3664,7 +3664,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, 'SCIENTIFIC_CALIB_COMMENT'), ... fliplr([idProf-1 idCalib-1 idParam-1 0]), ... fliplr([1 1 1 length(defaultComment)]), defaultComment'); - fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter => set to ''%s'' (file %s)\n', ... + fprintf('INFO: ''SCIENTIFIC_CALIB_COMMENT'' is empty for %s parameter - set to ''%s'' (file %s)\n', ... param, defaultComment,outputFileName); end end @@ -3731,7 +3731,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) % retrieve the corrected cycle number idF = find((a_corCyNumData(:,1) == floatWmo) & (a_corCyNumData(:,3) == a_cycleNumber)); if (isempty(idF)) - fprintf('INFO: Float %d: Corrected cycle number not found for cycle number #%d => no correction done + ''comment'' global attribute added\n', ... + fprintf('INFO: Float %d: Corrected cycle number not found for cycle number #%d - no correction done + ''comment'' global attribute added\n', ... floatWmo, a_cycleNumber); corCycleNumber = a_cycleNumber; o_noCorCyNum = 1; @@ -3804,7 +3804,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) end end -% fprintf('INFO: profNum %d <-> %d corNum => confNum %d\n', ... +% fprintf('INFO: profNum %d <-> %d corNum - confNum %d\n', ... % a_cycleNumber, corCycleNumber, o_confMissionNumber); return @@ -4000,7 +4000,7 @@ function nc_convert_mono_profile_iridium_to_V3_1(varargin) [repRateMetaData] = get_meta_data_from_json_file(a_jsonInputFileName, wantedMetaNames); repRate = repRateMetaData{2}; else - fprintf('ERROR: Json meta-data file not found: %s => CONFIG_REPETITION_RATE not found\n', ... + fprintf('ERROR: Json meta-data file not found: %s - CONFIG_REPETITION_RATE not found\n', ... a_jsonInputFileName); end o_metaData{end+1} = 'CONFIG_REPETITION_RATE'; diff --git a/decArgo_soft/soft/util2/nc_create_apx_mono_profile_argos_from_dep.m b/decArgo_soft/soft/util2/nc_create_apx_mono_profile_argos_from_dep.m index a4202393..0de9e95b 100644 --- a/decArgo_soft/soft/util2/nc_create_apx_mono_profile_argos_from_dep.m +++ b/decArgo_soft/soft/util2/nc_create_apx_mono_profile_argos_from_dep.m @@ -449,7 +449,7 @@ function nc_create_apx_mono_profile_argos_from_dep(varargin) [repRateMetaData] = get_meta_data_from_json_file(a_jsonInputFileName, wantedMetaNames); repRate = repRateMetaData{2}; else - fprintf('ERROR: Json meta-data file not found: %s => CONFIG_REPETITION_RATE not found\n', ... + fprintf('ERROR: Json meta-data file not found: %s - CONFIG_REPETITION_RATE not found\n', ... a_jsonInputFileName); end o_configMetaData{end+1} = 'CONFIG_REPETITION_RATE'; @@ -791,7 +791,7 @@ function nc_create_apx_mono_profile_argos_from_dep(varargin) end netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varName), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varName); end end @@ -806,7 +806,7 @@ function nc_create_apx_mono_profile_argos_from_dep(varargin) varValue = a_profileData.(lower(varName)); netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varName), varValue); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varName); end @@ -816,7 +816,7 @@ function nc_create_apx_mono_profile_argos_from_dep(varargin) varValueAdj = a_profileData.([lower(varName) 'Adj']); netcdf.putVar(fCdf, netcdf.inqVarID(fCdf, varNameAdj), varValueAdj); else - fprintf('INFO: Variable %s not present in output format => not copied in output file\n', ... + fprintf('INFO: Variable %s not present in output format - not copied in output file\n', ... varNameAdj); end