.. highlightlang:: us .. index:: NC_AddFiles .. _nc_addfiles: NC_AddFiles =========== .. us.tag NC_AddFiles GERMAN nc.tools New5505 Changed5510 Changed 6011 :ref:`NC_AddFiles` erzeugt eine neue NC-Datei durch Verketten von mehreren Dateien wobei die Datenrekords der angegebenen Dateien aneinander gehängt werden. Es werden die Daten der Kanäle verkettet, deren Namen übereinstimmen. .. function:: oError = NC_AddFiles(svNCAdd, ssNCDest) oError = NC_AddFiles(svNCAdd, ssNCDest, svVarNames) oError = NC_AddFiles(svNCAdd, ssNCDest, obj) .. us.return **Returnwert** Der Returnwert ist 0 oder enthält ein Error-Objekt, siehe :ref:`error_create`. .. us.params **Parameter** .. uparam:: svNCAdd *svNCAdd* ist ein Vektor mit den Namen der NC-Dateien. .. uparam:: ssNCDest *ssNCDest* ist der Name unter dem die neue Datei gespeichert wird. .. uparam:: svVarNames *svVarNames* ist ein Vektor mit Kanalnamen. Nur die angegebenen Namen werden in der Datei gespeichert. Wird der Parameter nicht angegeben, werden alle Kanäle in die Zieldatei geschrieben. Falls einer der Kanäle in einer Datei nicht vorhanden ist, wird der Kanal für die entsprechenden Datenpunkte mit missing_value aufgefüllt. .. uparam:: obj *obj* ist ein Objekt mit den folgenden Elementen: .. list-table:: :header-rows: 1 * - Name - Bedeutung * - obj.bKeepTimeGaps - (BOOL) Wenn der Wert TRUE (1) ist, werden die Zeitlücken entfernt. Beim Wert FALSE (0), wird der Zeitkanal nicht verändert. Defaultwert is FALSE. Siehe Kommentar. * - obj.svVarNames - (String) String-Vektor mit Kanalname. Die Zeitkanäle werden automatisch zugefügt. Defaultwert ist "". In diesem Fall werden alle Kanäle zugefügt. .. us.comment **Kommentar** Ab R2015.8 werden auch Kanäle zugefügt, die in der ersten Datei nicht vorhanden sind. Die Kanalnamen müssen in allen Dateien den gleichen Datentyp (NC_CHAR oder Zahl) besitzen. Ab R2013.10 können mit der Funktion auch MDF-Dateien, BLF oder Puma-Rekordermessungen angehängt werden. Diese Dateien enthalten im Allgemeinen Messdaten mit unterschiedlicher Abtastfrequenz (Zeitgruppe), wobei die Kanäle mit gleicher Abtastfrequenz normalerweise in einer Dimension gespeichert werden. Für jede Datei wird der Zeitbereich ermittelt (t_start und t_end). Der Startzeitpunkt der zweiten und aller weiteren Dateien wird dann wie folgt korrigiert:: t_offset = t_end[iFile] - t_start[iFile+1] + 0.1; t[i] = t[i] + t_offset; UniPlot erkennt einen Zeitkanal daran, dass der entsprechende Kanal ein Attribut **Type** mit dem Wert **Time Channel** enthält. Die Zuordnung der Zeitgruppen wird bestimmt, indem die übereinstimmenden Kanäle gezählt werden. Es werden die Zeitgruppen einander zugeordnet, bei denen die Kanalübereinstimmung am größten ist. Da die Kanäle über die Namen ausgewählt werden, müssen die Namen in allen Dateien gleich sein. Beispielsweise kann ein Kanal ``nmot`` aus Datei 2 nicht an einen Kanal mit den Namen ``G2_nmot`` aus Datei 1 angehängt werden. Die Zeitkanäle für die angegebenen Kanäle werden automatisch übernommen. Sie können zwar, müssen aber nicht angegeben werden. .. us.example **Beispiel** :: def _NC_AddFiles(svFiles) { if (len(svFiles) < 2) { return auto_ImportData(svFiles[1]); } svF = svFiles; for (i in 1:len(svFiles)) { svF[i] = auto_ImportData(svFiles[i]); } svFirst = svF[1]; svP = SplitPath(svFiles[1]); ssNCDest = sum(svP[1,2,3]) + "Add.nc2"; oError = NC_AddFiles(svF, ssNCDest); if (type(oError) == "error") { MessageBoxError("%s\n\nError-No.: %d\n%s", oError.domain, oError.code, oError.message); return ""; } return ssNCDest; } **Beispiel** :: def test_NC_AddFiles() { obj= [.]; obj.bKeepTimeGaps = 1; obj.svVarNames = ["Air_pCACDs", "LSU_rLam", "ASMod_dVolEGFld__0_"]; svNCAdd = "x:\\test-data\\Inca\\" + ... ["IN04N_US06(1).dat.nc2", .... "IN04N_US06(1).dat_2.nc2"]; NC_AddFiles(svNCAdd, "T:/Neuer Ordner/aa.nc2", obj); NC_Edit("T:/Neuer Ordner/aa.nc2"); } .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2018.11 - Neuer Parameter *obj*. * - R2015.8 - Kanäle die zum ersten Mal in der zweiten oder höheren Datei auftreten, nicht aber in der ersten Datei vorhanden sind, werden nun auch zugefügt. * - R2013.10 - Es können auch die Daten von NC-Dateien mit mehreren Dimensionen zugefügt werden. * - R2013.5 - Neu. .. seealso:: :ref:`uberblick-netcdf-dateien`, :ref:`nc_create`, :ref:`NC_MergeFiles` :sub:`id-1284725`