From e45ea5bbec5767645047f96354c540240d7e74e5 Mon Sep 17 00:00:00 2001 From: Thomas Radke Date: Fri, 20 Apr 2007 15:58:00 +0000 Subject: CarpetIOScalar: fix bug in utility script mergeCarpetIOScalar.pl output merged data lines sorted by their time; only output comment lines appearing before the very first data line darcs-hash:20070420155818-776a0-a0cd0c3e55ca41c0280d975967dd02fc0d7c4184.gz --- Carpet/CarpetIOScalar/src/util/mergeCarpetIOScalar.pl | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'Carpet/CarpetIOScalar/src/util/mergeCarpetIOScalar.pl') diff --git a/Carpet/CarpetIOScalar/src/util/mergeCarpetIOScalar.pl b/Carpet/CarpetIOScalar/src/util/mergeCarpetIOScalar.pl index d31a2f80e..5e9702715 100755 --- a/Carpet/CarpetIOScalar/src/util/mergeCarpetIOScalar.pl +++ b/Carpet/CarpetIOScalar/src/util/mergeCarpetIOScalar.pl @@ -44,8 +44,8 @@ my @filelist = @ARGV; while (<>) { # falls diese Zeile eine Datenzeile ist: - # vermerke den Datensatz mit seiner Iterationsnummer - ++$timesteps{$1} if (/^(\d+(.\d+)?)\s/); + # merke den Datensatz mit seinem Zeitschritt + $timesteps{$1} = $_ if (/^(\d+(.\d+)?)\s/); } # stelle die Liste aller Eingabe-Dateien wieder her @@ -53,9 +53,12 @@ while (<>) { # lies zeilenweise alle Eingabe-Dateien while (<>) { + # gib alle Zeilen bis zur ersten Datenzeile aus + last if (/^(\d+(.\d+)?)\s/); + print; +} - # falls diese Zeile eine Datenzeile ist: - # ueberspringe alle Datensaetze mit dieser Iterationsnummer - # bis auf den letzten - print unless (/^(\d+(.\d+)?)\s/ and --$timesteps{$1} == 0); +# gib alle Datenzeilen aus, sortiert nach Zeitschritten +foreach my $timestep (sort {$a <=> $b} keys %timesteps) { + print $timesteps{$timestep}; } -- cgit v1.2.3