branch F_interpolation Fehlende Werte interpolieren
nicht nur identische Werte durch interp ersetzen, sondern auch systematisch fehlende Werte.
wie dazu olivers Seite aussieht, ist hier beschrieben:
Email an Oliver 28.3..2018
Matlab-programm, das alle cdf und ppm findet, einliest, und die 5-fachen F-Werte rauslöscht. -> cdf in jmat systematisch aufspüren (kann ich Dir zeigen, wie ich das in Matlab gemacht habe) -> selectiv PPM-auslesen aus cdf auslesen, ohne die ganze Datei einlesen zu müssen -> WIR MÜSSEN NOCH ÜBERLEGEN, WIE WIR DEN NEUEN PPM-ARRAY MACHEN (nur existierende Werte oder für jede Sekunde einen Wert, ggf. missing data sysmbol) UND WIE WIR DEN ZEITARRAY UND DEN FLAG-ARRAY anpassen -> Programmteile später nutzbar, um alle cdfs umzuschreiben, um z. Bsp. Basiswerte effizient nachzutragen https://cdf.gsfc.nasa.gov/
Email am 3.4.2018
Hallo Oliver und Achim,
siehe jmat/0_programme_win/read_cdf.m und jmat/0_programme_win/0Doku_Flag_System_Matlab_Programs.docx
read_cdf.m liest ein cdf ein (jetzt TDC vom 11.2.2018, TDC ist ein gutes Beispiel, weil dort öfters PPM-Werte fehlen) und macht ein paar plots, siehe besonders die Befehle, am Schluss.
Im cdf sind folgende Daten gespeichert, die in eine Matlab-structure 'data 'gehen:
data =
H0: [16x1 double]
D0: [16x1 double]
Z0: [16x1 double]
F0: [16x1 double]
HNscv: [16x1 double]
HEscv: [16x1 double]
Zscv: [16x1 double]
Basetrig: [16x1 double]
time: [86400x1 double]
HNvar: [86400x1 double]
HEvar: [86400x1 double]
Zvar: [86400x1 double]
T1: [86400x1 double]
T2: [86400x1 double]
timeppm: [86097x1 double]
timegps: [86097x1 double]
timefge: [86399x1 double]
Fsc: [86400x1 double]
HNflag: [86400x1 int8]
HEflag: [86400x1 int8]
Zflag: [86400x1 int8]
Fscflag: [86400x1 int8]
FscQP: [86400x1 int8]
T1flag: [86400x1 int8]
T2flag: [86400x1 int8]
Timeerr: 0
Timeerrtrig: 6616
Im cdf fehlt den Variablennamen das voranstehende 'data.' Der Zeit-Array data.time ist immer 86400 groß. Der PPM-Array data.Fsc und der flag-Arrray data.Fscflag sind immer 86400 groß.
Für das GSM, bei fehlenden Daten: data.Fsc ist NaN data.Fscflag ist -1 Die PPM-Dateien enthalten den Zeitstempel from Datenlogger und den Zeitstempel vom GPS. timeppm ist der Zeit-Stempel-array aus der PPM-Datei und entsprechend kürzer als 86400, wenn die PPM-Datei kürzer ist. timegps ist der GPS-Zeit-array vom GSM und gleich lang wie timeppm (bei den meisten Systemen ist by default timegps == timeppm , in TDC aber nicht.
Zur Entfernung der überflüssigen PPM-Werte aus den PPM-Dateien: Redundante Zeilen löschen.
Zur Entfernung der überflüssigen PPM-Werte aus den cdf-Dateien: Setze redundante F-Werte auf NaN, setzte entsprechende Fscflag-Werte auf -1, entferne entsprechende Zeitstempel aus timegps, timeppm.
Gruß, Jürgen