-
Notifications
You must be signed in to change notification settings - Fork 33
/
TODO
86 lines (61 loc) · 3.59 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
====
TODO
====
* What to do if AUW is greater or less than the VREF/V2 tables allow? Should this be reported as more than just a warning in log file?
* Review whether we should keep KeyPointValue slices which indicate which section of data a KPV was created within.
* Support offset ILS beams for approach tracks
* Q: add __len__ to nodes - this is easy for sections which are a list, but for derived parameters this could be the length of valid (not masked) data. Although risky?
* rename modules to consistent singular or plural (flight_phase vs. key_point_values)
* Rename analyser_custom_settings.py module with a 'z' for analyzer
* Q: Rename KeyPointValueNode to be KeyPointValueList?
* Q: Rename DerivedParameterNode to be DerivedParameter?
* Review HDFAccess cache - have implemented deepcopy to ensure array isn't manipulated by other processes - need to profile with and without deepcopy and alternative use of np.copy()!
* Optimise library.index_at_value and derived_parameters.ClimbForFlightPhases
* Document tips for debugging, such as
* Finding params within hdf file
* Plotting params overlaying results of masks
.. code-block:: python
from analysis_engine.plot_flight import plot_parameter
INFO:root:Importing custom settings
plot_parameter(loc_devc)
plot_parameter(res)
* Aircraft Parameters such as wingspan etc - to be determined
* example of new Derived param structure
* Add attribute to LFL parameters (or just use data type? derived could then
be a type)
* Change name of "Set param limits" to be more generic (removing word limits)
such as "Set param attribute(param, attr, value)"
* Document and validate the return types from nodes. Could even add an accessor
for getting always a list of kpv/ktis to make collection in derive_parameters()
easier.
* Validate the derived parameters to ensure that all dependencies exist as
classes OR are referenced in one of the LFL documents!
* test validation for ALL algorithm dependencies across ALL LFLs
.. code-block:: python
from compass.dataframe_parser import get_all_parameter_names
raw_param_list = get_all_parameter_names() # Don't restrict to any particular LFL unless requested
build_dependencies(raw_param_list, all_kpv)
* test validation for an aircraft's required algorithm dependencies across it's LFL
* Should probably also assert that there are no duplicate Node names (copy and paste error!)
* determine whether some of the events required cannot be detected as the raw parameters does not exist in the LFL'
Notes
=====
* Can have multiple KPVs, but only one of each type is marked as "primary".
* Assumed storage of all LFL params in the HDF - uses this as the param set
Discussions
===========
* Re-assess dependency tree during processing when a node is determined as
inoperable. This wouldn't be too slow as any params established so far will be
cached in dicts or saved in HDF already. However it does make it harder to
predict the dependency tree for a given set of data and introduce an element
of mystery and unpredictability.
* What to do when getting a value at index, param[index], when the value is
masked at that point. Can we scan a certain amount either side and repair
mask for that section (interpolating the result)
* Grouping of related KeyPointValue types e.g.: `related = ('AirspeedMax', ..)`
Analysis Engine
===============
* Gear extending and retracting should be section nodes, as they last for a
period, however the 737-5 data used for testing has inoperative undercarraige
red warnings, so this change will be implemented later.
* Resolve the processing of different base sets of data