DJPITUE36JN2YUFH5ZO6M33SEROO5IDTTXIIL4CI7IHLMK6V5STQC
M5R6KQLXLGYSVKHVAX5AJKD6NYE6IM5Z6WVTR3BTKPJDNNKF3ARAC
RCLGQ2LZMFVPBPTU2G55DJ6HZPOGGTPZRZCY54VGP6YLHANJ2LAQC
YIQN7NJTGEVKW7JZHL6CTH6EPCIXCNBYNURIGXPYZAOUX3VAJQMAC
VAF66DTVLDWNG7N2PEQYEH4OH5SPSMFBXKPR2PU67IIM6CVPCJ7AC
2DKSL6DKZAIYQUJGDULORCKU5K4Z5Z3W4RIKQYDSLKMCNQNDZFBAC
KXFBF2APM2MBHH47ZXJ2R47IEYHWTNP2GVG4KULO66YR2DUUKCJQC
ofstream file;
if (is_root) {
ostringstream buf;
buf << out_dir << "/norms.it" << setw(6) << setfill('0') << cctk_iteration
<< ".tsv";
const string filename = buf.str();
file = ofstream(filename);
file << "# 1:iteration"
<< "\t"
<< "2:time"
<< "\t"
<< "3:varname"
<< "\t"
<< "4:min"
<< "\t"
<< "5:max"
<< "\t"
<< "6:sum"
<< "\t"
<< "7:avg"
<< "\t"
<< "8:stddev"
<< "\t"
<< "9:volume"
<< "\t"
<< "10:maxabs"
<< "\t"
<< "11:L1norm"
<< "\t"
<< "12:L2norm"
<< "\n";
}
cout << " "
<< unique_ptr<char>(CCTK_FullName(groupdata.firstvarindex + vi))
.get()
<< ": maxabs=" << red.maxabs << " sum=" << red.sum
<< " vol=" << red.vol << "\n";
file << cctk_iteration << "\t" << cctk_time << "\t"
<< CCTK_FullVarName(groupdata.firstvarindex + vi) << "\t"
<< red.min << "\t" << red.max << "\t" << red.sum << "\t"
<< red.avg() << "\t" << red.sdv() << "\t" << red.norm0() << "\t"
<< red.norm1() << "\t" << red.norm2() << "\t" << red.norm_inf()
<< "\n";