#!/bin/awk -f

BEGIN{
	FS = "="
}

{
	if (FNR == 1) {
		xdphys_file = match($0,/^;; [xd]/);
		if (xdphys_file == 0) {
			print "fix3and5: " FILENAME " is not an xdphys data file. Skipping." > "/dev/stderr"
			nextfile
		} else {
			# This is the start of a new file
			done_header=0
			print_em=1
			delete depvars
			if (FILENAME == "-")
				filename = "/dev/stdout"
			else {
				filename = FILENAME
				sub(/[^\/]*$/,"fixed.&",filename)
			}
			print "fix3and5: Writing to: " filename > "/dev/stderr"
		}
	}
}

/^Reps/ {
	if (done_header==0) {
		if ($2 == 5) {
			print "Reps=3" > filename
			next
		} else {
			print "fix3and5: " FILENAME " only works with Reps=5, here Reps=" $2 ". Skipping." > "/dev/stderr"
			system("rm " filename)
			nextfile
		}
	}
}

/^nrasters/ {
	done_header=1
	printf "nrasters=%d\n", (($2 / 5) * 3) > filename
	next
}

/^depvar/ {
	if (done_header != 0) {
		line=$0
		sub(/<.*>/,"",$2)
		if ($2 in depvars) {
			depvars[$2]=depvars[$2]+1
		} else {
			depvars[$2]=1
		}
		if ((depvars[$2] == 3) || (depvars[$2] == 5))
			print_em=0
		else {
			print_em=1
			print line > filename
		}
		next
	}
}

{
	if ((done_header == 0) || ((done_header == 1) && (print_em == 1))) {
		print $0 > filename
	}
}
		
	

