aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetIOScalar
diff options
context:
space:
mode:
authorThomas Radke <tradke@aei.mpg.de>2007-04-20 15:58:00 +0000
committerThomas Radke <tradke@aei.mpg.de>2007-04-20 15:58:00 +0000
commite45ea5bbec5767645047f96354c540240d7e74e5 (patch)
tree09c212f9b3a95d0245ba3efc7e88e4f6cabe7e3b /Carpet/CarpetIOScalar
parenta242cc79efe64e914e07a18f9691451d1322712a (diff)
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
Diffstat (limited to 'Carpet/CarpetIOScalar')
-rwxr-xr-xCarpet/CarpetIOScalar/src/util/mergeCarpetIOScalar.pl15
1 files changed, 9 insertions, 6 deletions
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};
}