Tried to optimize second_window function. Used a deque for the sliding window in which we're calculating the min and max. Used np.ndarray.item to read more efficiently an item from a numpy array, and np.ma.put to write more efficiently to a numpy masked array. No need in the loop to check for masked data, as we are working on unmasked slices anyway.
Tried to optimize second_window function. Used a deque for the sliding window in which we're calculating the min and max. Used np.ndarray.item to read more efficiently an item from a numpy array, and np.ma.put to write more efficiently to a numpy masked array. No need in the loop to check for masked data, as we are working on unmasked slices anyway.
Un-commented the return statement.
Try to optimize second_window.
In second_window, removed any reference to start or stop. Added some comments.
Merged from origin/second_window_optimize
Applied again clump_unmasked function to the array. This is necessary to correctly ignore any masked data.
Improved performances of second_window.
Update docstrings for nodes related to dual input.
Fix modules for name-retrieval functions in utils.
Update to use new units constants.

- Change units attributes to use constants instead of strings.
- EPR/TPR are ratios and have no units - be explicit - use None.
- Eng Vib parameters have no units - be explicit - use None.
- Mach-related KPVs should have 'Mach' as a unit, not 'kt'...
- Duration KPVs should always be in seconds... Not percent!
- Added in many missing units to derived parameters and KPVs.
- Move units, etc. to the top of the class definitions for clarity.
- Resolve inconsistencies between units in different modules.
- Fix some dependency parameters:
  - 'Speedbrake Handle (*)' should use P() not M().
  - 'Stable Approach' should use M() not P().
- Also tidy some docstrings - used to populate database.
- Make use of all_of and any_of is some more can_operate methods.
- Add some comments regarding possible code improvements.
Correct the units for engine oil quantity KPVs.
CJ making the accessors less private for use when not in debug mode

Signed-off-by: Dave Jesse <dave.jesse@flightdataservices.com>
CRJ Radio Altimeter scaling set from analysis of a suite of flights for different aircraft.
Node exception handling added by Chris Jesse.
Merge branch 'master' of https://github.com/FlightDataServices/FlightDataAnalyzer
Fix units for wind direction.
Merge branch 'master' of https://github.com/FlightDataServices/FlightDataAnalyzer
Fixes to 'Delayed Braking After Touchdown'

- Change index to be end rather than midpoint.
- Updated and expanded the documentation.
- Implemented a basic test for the code.
AirspeedGusty excludes where not enough data to slice during final approach