aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhinder <hinder@4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843>2010-06-13 21:59:51 +0000
committerhinder <hinder@4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843>2010-06-13 21:59:51 +0000
commit3d5f83ecc9a2f39b977823922dbaaac86e49094b (patch)
treeebd57f2424a7a3966e115620f144c4c1b94eafd7
parentc789191f9c77a5f523090ba6eb7a8f9720db9187 (diff)
Add basic test cases
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/Multipole/trunk@56 4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843
-rw-r--r--test/test_22.par88
-rw-r--r--test/test_22/mp_harmonic_im_r8.00.ph.asc104
-rw-r--r--test/test_22/mp_harmonic_im_r8.00.th.asc54
-rw-r--r--test/test_22/mp_harmonic_l2_m-1_r8.00.asc1
-rw-r--r--test/test_22/mp_harmonic_l2_m-2_r8.00.asc1
-rw-r--r--test/test_22/mp_harmonic_l2_m0_r8.00.asc1
-rw-r--r--test/test_22/mp_harmonic_l2_m1_r8.00.asc1
-rw-r--r--test/test_22/mp_harmonic_l2_m2_r8.00.asc1
-rw-r--r--test/test_22/mp_harmonic_re_r8.00.ph.asc104
-rw-r--r--test/test_22/mp_harmonic_re_r8.00.th.asc54
-rw-r--r--test/test_22/test_22.par88
-rw-r--r--test/test_31.par90
-rw-r--r--test/test_31/mp_harmonic_im_r8.00.ph.asc104
-rw-r--r--test/test_31/mp_harmonic_im_r8.00.th.asc54
-rw-r--r--test/test_31/mp_harmonic_l2_m-1_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l2_m-2_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l2_m0_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l2_m1_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l2_m2_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l3_m-1_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l3_m-2_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l3_m-3_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l3_m0_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l3_m1_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l3_m2_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l3_m3_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m-1_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m-2_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m-3_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m-4_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m0_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m1_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m2_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m3_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_l4_m4_r8.00.asc1
-rw-r--r--test/test_31/mp_harmonic_re_r8.00.ph.asc104
-rw-r--r--test/test_31/mp_harmonic_re_r8.00.th.asc54
-rw-r--r--test/test_31/test_31.par90
-rw-r--r--test/test_44.par90
-rw-r--r--test/test_44/mp_harmonic_im_r8.00.ph.asc104
-rw-r--r--test/test_44/mp_harmonic_im_r8.00.th.asc54
-rw-r--r--test/test_44/mp_harmonic_l2_m-1_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l2_m-2_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l2_m0_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l2_m1_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l2_m2_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l3_m-1_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l3_m-2_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l3_m-3_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l3_m0_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l3_m1_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l3_m2_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l3_m3_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m-1_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m-2_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m-3_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m-4_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m0_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m1_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m2_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m3_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_l4_m4_r8.00.asc1
-rw-r--r--test/test_44/mp_harmonic_re_r8.00.ph.asc104
-rw-r--r--test/test_44/mp_harmonic_re_r8.00.th.asc54
-rw-r--r--test/test_44/test_44.par90
65 files changed, 1531 insertions, 0 deletions
diff --git a/test/test_22.par b/test/test_22.par
new file mode 100644
index 0000000..f9e1712
--- /dev/null
+++ b/test/test_22.par
@@ -0,0 +1,88 @@
+
+ActiveThorns = "CoordBase SymBase Boundary CartGrid3d IOUtil Carpet CarpetLib CarpetInterp AEILocalInterp InitBase Multipole"
+
+#############################################################
+# Grid
+#############################################################
+
+CartGrid3D::type = "coordbase"
+CartGrid3D::domain = "full"
+CartGrid3D::avoid_origin = "no"
+
+CoordBase::domainsize = minmax
+CoordBase::xmin = -10
+CoordBase::ymin = -10
+CoordBase::zmin = -10
+CoordBase::xmax = 10
+CoordBase::ymax = 10
+CoordBase::zmax = 10
+CoordBase::dx = 0.2
+CoordBase::dy = 0.2
+CoordBase::dz = 0.2
+CoordBase::boundary_size_x_lower = 2
+CoordBase::boundary_size_y_lower = 2
+CoordBase::boundary_size_z_lower = 2
+CoordBase::boundary_shiftout_x_lower = 0
+CoordBase::boundary_shiftout_y_lower = 0
+CoordBase::boundary_shiftout_z_lower = 0
+CoordBase::boundary_size_x_upper = 2
+CoordBase::boundary_size_y_upper = 2
+CoordBase::boundary_size_z_upper = 2
+CoordBase::boundary_shiftout_x_upper = 0
+CoordBase::boundary_shiftout_y_upper = 0
+CoordBase::boundary_shiftout_z_upper = 0
+
+#############################################################
+# Carpet
+#############################################################
+
+Carpet::ghost_size = 2
+Carpet::domain_from_coordbase = "yes"
+Carpet::poison_new_timelevels = "yes"
+Carpet::check_for_poison = "no"
+Carpet::poison_value = 113
+Carpet::init_fill_timelevels = "yes"
+
+#############################################################
+# CarpetLib
+#############################################################
+
+CarpetLib::poison_new_memory = "yes"
+
+#############################################################
+# Cactus
+#############################################################
+
+Cactus::terminate = "iteration"
+Cactus::cctk_itlast = 0
+
+#############################################################
+# Multipole
+#############################################################
+
+Multipole::nradii = 1
+Multipole::radius[0] = 8.0
+Multipole::variables = "Multipole::harmonic_re{sw=-2 cmplx='Multipole::harmonic_im' name='harmonic'}"
+
+Multipole::enable_test = "yes"
+Multipole::test_l = 2
+Multipole::test_m = 2
+Multipole::out_1d_every = 1
+
+#############################################################
+# Output
+#############################################################
+
+IO::out_dir = $parfile
+IO::out_fileinfo = "none"
+
+# Enabling 1D output for the test grid functions would be helpful for
+# localising any failures but it makes the tests dependent on the
+# number of processors, as CarpetIOASCII's output is dependent on
+# this.
+
+# CarpetIOASCII::out1d_vars = "Multipole::harmonics"
+# CarpetIOASCII::out1d_every = 1
+# CarpetIOASCII::out1d_x = yes
+# CarpetIOASCII::out1d_y = yes
+# CarpetIOASCII::out1d_z = yes
diff --git a/test/test_22/mp_harmonic_im_r8.00.ph.asc b/test/test_22/mp_harmonic_im_r8.00.ph.asc
new file mode 100644
index 0000000..6531f3c
--- /dev/null
+++ b/test/test_22/mp_harmonic_im_r8.00.ph.asc
@@ -0,0 +1,104 @@
+"Time = 0
+0.000000 4.326121752240948193e-17
+0.062832 0.05908272357625558857
+0.125664 0.1172335976390735807
+0.188496 0.1735357640795202605
+0.251327 0.2271010934402109827
+0.314159 0.2770848541179523061
+0.376991 0.3226990304560692913
+0.439823 0.3632238274429472336
+0.502655 0.3980205224812605747
+0.565487 0.4265400723078277556
+0.628319 0.4483329443869138453
+0.691150 0.463055300731824826
+0.753982 0.4704749615530876006
+0.816814 0.47047496155308699
+0.879646 0.4630553007318248815
+0.942478 0.4483329443869139008
+1.005310 0.4265400723078279777
+1.068142 0.3980205224812605191
+1.130973 0.3632238274429472891
+1.193805 0.3226990304560693468
+1.256637 0.2770848541179523061
+1.319469 0.2271010934402112602
+1.382301 0.173535764079520094
+1.445133 0.1172335976390735945
+1.507964 0.0590827235762551653
+1.570796 -3.341333029596630351e-18
+1.633628 -0.05908272357625524857
+1.696460 -0.1172335976390735807
+1.759292 -0.1735357640795203715
+1.822124 -0.2271010934402106218
+1.884956 -0.2770848541179524727
+1.947787 -0.3226990304560690692
+2.010619 -0.363223827442947178
+2.073451 -0.3980205224812609077
+2.136283 -0.4265400723078279777
+2.199115 -0.4483329443869135678
+2.261947 -0.4630553007318248815
+2.324779 -0.4704749615530864904
+2.387610 -0.4704749615530867124
+2.450442 -0.4630553007318253811
+2.513274 -0.4483329443869139563
+2.576106 -0.4265400723078280887
+2.638938 -0.3980205224812605191
+2.701770 -0.3632238274429465674
+2.764602 -0.3226990304560691247
+2.827433 -0.2770848541179516955
+2.890265 -0.2271010934402109271
+2.953097 -0.1735357640795202327
+3.015929 -0.1172335976390738027
+3.078761 -0.05908272357625510285
+3.141593 3.536393649658286454e-16
+3.204425 0.05908272357625529714
+3.267256 0.1172335976390736362
+3.330088 0.1735357640795196776
+3.392920 0.2271010934402113712
+3.455752 0.2770848541179528057
+3.518584 0.3226990304560695688
+3.581416 0.3632238274429466784
+3.644247 0.3980205224812607412
+3.707079 0.4265400723078280887
+3.769911 0.4483329443869151221
+3.832743 0.4630553007318253811
+3.895575 0.4704749615530870455
+3.958407 0.47047496155308699
+4.021239 0.4630553007318249925
+4.084070 0.4483329443869143449
+4.146902 0.4265400723078279777
+4.209734 0.3980205224812611298
+4.272566 0.3632238274429464009
+4.335398 0.3226990304560693468
+4.398230 0.2770848541179525282
+4.461062 0.2271010934402104831
+4.523893 0.1735357640795199552
+4.586725 0.1172335976390730117
+4.649557 0.05908272357625502652
+4.712389 1.926457240662586169e-16
+4.775221 -0.05908272357625590776
+4.838053 -0.1172335976390735945
+4.900885 -0.1735357640795205658
+4.963716 -0.2271010934402111214
+5.026548 -0.2770848541179523061
+5.089380 -0.3226990304560692358
+5.152212 -0.3632238274429469005
+5.215044 -0.3980205224812609632
+5.277876 -0.4265400723078284773
+5.340708 -0.4483329443869139563
+5.403539 -0.4630553007318252701
+5.466371 -0.47047496155308699
+5.529203 -0.4704749615530870455
+5.592035 -0.4630553007318251035
+5.654867 -0.4483329443869140118
+5.717699 -0.4265400723078278666
+5.780530 -0.3980205224812616294
+5.843362 -0.3632238274429465119
+5.906194 -0.3226990304560692358
+5.969026 -0.2770848541179519176
+6.031858 -0.2271010934402106496
+6.094690 -0.1735357640795199552
+6.157522 -0.1172335976390731505
+6.220353 -0.05908272357625506122
+6.283185 7.95118901320501871e-16
+
+
diff --git a/test/test_22/mp_harmonic_im_r8.00.th.asc b/test/test_22/mp_harmonic_im_r8.00.th.asc
new file mode 100644
index 0000000..a7028af
--- /dev/null
+++ b/test/test_22/mp_harmonic_im_r8.00.th.asc
@@ -0,0 +1,54 @@
+"Time = 0
+0.000000 0.6307831305050417559
+0.062832 0.006414478478046438739
+0.125664 4.639497020838931581e-16
+0.188496 2.570056366007318045e-16
+0.251327 -8.439504796702495099e-17
+0.314159 1.71292685671225576e-16
+0.376991 1.087071641830000447e-16
+0.439823 1.537408074344835853e-16
+0.502655 1.0215971980610724e-16
+0.565487 -2.657649827164768676e-17
+0.628319 6.255706210416456024e-17
+0.691150 9.78471830730114821e-17
+0.753982 4.326121752240948193e-17
+0.816814 5.508556201515125611e-17
+0.879646 5.995775147071369431e-17
+0.942478 4.645241592020410566e-17
+1.005310 -1.704105508760466733e-17
+1.068142 4.914926322085924466e-17
+1.130973 4.02583124469111358e-17
+1.193805 3.409306965583952835e-17
+1.256637 3.032172279226330493e-17
+1.319469 3.862213889246871352e-17
+1.382301 2.453540146858370813e-17
+1.445133 1.603435413665936902e-17
+1.507964 1.318463569419986128e-17
+1.570796 1.154427641960499055e-17
+1.633628 1.96811151902340719e-17
+1.696460 2.244369514962801203e-20
+1.759292 6.249489764068809374e-18
+1.822124 1.127217666286124053e-17
+1.884956 6.759977062045142701e-18
+1.947787 1.002523639243660105e-17
+2.010619 1.924134993816617687e-18
+2.073451 2.67824270408410185e-18
+2.136283 2.914200038458063698e-18
+2.199115 2.471888772181926658e-18
+2.261947 3.36942073206729019e-18
+2.324779 1.845129852840307224e-18
+2.387610 1.756966759870247318e-18
+2.450442 1.426563899813844814e-18
+2.513274 7.172045307027773183e-19
+2.576106 5.006958101929422748e-19
+2.638938 5.388351035755479332e-19
+2.701770 2.482250390621562457e-19
+2.764602 -2.732444091408813746e-19
+2.827433 1.92152920321234705e-19
+2.890265 -3.124081444230869427e-20
+2.953097 4.732990322685133313e-21
+3.015929 5.771756166645003569e-21
+3.078761 1.140122730962103173e-21
+3.141593 -9.111193171855579492e-22
+
+
diff --git a/test/test_22/mp_harmonic_l2_m-1_r8.00.asc b/test/test_22/mp_harmonic_l2_m-1_r8.00.asc
new file mode 100644
index 0000000..59eb6c6
--- /dev/null
+++ b/test/test_22/mp_harmonic_l2_m-1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.003681553825890388799 6.213645231409637455e-11
diff --git a/test/test_22/mp_harmonic_l2_m-2_r8.00.asc b/test/test_22/mp_harmonic_l2_m-2_r8.00.asc
new file mode 100644
index 0000000..3f24b1c
--- /dev/null
+++ b/test/test_22/mp_harmonic_l2_m-2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.001666666772351152459 9.763604677466543122e-13
diff --git a/test/test_22/mp_harmonic_l2_m0_r8.00.asc b/test/test_22/mp_harmonic_l2_m0_r8.00.asc
new file mode 100644
index 0000000..77ee637
--- /dev/null
+++ b/test/test_22/mp_harmonic_l2_m0_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.006123723926411696675 7.437765141674346314e-08
diff --git a/test/test_22/mp_harmonic_l2_m1_r8.00.asc b/test/test_22/mp_harmonic_l2_m1_r8.00.asc
new file mode 100644
index 0000000..0a0975c
--- /dev/null
+++ b/test/test_22/mp_harmonic_l2_m1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.008590229498514964993 6.291592845803736351e-08
diff --git a/test/test_22/mp_harmonic_l2_m2_r8.00.asc b/test/test_22/mp_harmonic_l2_m2_r8.00.asc
new file mode 100644
index 0000000..82f168b
--- /dev/null
+++ b/test/test_22/mp_harmonic_l2_m2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 1.009144071427338529 1.001008652928536862e-06
diff --git a/test/test_22/mp_harmonic_re_r8.00.ph.asc b/test/test_22/mp_harmonic_re_r8.00.ph.asc
new file mode 100644
index 0000000..804ce72
--- /dev/null
+++ b/test/test_22/mp_harmonic_re_r8.00.ph.asc
@@ -0,0 +1,104 @@
+"Time = 0
+0.000000 0.4714051344795949228
+0.062832 0.4676878684965306565
+0.125664 0.4565949764204048078
+0.188496 0.4383014236215819204
+0.251327 0.4130954585389419176
+0.314159 0.3813747754991173577
+0.376991 0.3436396201486747737
+0.439823 0.3004850309575128886
+0.502655 0.2525915434611014643
+0.565487 0.2007146483930815628
+0.628319 0.1456722117101460767
+0.691150 0.08833261385994582715
+0.753982 0.02959983093853088901
+0.816814 -0.02959983093853089248
+0.879646 -0.08833261385994584103
+0.942478 -0.1456722117101461045
+1.005310 -0.2007146483930817016
+1.068142 -0.2525915434611013533
+1.130973 -0.3004850309575128886
+1.193805 -0.3436396201486749402
+1.256637 -0.3813747754991173022
+1.319469 -0.4130954585389425282
+1.382301 -0.4383014236215819759
+1.445133 -0.4565949764204045858
+1.507964 -0.4676878684965310451
+1.570796 -0.4714051344795951448
+1.633628 -0.4676878684965309896
+1.696460 -0.4565949764204050298
+1.759292 -0.4383014236215820314
+1.822124 -0.4130954585389422506
+1.884956 -0.3813747754991170802
+1.947787 -0.3436396201486754953
+2.010619 -0.3004850309575125
+2.073451 -0.2525915434611008537
+2.136283 -0.2007146483930812297
+2.199115 -0.1456722117101460212
+2.261947 -0.08833261385994597981
+2.324779 -0.02959983093853062533
+2.387610 0.02959983093853088554
+2.450442 0.08833261385994645165
+2.513274 0.1456722117101454939
+2.576106 0.2007146483930817293
+2.638938 0.2525915434611013533
+2.701770 0.300485030957512611
+2.764602 0.3436396201486753843
+2.827433 0.3813747754991173577
+2.890265 0.4130954585389418621
+2.953097 0.4383014236215819204
+3.015929 0.4565949764204049188
+3.078761 0.4676878684965312671
+3.141593 0.4714051344795944232
+3.204425 0.4676878684965309341
+3.267256 0.4565949764204050854
+3.330088 0.4383014236215820869
+3.392920 0.4130954585389416955
+3.455752 0.3813747754991167471
+3.518584 0.3436396201486751067
+3.581416 0.300485030957512389
+3.644247 0.2525915434611010757
+3.707079 0.2007146483930812575
+3.769911 0.1456722117101456049
+3.832743 0.08833261385994586878
+3.895575 0.02959983093853092023
+3.958407 -0.02959983093853065308
+4.021239 -0.08833261385994650716
+4.084070 -0.1456722117101456604
+4.146902 -0.2007146483930815906
+4.209734 -0.2525915434611012977
+4.272566 -0.3004850309575126666
+4.335398 -0.3436396201486757729
+4.398230 -0.3813747754991171912
+4.461062 -0.4130954585389424727
+4.523893 -0.4383014236215820869
+4.586725 -0.4565949764204052519
+4.649557 -0.4676878684965311561
+4.712389 -0.4714051344795941456
+4.775221 -0.4676878684965309341
+4.838053 -0.4565949764204049743
+4.900885 -0.4383014236215815873
+4.963716 -0.4130954585389416955
+5.026548 -0.3813747754991175798
+5.089380 -0.3436396201486749957
+5.152212 -0.3004850309575126666
+5.215044 -0.2525915434611008537
+5.277876 -0.2007146483930812297
+5.340708 -0.1456722117101453273
+5.403539 -0.08833261385994584103
+5.466371 -0.02959983093853098962
+5.529203 0.02959983093853123595
+5.592035 0.08833261385994635451
+5.654867 0.1456722117101465208
+5.717699 0.200714648393081535
+5.780530 0.2525915434611015753
+5.843362 0.3004850309575129996
+5.906194 0.3436396201486754953
+5.969026 0.3813747754991173577
+6.031858 0.4130954585389423617
+6.094690 0.4383014236215821424
+6.157522 0.4565949764204049188
+6.220353 0.4676878684965309341
+6.283185 0.4714051344795948117
+
+
diff --git a/test/test_22/mp_harmonic_re_r8.00.th.asc b/test/test_22/mp_harmonic_re_r8.00.th.asc
new file mode 100644
index 0000000..f2d0505
--- /dev/null
+++ b/test/test_22/mp_harmonic_re_r8.00.th.asc
@@ -0,0 +1,54 @@
+"Time = 0
+0.000000 1.518374646335513519e-15
+0.062832 0.6231245530661588816
+0.125664 0.6258190228933123711
+0.188496 0.6196596992337818355
+0.251327 0.611121567956689149
+0.314159 0.6002881616211545035
+0.376991 0.5872649752392624656
+0.439823 0.5721780328572180219
+0.502655 0.5551722253737310098
+0.565487 0.5364093860695591243
+0.628319 0.5160661561144332943
+0.691150 0.4943316785539442759
+0.753982 0.4714051344795949228
+0.816814 0.4474931562964736265
+0.879646 0.4228072006721142473
+0.942478 0.3975608424363434312
+1.005310 0.3719671217305752231
+1.068142 0.3462359033535463149
+1.130973 0.3205713329354391017
+1.193805 0.2951694104757783266
+1.256637 0.2702157403654933399
+1.319469 0.2458834314661345888
+1.382301 0.2223312435844495838
+1.445133 0.1997019777222112102
+1.507964 0.1781211248076793596
+1.570796 0.1576957826262590234
+1.633628 0.1385139262975071395
+1.696460 0.120643889933740131
+1.759292 0.1041342775866161696
+1.822124 0.08901404797365945754
+1.884956 0.07529303859782103536
+1.947787 0.06296265788326331492
+2.010619 0.05199693903018266089
+2.073451 0.04235381504000215042
+2.136283 0.03397662104341547806
+2.199115 0.02679582193746246968
+2.261947 0.02073089969599715629
+2.324779 0.01569238808551505493
+2.387610 0.01158401689597706938
+2.450442 0.008304916835505292416
+2.513274 0.005751875269321121871
+2.576106 0.003821566914013083734
+2.638938 0.002412751990280710603
+2.701770 0.001428390934720443275
+2.764602 0.0007776521592554733794
+2.827433 0.0003777551730912449141
+2.890265 0.0001556483610775951352
+2.953097 4.947535271276201564e-05
+3.015929 9.805208296189848219e-06
+3.078761 6.131081706940386745e-07
+3.141593 7.495603197343737726e-22
+
+
diff --git a/test/test_22/test_22.par b/test/test_22/test_22.par
new file mode 100644
index 0000000..f9e1712
--- /dev/null
+++ b/test/test_22/test_22.par
@@ -0,0 +1,88 @@
+
+ActiveThorns = "CoordBase SymBase Boundary CartGrid3d IOUtil Carpet CarpetLib CarpetInterp AEILocalInterp InitBase Multipole"
+
+#############################################################
+# Grid
+#############################################################
+
+CartGrid3D::type = "coordbase"
+CartGrid3D::domain = "full"
+CartGrid3D::avoid_origin = "no"
+
+CoordBase::domainsize = minmax
+CoordBase::xmin = -10
+CoordBase::ymin = -10
+CoordBase::zmin = -10
+CoordBase::xmax = 10
+CoordBase::ymax = 10
+CoordBase::zmax = 10
+CoordBase::dx = 0.2
+CoordBase::dy = 0.2
+CoordBase::dz = 0.2
+CoordBase::boundary_size_x_lower = 2
+CoordBase::boundary_size_y_lower = 2
+CoordBase::boundary_size_z_lower = 2
+CoordBase::boundary_shiftout_x_lower = 0
+CoordBase::boundary_shiftout_y_lower = 0
+CoordBase::boundary_shiftout_z_lower = 0
+CoordBase::boundary_size_x_upper = 2
+CoordBase::boundary_size_y_upper = 2
+CoordBase::boundary_size_z_upper = 2
+CoordBase::boundary_shiftout_x_upper = 0
+CoordBase::boundary_shiftout_y_upper = 0
+CoordBase::boundary_shiftout_z_upper = 0
+
+#############################################################
+# Carpet
+#############################################################
+
+Carpet::ghost_size = 2
+Carpet::domain_from_coordbase = "yes"
+Carpet::poison_new_timelevels = "yes"
+Carpet::check_for_poison = "no"
+Carpet::poison_value = 113
+Carpet::init_fill_timelevels = "yes"
+
+#############################################################
+# CarpetLib
+#############################################################
+
+CarpetLib::poison_new_memory = "yes"
+
+#############################################################
+# Cactus
+#############################################################
+
+Cactus::terminate = "iteration"
+Cactus::cctk_itlast = 0
+
+#############################################################
+# Multipole
+#############################################################
+
+Multipole::nradii = 1
+Multipole::radius[0] = 8.0
+Multipole::variables = "Multipole::harmonic_re{sw=-2 cmplx='Multipole::harmonic_im' name='harmonic'}"
+
+Multipole::enable_test = "yes"
+Multipole::test_l = 2
+Multipole::test_m = 2
+Multipole::out_1d_every = 1
+
+#############################################################
+# Output
+#############################################################
+
+IO::out_dir = $parfile
+IO::out_fileinfo = "none"
+
+# Enabling 1D output for the test grid functions would be helpful for
+# localising any failures but it makes the tests dependent on the
+# number of processors, as CarpetIOASCII's output is dependent on
+# this.
+
+# CarpetIOASCII::out1d_vars = "Multipole::harmonics"
+# CarpetIOASCII::out1d_every = 1
+# CarpetIOASCII::out1d_x = yes
+# CarpetIOASCII::out1d_y = yes
+# CarpetIOASCII::out1d_z = yes
diff --git a/test/test_31.par b/test/test_31.par
new file mode 100644
index 0000000..3a2ef6f
--- /dev/null
+++ b/test/test_31.par
@@ -0,0 +1,90 @@
+
+ActiveThorns = "CoordBase SymBase Boundary CartGrid3d IOUtil Carpet CarpetLib CarpetInterp AEILocalInterp InitBase Multipole"
+
+#############################################################
+# Grid
+#############################################################
+
+CartGrid3D::type = "coordbase"
+CartGrid3D::domain = "full"
+CartGrid3D::avoid_origin = "no"
+
+CoordBase::domainsize = minmax
+CoordBase::xmin = -10
+CoordBase::ymin = -10
+CoordBase::zmin = -10
+CoordBase::xmax = 10
+CoordBase::ymax = 10
+CoordBase::zmax = 10
+CoordBase::dx = 0.2
+CoordBase::dy = 0.2
+CoordBase::dz = 0.2
+CoordBase::boundary_size_x_lower = 2
+CoordBase::boundary_size_y_lower = 2
+CoordBase::boundary_size_z_lower = 2
+CoordBase::boundary_shiftout_x_lower = 0
+CoordBase::boundary_shiftout_y_lower = 0
+CoordBase::boundary_shiftout_z_lower = 0
+CoordBase::boundary_size_x_upper = 2
+CoordBase::boundary_size_y_upper = 2
+CoordBase::boundary_size_z_upper = 2
+CoordBase::boundary_shiftout_x_upper = 0
+CoordBase::boundary_shiftout_y_upper = 0
+CoordBase::boundary_shiftout_z_upper = 0
+
+#############################################################
+# Carpet
+#############################################################
+
+Carpet::ghost_size = 2
+Carpet::domain_from_coordbase = "yes"
+Carpet::poison_new_timelevels = "yes"
+Carpet::check_for_poison = "no"
+Carpet::poison_value = 113
+Carpet::init_fill_timelevels = "yes"
+
+#############################################################
+# CarpetLib
+#############################################################
+
+CarpetLib::poison_new_memory = "yes"
+
+#############################################################
+# Cactus
+#############################################################
+
+Cactus::terminate = "iteration"
+Cactus::cctk_itlast = 0
+
+#############################################################
+# Multipole
+#############################################################
+
+Multipole::nradii = 1
+Multipole::radius[0] = 8.0
+Multipole::variables = "Multipole::harmonic_re{sw=-2 cmplx='Multipole::harmonic_im' name='harmonic'}"
+Multipole::l_mode = 4
+Multipole::m_mode = 4
+
+Multipole::enable_test = "yes"
+Multipole::test_l = 3
+Multipole::test_m = 1
+Multipole::out_1d_every = 1
+
+#############################################################
+# Output
+#############################################################
+
+IO::out_dir = $parfile
+IO::out_fileinfo = "none"
+
+# Enabling 1D output for the test grid functions would be helpful for
+# localising any failures but it makes the tests dependent on the
+# number of processors, as CarpetIOASCII's output is dependent on
+# this.
+
+# CarpetIOASCII::out1d_vars = "Multipole::harmonics"
+# CarpetIOASCII::out1d_every = 1
+# CarpetIOASCII::out1d_x = yes
+# CarpetIOASCII::out1d_y = yes
+# CarpetIOASCII::out1d_z = yes
diff --git a/test/test_31/mp_harmonic_im_r8.00.ph.asc b/test/test_31/mp_harmonic_im_r8.00.ph.asc
new file mode 100644
index 0000000..9a34bea
--- /dev/null
+++ b/test/test_31/mp_harmonic_im_r8.00.ph.asc
@@ -0,0 +1,104 @@
+"Time = 0
+0.000000 1.896956690161210338e-17
+0.062832 0.02602285422723240801
+0.125664 0.05194299290555215443
+0.188496 0.07765815906384759826
+0.251327 0.1030668400515171584
+0.314159 0.1280687334543826883
+0.376991 0.1525652558189766195
+0.439823 0.1764596172021019038
+0.502655 0.1996576054528062527
+0.565487 0.2220676131783354268
+0.628319 0.2436012600783114268
+0.691150 0.264173481119354181
+0.753982 0.2837031511736720635
+0.816814 0.3021131905097572123
+0.879646 0.319330918252798801
+0.942478 0.3352883726470090031
+1.005310 0.3499226091116103277
+1.068142 0.3631758544752105022
+1.130973 0.3749958136952153409
+1.193805 0.3853358542098591633
+1.256637 0.3941551065903868833
+1.319469 0.4014188568224699161
+1.382301 0.4070983564775776387
+1.445133 0.4111712250955965042
+1.507964 0.4136214161909906872
+1.570796 0.4144392345810541389
+1.633628 0.4136214161909902987
+1.696460 0.4111712250955967263
+1.759292 0.4070983564775779717
+1.822124 0.4014188568224696385
+1.884956 0.3941551065903867723
+1.947787 0.3853358542098596073
+2.010619 0.3749958136952149523
+2.073451 0.3631758544752102802
+2.136283 0.3499226091116101611
+2.199115 0.3352883726470092252
+2.261947 0.3193309182527988566
+2.324779 0.3021131905097570458
+2.387610 0.2837031511736718414
+2.450442 0.2641734811193539589
+2.513274 0.2436012600783117044
+2.576106 0.2220676131783354545
+2.638938 0.1996576054528060862
+2.701770 0.176459617202101654
+2.764602 0.1525652558189764807
+2.827433 0.128068733454382383
+2.890265 0.1030668400515171723
+2.953097 0.07765815906384759826
+3.015929 0.05194299290555223769
+3.078761 0.02602285422723220679
+3.141593 -1.554742231268264288e-16
+3.204425 -0.02602285422723230046
+3.267256 -0.05194299290555213361
+3.330088 -0.07765815906384736234
+3.392920 -0.1030668400515174221
+3.455752 -0.1280687334543828271
+3.518584 -0.152565255818976786
+3.581416 -0.1764596172021016263
+3.644247 -0.1996576054528061972
+3.707079 -0.2220676131783355933
+3.769911 -0.2436012600783123982
+3.832743 -0.2641734811193543475
+3.895575 -0.2837031511736718414
+3.958407 -0.3021131905097573234
+4.021239 -0.3193309182527990786
+4.084070 -0.3352883726470091141
+4.146902 -0.3499226091116105497
+4.209734 -0.3631758544752107243
+4.272566 -0.3749958136952147303
+4.335398 -0.3853358542098598294
+4.398230 -0.3941551065903872164
+4.461062 -0.4014188568224695275
+4.523893 -0.4070983564775778607
+4.586725 -0.4111712250955966153
+4.649557 -0.4136214161909907427
+4.712389 -0.4144392345810536393
+4.775221 -0.4136214161909907983
+4.838053 -0.4111712250955963932
+4.900885 -0.4070983564775776387
+4.963716 -0.401418856822469472
+5.026548 -0.3941551065903873274
+5.089380 -0.3853358542098590522
+5.152212 -0.3749958136952149523
+5.215044 -0.3631758544752103357
+5.277876 -0.3499226091116101611
+5.340708 -0.3352883726470090031
+5.403539 -0.319330918252798801
+5.466371 -0.3021131905097573789
+5.529203 -0.2837031511736715084
+5.592035 -0.2641734811193537924
+5.654867 -0.2436012600783114823
+5.717699 -0.2220676131783354545
+5.780530 -0.1996576054528066413
+5.843362 -0.1764596172021015152
+5.906194 -0.1525652558189766195
+5.969026 -0.128068733454382605
+6.031858 -0.1030668400515169364
+6.094690 -0.07765815906384745948
+6.157522 -0.0519429929055519532
+6.220353 -0.02602285422723217903
+6.283185 3.495185762359956162e-16
+
+
diff --git a/test/test_31/mp_harmonic_im_r8.00.th.asc b/test/test_31/mp_harmonic_im_r8.00.th.asc
new file mode 100644
index 0000000..3fbf309
--- /dev/null
+++ b/test/test_31/mp_harmonic_im_r8.00.th.asc
@@ -0,0 +1,54 @@
+"Time = 0
+0.000000 -1.615584961551936915e-16
+0.062832 1.379930090769010261e-16
+0.125664 4.917580231868854488e-17
+0.188496 4.409080416110058932e-17
+0.251327 -2.383523137940497849e-17
+0.314159 4.661547168701995771e-17
+0.376991 3.507308219300968377e-17
+0.439823 5.519893171696710378e-17
+0.502655 3.989603062500544043e-17
+0.565487 -1.139730926919448567e-17
+0.628319 2.721035483915840438e-17
+0.691150 4.327137107605335211e-17
+0.753982 1.896956690161210338e-17
+0.816814 2.34614461463771805e-17
+0.879646 2.388236460817908258e-17
+0.942478 1.705386829370698667e-17
+1.005310 -5.373663032232330146e-18
+1.068142 1.207967598413477451e-17
+1.130973 6.628314285337326988e-18
+1.193805 2.06354299873084687e-18
+1.256637 -1.564953407975981269e-18
+1.319469 -8.009137779219698812e-18
+1.382301 -8.522084252631486558e-18
+1.445133 -8.189357477906816814e-18
+1.507964 -1.021823562703468009e-17
+1.570796 -1.01340495129330185e-17
+1.633628 -2.415575366976040405e-17
+1.696460 1.225192087270571736e-18
+1.759292 -1.089378917774915645e-17
+1.822124 -2.389789927237330374e-17
+1.884956 -1.691412598558739226e-17
+1.947787 -2.939645319279694787e-17
+2.010619 -5.908054162943103705e-18
+2.073451 -1.004626176107011131e-17
+2.136283 -1.233786044111061174e-17
+2.199115 -1.276445956650939667e-17
+2.261947 -2.009742887147441672e-17
+2.324779 -1.220516690146058893e-17
+2.387610 -1.340102819187144093e-17
+2.450442 -1.240518129503493621e-17
+2.513274 -6.916093707675311426e-18
+2.576106 -5.662746764737479996e-18
+2.638938 -7.504622054569398579e-18
+2.701770 -3.73946681431150442e-18
+2.764602 5.790726591856787752e-18
+2.827433 -4.544808229180167378e-18
+2.890265 9.632342697725303478e-19
+2.953097 -1.513671973692947297e-19
+3.015929 -3.40323801880625674e-19
+3.078761 -1.455987806265044109e-19
+3.141593 -2.855065592512187511e-19
+
+
diff --git a/test/test_31/mp_harmonic_l2_m-1_r8.00.asc b/test/test_31/mp_harmonic_l2_m-1_r8.00.asc
new file mode 100644
index 0000000..2ea4e6c
--- /dev/null
+++ b/test/test_31/mp_harmonic_l2_m-1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.006236095643524385349 9.313994138160605648e-18
diff --git a/test/test_31/mp_harmonic_l2_m-2_r8.00.asc b/test/test_31/mp_harmonic_l2_m-2_r8.00.asc
new file mode 100644
index 0000000..4419eb4
--- /dev/null
+++ b/test/test_31/mp_harmonic_l2_m-2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.005165667522848269543 -1.008924432569187464e-16
diff --git a/test/test_31/mp_harmonic_l2_m0_r8.00.asc b/test/test_31/mp_harmonic_l2_m0_r8.00.asc
new file mode 100644
index 0000000..e3f3135
--- /dev/null
+++ b/test/test_31/mp_harmonic_l2_m0_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.004217749827710261246 1.383460104712899085e-16
diff --git a/test/test_31/mp_harmonic_l2_m1_r8.00.asc b/test/test_31/mp_harmonic_l2_m1_r8.00.asc
new file mode 100644
index 0000000..f908281
--- /dev/null
+++ b/test/test_31/mp_harmonic_l2_m1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 6.109085806389801021e-07 -9.442686992044803493e-21
diff --git a/test/test_31/mp_harmonic_l2_m2_r8.00.asc b/test/test_31/mp_harmonic_l2_m2_r8.00.asc
new file mode 100644
index 0000000..01743bd
--- /dev/null
+++ b/test/test_31/mp_harmonic_l2_m2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.004017741362494435531 -3.253690069444065029e-18
diff --git a/test/test_31/mp_harmonic_l3_m-1_r8.00.asc b/test/test_31/mp_harmonic_l3_m-1_r8.00.asc
new file mode 100644
index 0000000..9003fdd
--- /dev/null
+++ b/test/test_31/mp_harmonic_l3_m-1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.001666666704946417454 5.528534223109414973e-17
diff --git a/test/test_31/mp_harmonic_l3_m-2_r8.00.asc b/test/test_31/mp_harmonic_l3_m-2_r8.00.asc
new file mode 100644
index 0000000..7c6e966
--- /dev/null
+++ b/test/test_31/mp_harmonic_l3_m-2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.004074733411313594816 -3.894821302519838237e-17
diff --git a/test/test_31/mp_harmonic_l3_m-3_r8.00.asc b/test/test_31/mp_harmonic_l3_m-3_r8.00.asc
new file mode 100644
index 0000000..66a5d8d
--- /dev/null
+++ b/test/test_31/mp_harmonic_l3_m-3_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.006454970685947690121 -6.393566529387039753e-17
diff --git a/test/test_31/mp_harmonic_l3_m0_r8.00.asc b/test/test_31/mp_harmonic_l3_m0_r8.00.asc
new file mode 100644
index 0000000..772adc2
--- /dev/null
+++ b/test/test_31/mp_harmonic_l3_m0_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.007439411464170039151 -1.012320875573198551e-16
diff --git a/test/test_31/mp_harmonic_l3_m1_r8.00.asc b/test/test_31/mp_harmonic_l3_m1_r8.00.asc
new file mode 100644
index 0000000..c443ccd
--- /dev/null
+++ b/test/test_31/mp_harmonic_l3_m1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 1.010001138515030927 -1.522860286755395534e-18
diff --git a/test/test_31/mp_harmonic_l3_m2_r8.00.asc b/test/test_31/mp_harmonic_l3_m2_r8.00.asc
new file mode 100644
index 0000000..2b3b179
--- /dev/null
+++ b/test/test_31/mp_harmonic_l3_m2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.006791222393639111295 9.452025098396794753e-17
diff --git a/test/test_31/mp_harmonic_l3_m3_r8.00.asc b/test/test_31/mp_harmonic_l3_m3_r8.00.asc
new file mode 100644
index 0000000..f43b912
--- /dev/null
+++ b/test/test_31/mp_harmonic_l3_m3_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.002581997739805220494 -2.897636189823059633e-19
diff --git a/test/test_31/mp_harmonic_l4_m-1_r8.00.asc b/test/test_31/mp_harmonic_l4_m-1_r8.00.asc
new file mode 100644
index 0000000..c6aebd2
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m-1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.005916079684556539361 9.71123286785032574e-17
diff --git a/test/test_31/mp_harmonic_l4_m-2_r8.00.asc b/test/test_31/mp_harmonic_l4_m-2_r8.00.asc
new file mode 100644
index 0000000..23bd064
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m-2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.003176465536168120163 -1.584901286049357967e-17
diff --git a/test/test_31/mp_harmonic_l4_m-3_r8.00.asc b/test/test_31/mp_harmonic_l4_m-3_r8.00.asc
new file mode 100644
index 0000000..5161f0f
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m-3_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.002236069060821970107 -2.296707152714605895e-17
diff --git a/test/test_31/mp_harmonic_l4_m-4_r8.00.asc b/test/test_31/mp_harmonic_l4_m-4_r8.00.asc
new file mode 100644
index 0000000..69e187f
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m-4_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.007003448152309833807 7.145854730621413376e-17
diff --git a/test/test_31/mp_harmonic_l4_m0_r8.00.asc b/test/test_31/mp_harmonic_l4_m0_r8.00.asc
new file mode 100644
index 0000000..d0e6090
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m0_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.00471804297190231859 1.598285311275299055e-16
diff --git a/test/test_31/mp_harmonic_l4_m1_r8.00.asc b/test/test_31/mp_harmonic_l4_m1_r8.00.asc
new file mode 100644
index 0000000..c6facc0
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 1.742127962707155847e-06 -8.36246444111959189e-19
diff --git a/test/test_31/mp_harmonic_l4_m2_r8.00.asc b/test/test_31/mp_harmonic_l4_m2_r8.00.asc
new file mode 100644
index 0000000..0ded52a
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.006064161403592635211 -1.148962589042972354e-16
diff --git a/test/test_31/mp_harmonic_l4_m3_r8.00.asc b/test/test_31/mp_harmonic_l4_m3_r8.00.asc
new file mode 100644
index 0000000..6b9ddc6
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m3_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.008944287209682412476 3.384481799698564928e-17
diff --git a/test/test_31/mp_harmonic_l4_m4_r8.00.asc b/test/test_31/mp_harmonic_l4_m4_r8.00.asc
new file mode 100644
index 0000000..c8c97da
--- /dev/null
+++ b/test/test_31/mp_harmonic_l4_m4_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.001146018794667202217 1.392309300059713519e-17
diff --git a/test/test_31/mp_harmonic_re_r8.00.ph.asc b/test/test_31/mp_harmonic_re_r8.00.ph.asc
new file mode 100644
index 0000000..377f624
--- /dev/null
+++ b/test/test_31/mp_harmonic_re_r8.00.ph.asc
@@ -0,0 +1,104 @@
+"Time = 0
+0.000000 0.4144392345810540834
+0.062832 0.4136214161909903542
+0.125664 0.4111712250955965597
+0.188496 0.4070983564775776387
+0.251327 0.4014188568224694165
+0.314159 0.3941551065903868278
+0.376991 0.3853358542098589967
+0.439823 0.3749958136952152854
+0.502655 0.3631758544752105577
+0.565487 0.3499226091116102721
+0.628319 0.3352883726470090031
+0.691150 0.3193309182527988566
+0.753982 0.3021131905097576009
+0.816814 0.2837031511736718969
+0.879646 0.264173481119354292
+0.942478 0.2436012600783115656
+1.005310 0.2220676131783354545
+1.068142 0.1996576054528061694
+1.130973 0.1764596172021020148
+1.193805 0.1525652558189765917
+1.256637 0.1280687334543827716
+1.319469 0.1030668400515172695
+1.382301 0.07765815906384755662
+1.445133 0.05194299290555214749
+1.507964 0.02602285422723223107
+1.570796 -1.4922266197836081e-18
+1.633628 -0.02602285422723225883
+1.696460 -0.05194299290555214055
+1.759292 -0.0776581590638476954
+1.822124 -0.1030668400515170335
+1.884956 -0.1280687334543828271
+1.947787 -0.152565255818976564
+2.010619 -0.1764596172021017373
+2.073451 -0.1996576054528061139
+2.136283 -0.2220676131783355933
+2.199115 -0.2436012600783116766
+2.261947 -0.2641734811193541255
+2.324779 -0.2837031511736718969
+2.387610 -0.3021131905097573789
+2.450442 -0.3193309182527989121
+2.513274 -0.3352883726470088366
+2.576106 -0.3499226091116106052
+2.638938 -0.3631758544752104467
+2.701770 -0.3749958136952148968
+2.764602 -0.3853358542098592743
+2.827433 -0.3941551065903871054
+2.890265 -0.401418856822469583
+2.953097 -0.4070983564775775831
+3.015929 -0.4111712250955965597
+3.078761 -0.4136214161909907983
+3.141593 -0.4144392345810539169
+3.204425 -0.4136214161909906317
+3.267256 -0.4111712250955967263
+3.330088 -0.4070983564775777497
+3.392920 -0.401418856822469583
+3.455752 -0.3941551065903869944
+3.518584 -0.3853358542098595518
+3.581416 -0.3749958136952147303
+3.644247 -0.3631758544752103912
+3.707079 -0.3499226091116102721
+3.769911 -0.3352883726470095027
+3.832743 -0.3193309182527991341
+3.895575 -0.3021131905097573234
+3.958407 -0.2837031511736718969
+4.021239 -0.2641734811193539034
+4.084070 -0.2436012600783120374
+4.146902 -0.2220676131783354823
+4.209734 -0.199657605452806447
+4.272566 -0.1764596172021014597
+4.335398 -0.1525652558189763974
+4.398230 -0.128068733454382605
+4.461062 -0.1030668400515169364
+4.523893 -0.07765815906384747336
+4.586725 -0.05194299290555184911
+4.649557 -0.02602285422723215474
+4.712389 -8.474590504483257428e-17
+4.775221 0.02602285422723255026
+4.838053 0.05194299290555211973
+4.900885 0.07765815906384780642
+4.963716 0.1030668400515172695
+5.026548 0.1280687334543825495
+5.089380 0.1525652558189767305
+5.152212 0.176459617202101654
+5.215044 0.1996576054528064192
+5.277876 0.2220676131783357599
+5.340708 0.2436012600783117599
+5.403539 0.2641734811193540144
+5.466371 0.2837031511736716194
+5.529203 0.3021131905097573234
+5.592035 0.3193309182527989121
+5.654867 0.3352883726470094472
+5.717699 0.3499226091116103277
+5.780530 0.3631758544752111129
+5.843362 0.3749958136952150078
+5.906194 0.3853358542098596629
+5.969026 0.3941551065903868833
+6.031858 0.401418856822469805
+6.094690 0.4070983564775777497
+6.157522 0.4111712250955966708
+6.220353 0.4136214161909905207
+6.283185 0.4144392345810539169
+
+
diff --git a/test/test_31/mp_harmonic_re_r8.00.th.asc b/test/test_31/mp_harmonic_re_r8.00.th.asc
new file mode 100644
index 0000000..d2e9ca7
--- /dev/null
+++ b/test/test_31/mp_harmonic_re_r8.00.th.asc
@@ -0,0 +1,54 @@
+"Time = 0
+0.000000 -3.282050988012972161e-16
+0.062832 0.07380605485331244442
+0.125664 0.1455784997822164306
+0.188496 0.2133447675788644193
+0.251327 0.2752528349287287623
+0.314159 0.3296259708913621411
+0.376991 0.3750128710192085491
+0.439823 0.4102295183486864283
+0.502655 0.4343929062994671964
+0.565487 0.4469451623816664276
+0.628319 0.4476668606785397797
+0.691150 0.4366798568657391799
+0.753982 0.4144392345810540834
+0.816814 0.3817147107421374197
+0.879646 0.339562471915540065
+0.942478 0.289288041100933313
+1.005310 0.2324019248012642036
+1.068142 0.1705692988432471191
+1.130973 0.1055555706825310608
+1.193805 0.03916958738601374057
+1.256637 -0.02679325588254150362
+1.319469 -0.0906066784713159129
+1.382301 -0.1506656232080653968
+1.445133 -0.2055331774910843512
+1.507964 -0.2539809551861508252
+1.570796 -0.2950217949633199832
+1.633628 -0.3279330169860875666
+1.696460 -0.352271048314909685
+1.759292 -0.3678751302733638817
+1.822124 -0.3748623434649036579
+1.884956 -0.3736121531827285014
+1.947787 -0.3647430253644956544
+2.010619 -0.3490808307964701762
+2.073451 -0.3276209757444607518
+2.136283 -0.3014854817129382081
+2.199115 -0.2718767731651500208
+2.261947 -0.2400298390668242354
+2.324779 -0.207164578880224326
+2.387610 -0.1744400550413073014
+2.450442 -0.1429124541166265638
+2.513274 -0.1134979535875438872
+2.576106 -0.08694224413253644201
+2.638938 -0.06379736828824156269
+2.701770 -0.04440688313031446177
+2.764602 -0.02889974173130081467
+2.827433 -0.01719292640882444378
+2.890265 -0.009002830064859917644
+2.953097 -0.003864739486433904723
+3.015929 -0.001159371041608226816
+3.078761 -0.00014600694662452002
+3.141593 -5.618726534975164706e-20
+
+
diff --git a/test/test_31/test_31.par b/test/test_31/test_31.par
new file mode 100644
index 0000000..3a2ef6f
--- /dev/null
+++ b/test/test_31/test_31.par
@@ -0,0 +1,90 @@
+
+ActiveThorns = "CoordBase SymBase Boundary CartGrid3d IOUtil Carpet CarpetLib CarpetInterp AEILocalInterp InitBase Multipole"
+
+#############################################################
+# Grid
+#############################################################
+
+CartGrid3D::type = "coordbase"
+CartGrid3D::domain = "full"
+CartGrid3D::avoid_origin = "no"
+
+CoordBase::domainsize = minmax
+CoordBase::xmin = -10
+CoordBase::ymin = -10
+CoordBase::zmin = -10
+CoordBase::xmax = 10
+CoordBase::ymax = 10
+CoordBase::zmax = 10
+CoordBase::dx = 0.2
+CoordBase::dy = 0.2
+CoordBase::dz = 0.2
+CoordBase::boundary_size_x_lower = 2
+CoordBase::boundary_size_y_lower = 2
+CoordBase::boundary_size_z_lower = 2
+CoordBase::boundary_shiftout_x_lower = 0
+CoordBase::boundary_shiftout_y_lower = 0
+CoordBase::boundary_shiftout_z_lower = 0
+CoordBase::boundary_size_x_upper = 2
+CoordBase::boundary_size_y_upper = 2
+CoordBase::boundary_size_z_upper = 2
+CoordBase::boundary_shiftout_x_upper = 0
+CoordBase::boundary_shiftout_y_upper = 0
+CoordBase::boundary_shiftout_z_upper = 0
+
+#############################################################
+# Carpet
+#############################################################
+
+Carpet::ghost_size = 2
+Carpet::domain_from_coordbase = "yes"
+Carpet::poison_new_timelevels = "yes"
+Carpet::check_for_poison = "no"
+Carpet::poison_value = 113
+Carpet::init_fill_timelevels = "yes"
+
+#############################################################
+# CarpetLib
+#############################################################
+
+CarpetLib::poison_new_memory = "yes"
+
+#############################################################
+# Cactus
+#############################################################
+
+Cactus::terminate = "iteration"
+Cactus::cctk_itlast = 0
+
+#############################################################
+# Multipole
+#############################################################
+
+Multipole::nradii = 1
+Multipole::radius[0] = 8.0
+Multipole::variables = "Multipole::harmonic_re{sw=-2 cmplx='Multipole::harmonic_im' name='harmonic'}"
+Multipole::l_mode = 4
+Multipole::m_mode = 4
+
+Multipole::enable_test = "yes"
+Multipole::test_l = 3
+Multipole::test_m = 1
+Multipole::out_1d_every = 1
+
+#############################################################
+# Output
+#############################################################
+
+IO::out_dir = $parfile
+IO::out_fileinfo = "none"
+
+# Enabling 1D output for the test grid functions would be helpful for
+# localising any failures but it makes the tests dependent on the
+# number of processors, as CarpetIOASCII's output is dependent on
+# this.
+
+# CarpetIOASCII::out1d_vars = "Multipole::harmonics"
+# CarpetIOASCII::out1d_every = 1
+# CarpetIOASCII::out1d_x = yes
+# CarpetIOASCII::out1d_y = yes
+# CarpetIOASCII::out1d_z = yes
diff --git a/test/test_44.par b/test/test_44.par
new file mode 100644
index 0000000..b4778c4
--- /dev/null
+++ b/test/test_44.par
@@ -0,0 +1,90 @@
+
+ActiveThorns = "CoordBase SymBase Boundary CartGrid3d IOUtil Carpet CarpetLib CarpetInterp AEILocalInterp InitBase Multipole"
+
+#############################################################
+# Grid
+#############################################################
+
+CartGrid3D::type = "coordbase"
+CartGrid3D::domain = "full"
+CartGrid3D::avoid_origin = "no"
+
+CoordBase::domainsize = minmax
+CoordBase::xmin = -10
+CoordBase::ymin = -10
+CoordBase::zmin = -10
+CoordBase::xmax = 10
+CoordBase::ymax = 10
+CoordBase::zmax = 10
+CoordBase::dx = 0.2
+CoordBase::dy = 0.2
+CoordBase::dz = 0.2
+CoordBase::boundary_size_x_lower = 2
+CoordBase::boundary_size_y_lower = 2
+CoordBase::boundary_size_z_lower = 2
+CoordBase::boundary_shiftout_x_lower = 0
+CoordBase::boundary_shiftout_y_lower = 0
+CoordBase::boundary_shiftout_z_lower = 0
+CoordBase::boundary_size_x_upper = 2
+CoordBase::boundary_size_y_upper = 2
+CoordBase::boundary_size_z_upper = 2
+CoordBase::boundary_shiftout_x_upper = 0
+CoordBase::boundary_shiftout_y_upper = 0
+CoordBase::boundary_shiftout_z_upper = 0
+
+#############################################################
+# Carpet
+#############################################################
+
+Carpet::ghost_size = 2
+Carpet::domain_from_coordbase = "yes"
+Carpet::poison_new_timelevels = "yes"
+Carpet::check_for_poison = "no"
+Carpet::poison_value = 113
+Carpet::init_fill_timelevels = "yes"
+
+#############################################################
+# CarpetLib
+#############################################################
+
+CarpetLib::poison_new_memory = "yes"
+
+#############################################################
+# Cactus
+#############################################################
+
+Cactus::terminate = "iteration"
+Cactus::cctk_itlast = 0
+
+#############################################################
+# Multipole
+#############################################################
+
+Multipole::nradii = 1
+Multipole::radius[0] = 8.0
+Multipole::variables = "Multipole::harmonic_re{sw=-2 cmplx='Multipole::harmonic_im' name='harmonic'}"
+Multipole::l_mode = 4
+Multipole::m_mode = 4
+
+Multipole::enable_test = "yes"
+Multipole::test_l = 4
+Multipole::test_m = 4
+Multipole::out_1d_every = 1
+
+#############################################################
+# Output
+#############################################################
+
+IO::out_dir = $parfile
+IO::out_fileinfo = "none"
+
+# Enabling 1D output for the test grid functions would be helpful for
+# localising any failures but it makes the tests dependent on the
+# number of processors, as CarpetIOASCII's output is dependent on
+# this.
+
+# CarpetIOASCII::out1d_vars = "Multipole::harmonics"
+# CarpetIOASCII::out1d_every = 1
+# CarpetIOASCII::out1d_x = yes
+# CarpetIOASCII::out1d_y = yes
+# CarpetIOASCII::out1d_z = yes
diff --git a/test/test_44/mp_harmonic_im_r8.00.ph.asc b/test/test_44/mp_harmonic_im_r8.00.ph.asc
new file mode 100644
index 0000000..f8d4f69
--- /dev/null
+++ b/test/test_44/mp_harmonic_im_r8.00.ph.asc
@@ -0,0 +1,104 @@
+"Time = 0
+0.000000 7.295364912936111729e-17
+0.062832 0.09750219080037453301
+0.125664 0.1888775435804053715
+0.188496 0.2683856945617970058
+0.251327 0.3310298484392202312
+0.314159 0.3728739074758802285
+0.376991 0.3912897680474931028
+0.439823 0.3851185080227420565
+0.502655 0.3547496141280508386
+0.565487 0.302089994417809482
+0.628319 0.2304491288470007226
+0.691150 0.1443284161716877068
+0.753982 0.04913872952839841435
+0.816814 -0.04913872952839842823
+0.879646 -0.1443284161716877068
+0.942478 -0.2304491288470006949
+1.005310 -0.302089994417809482
+1.068142 -0.3547496141280507276
+1.130973 -0.3851185080227422231
+1.193805 -0.3912897680474932138
+1.256637 -0.3728739074758803396
+1.319469 -0.3310298484392205642
+1.382301 -0.2683856945617969503
+1.445133 -0.1888775435804053437
+1.507964 -0.09750219080037390851
+1.570796 5.141935093711792364e-18
+1.633628 0.09750219080037393626
+1.696460 0.1888775435804051495
+1.759292 0.2683856945617970613
+1.822124 0.3310298484392198426
+1.884956 0.3728739074758803951
+1.947787 0.3912897680474933249
+2.010619 0.38511850802274189
+2.073451 0.3547496141280505055
+2.136283 0.302089994417809149
+2.199115 0.2304491288470005284
+2.261947 0.1443284161716880121
+2.324779 0.04913872952839801189
+2.387610 -0.04913872952839846292
+2.450442 -0.1443284161716887892
+2.513274 -0.2304491288470000843
+2.576106 -0.3020899944178098151
+2.638938 -0.3547496141280507831
+2.701770 -0.3851185080227416124
+2.764602 -0.3912897680474931583
+2.827433 -0.37287390747587984
+2.890265 -0.3310298484392202867
+2.953097 -0.2683856945617968948
+3.015929 -0.1888775435804053993
+3.078761 -0.09750219080037376973
+3.141593 5.879968490523916496e-16
+3.204425 0.09750219080037413055
+3.267256 0.188877543580405205
+3.330088 0.2683856945617965062
+3.392920 0.3310298484392204532
+3.455752 0.3728739074758805061
+3.518584 0.3912897680474937134
+3.581416 0.3851185080227414459
+3.644247 0.3547496141280503945
+3.707079 0.30208999441780926
+3.769911 0.2304491288470002786
+3.832743 0.1443284161716878733
+3.895575 0.04913872952839848374
+3.958407 -0.04913872952839803271
+4.021239 -0.1443284161716888725
+4.084070 -0.2304491288470004451
+4.146902 -0.3020899944178097041
+4.209734 -0.3547496141280506721
+4.272566 -0.3851185080227412239
+4.335398 -0.3912897680474936579
+4.398230 -0.3728739074758805616
+4.461062 -0.3310298484392199536
+4.523893 -0.2683856945617965617
+4.586725 -0.1888775435804043168
+4.649557 -0.0975021908003736032
+4.712389 -3.191663229317711234e-16
+4.775221 0.09750219080037511588
+4.838053 0.1888775435804050939
+4.900885 0.2683856945617975054
+4.963716 0.3310298484392205642
+5.026548 0.3728739074758802285
+5.089380 0.3912897680474933249
+5.152212 0.3851185080227417235
+5.215044 0.3547496141280501725
+5.277876 0.3020899944178093155
+5.340708 0.2304491288469996679
+5.403539 0.1443284161716877623
+5.466371 0.04913872952839862251
+5.529203 -0.04913872952839898334
+5.592035 -0.1443284161716885394
+5.654867 -0.2304491288470013888
+5.717699 -0.30208999441780926
+5.780530 -0.3547496141280513937
+5.843362 -0.385118508022742001
+5.906194 -0.3912897680474936024
+5.969026 -0.372873907475880173
+6.031858 -0.3310298484392196205
+6.094690 -0.2683856945617966172
+6.157522 -0.1888775435804045943
+6.220353 -0.09750219080037371422
+6.283185 1.322572488823841579e-15
+
+
diff --git a/test/test_44/mp_harmonic_im_r8.00.th.asc b/test/test_44/mp_harmonic_im_r8.00.th.asc
new file mode 100644
index 0000000..516052a
--- /dev/null
+++ b/test/test_44/mp_harmonic_im_r8.00.th.asc
@@ -0,0 +1,54 @@
+"Time = 0
+0.000000 1.004322223297432415e-17
+0.062832 1.140750548817833691e-17
+0.125664 2.7927256359084425e-17
+0.188496 3.346377058559711089e-17
+0.251327 -1.397659474820217588e-17
+0.314159 5.788316478985703252e-17
+0.376991 5.511598447429051845e-17
+0.439823 9.870859230809497866e-17
+0.502655 8.435979247217504378e-17
+0.565487 -2.770179052470164853e-17
+0.628319 7.849983355224045863e-17
+0.691150 1.345088511543421353e-16
+0.753982 7.295364912936111729e-17
+0.816814 1.042511862983427411e-16
+0.879646 1.279956797326511916e-16
+0.942478 1.072625432824721819e-16
+1.005310 -4.207666216490475063e-17
+1.068142 1.339335730482051172e-16
+1.130973 1.170041998498290225e-16
+1.193805 1.048577568337480859e-16
+1.256637 9.738266942972852379e-17
+1.319469 1.294088631860209293e-16
+1.382301 8.409116921603710806e-17
+1.445133 5.623863033501134436e-17
+1.507964 4.668469045963542205e-17
+1.570796 4.096980835125672211e-17
+1.633628 6.918535806191855894e-17
+1.696460 4.156662276577861965e-19
+1.759292 2.147721705041800885e-17
+1.822124 3.738870643216777318e-17
+1.884956 2.164599580633908729e-17
+1.947787 3.059295004742128885e-17
+2.010619 5.789702395561650531e-18
+2.073451 7.440506202337751566e-18
+2.136283 7.586195491482758565e-18
+2.199115 5.673470813898813306e-18
+2.261947 6.924606484777743256e-18
+2.324779 3.486037266936661532e-18
+2.387610 2.887390742356002954e-18
+2.450442 2.028871330061610194e-18
+2.513274 9.0653873966057124e-19
+2.576106 5.160955555366977706e-19
+2.638938 4.108728478913636392e-19
+2.701770 1.680109445539049686e-19
+2.764602 -9.816939943272635644e-20
+2.827433 6.081181167851860339e-20
+2.890265 -5.17675115503239446e-21
+2.953097 9.743615679892832376e-22
+3.015929 3.312294536274431098e-22
+3.078761 8.145663275406878943e-24
+3.141593 9.680678404461004027e-24
+
+
diff --git a/test/test_44/mp_harmonic_l2_m-1_r8.00.asc b/test/test_44/mp_harmonic_l2_m-1_r8.00.asc
new file mode 100644
index 0000000..f32b164
--- /dev/null
+++ b/test/test_44/mp_harmonic_l2_m-1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.005445091642247251035 -1.450842027971573731e-17
diff --git a/test/test_44/mp_harmonic_l2_m-2_r8.00.asc b/test/test_44/mp_harmonic_l2_m-2_r8.00.asc
new file mode 100644
index 0000000..b1a7862
--- /dev/null
+++ b/test/test_44/mp_harmonic_l2_m-2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.002535462760701034327 1.31315598338315777e-17
diff --git a/test/test_44/mp_harmonic_l2_m0_r8.00.asc b/test/test_44/mp_harmonic_l2_m0_r8.00.asc
new file mode 100644
index 0000000..2b01cad
--- /dev/null
+++ b/test/test_44/mp_harmonic_l2_m0_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.008280795941738087335 -1.410822126848162438e-16
diff --git a/test/test_44/mp_harmonic_l2_m1_r8.00.asc b/test/test_44/mp_harmonic_l2_m1_r8.00.asc
new file mode 100644
index 0000000..7494ff4
--- /dev/null
+++ b/test/test_44/mp_harmonic_l2_m1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.00980116491292304555 4.927840058925445781e-17
diff --git a/test/test_44/mp_harmonic_l2_m2_r8.00.asc b/test/test_44/mp_harmonic_l2_m2_r8.00.asc
new file mode 100644
index 0000000..4551bb3
--- /dev/null
+++ b/test/test_44/mp_harmonic_l2_m2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.00845154826852475248 -1.140415699219595078e-16
diff --git a/test/test_44/mp_harmonic_l3_m-1_r8.00.asc b/test/test_44/mp_harmonic_l3_m-1_r8.00.asc
new file mode 100644
index 0000000..830596b
--- /dev/null
+++ b/test/test_44/mp_harmonic_l3_m-1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.007003448145363804986 7.216311905116884251e-17
diff --git a/test/test_44/mp_harmonic_l3_m-2_r8.00.asc b/test/test_44/mp_harmonic_l3_m-2_r8.00.asc
new file mode 100644
index 0000000..af1b49e
--- /dev/null
+++ b/test/test_44/mp_harmonic_l3_m-2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.006000000027244409978 5.503292557062205609e-17
diff --git a/test/test_44/mp_harmonic_l3_m-3_r8.00.asc b/test/test_44/mp_harmonic_l3_m-3_r8.00.asc
new file mode 100644
index 0000000..81f0d7a
--- /dev/null
+++ b/test/test_44/mp_harmonic_l3_m-3_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.003452175758154016599 6.556786423481637356e-17
diff --git a/test/test_44/mp_harmonic_l3_m0_r8.00.asc b/test/test_44/mp_harmonic_l3_m0_r8.00.asc
new file mode 100644
index 0000000..7e5592d
--- /dev/null
+++ b/test/test_44/mp_harmonic_l3_m0_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.005477245840545341173 1.355281719964630969e-16
diff --git a/test/test_44/mp_harmonic_l3_m1_r8.00.asc b/test/test_44/mp_harmonic_l3_m1_r8.00.asc
new file mode 100644
index 0000000..a2adcac
--- /dev/null
+++ b/test/test_44/mp_harmonic_l3_m1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.001146018719912499572 -1.134260159187634323e-17
diff --git a/test/test_44/mp_harmonic_l3_m2_r8.00.asc b/test/test_44/mp_harmonic_l3_m2_r8.00.asc
new file mode 100644
index 0000000..dcb38ea
--- /dev/null
+++ b/test/test_44/mp_harmonic_l3_m2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.004999993179573330483 -6.907517924270660676e-17
diff --git a/test/test_44/mp_harmonic_l3_m3_r8.00.asc b/test/test_44/mp_harmonic_l3_m3_r8.00.asc
new file mode 100644
index 0000000..2891df0
--- /dev/null
+++ b/test/test_44/mp_harmonic_l3_m3_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.009764725648090832877 -3.370796813460806993e-16
diff --git a/test/test_44/mp_harmonic_l4_m-1_r8.00.asc b/test/test_44/mp_harmonic_l4_m-1_r8.00.asc
new file mode 100644
index 0000000..31eff1a
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m-1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.004197104746478984641 -5.749259255727742774e-18
diff --git a/test/test_44/mp_harmonic_l4_m-2_r8.00.asc b/test/test_44/mp_harmonic_l4_m-2_r8.00.asc
new file mode 100644
index 0000000..9e39503
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m-2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.006047431528057146434 3.471350154661934784e-17
diff --git a/test/test_44/mp_harmonic_l4_m-3_r8.00.asc b/test/test_44/mp_harmonic_l4_m-3_r8.00.asc
new file mode 100644
index 0000000..93936e7
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m-3_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.005979343830556044757 1.158373300769204339e-16
diff --git a/test/test_44/mp_harmonic_l4_m-4_r8.00.asc b/test/test_44/mp_harmonic_l4_m-4_r8.00.asc
new file mode 100644
index 0000000..908717d
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m-4_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.004000002492431310903 6.82848325201125411e-17
diff --git a/test/test_44/mp_harmonic_l4_m0_r8.00.asc b/test/test_44/mp_harmonic_l4_m0_r8.00.asc
new file mode 100644
index 0000000..bc4a347
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m0_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.001195258961214029419 2.17781535788633959e-17
diff --git a/test/test_44/mp_harmonic_l4_m1_r8.00.asc b/test/test_44/mp_harmonic_l4_m1_r8.00.asc
new file mode 100644
index 0000000..e5f2d06
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m1_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.001485129406325878939 -4.436162206397188142e-17
diff --git a/test/test_44/mp_harmonic_l4_m2_r8.00.asc b/test/test_44/mp_harmonic_l4_m2_r8.00.asc
new file mode 100644
index 0000000..9ff65b0
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m2_r8.00.asc
@@ -0,0 +1 @@
+0.000000 -0.001889814528599235207 1.850848635380041249e-17
diff --git a/test/test_44/mp_harmonic_l4_m3_r8.00.asc b/test/test_44/mp_harmonic_l4_m3_r8.00.asc
new file mode 100644
index 0000000..b6742d9
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m3_r8.00.asc
@@ -0,0 +1 @@
+0.000000 0.001879222390673842722 7.432064062353913818e-18
diff --git a/test/test_44/mp_harmonic_l4_m4_r8.00.asc b/test/test_44/mp_harmonic_l4_m4_r8.00.asc
new file mode 100644
index 0000000..1cf569d
--- /dev/null
+++ b/test/test_44/mp_harmonic_l4_m4_r8.00.asc
@@ -0,0 +1 @@
+0.000000 1.009999712580690323 8.934761304446722526e-18
diff --git a/test/test_44/mp_harmonic_re_r8.00.ph.asc b/test/test_44/mp_harmonic_re_r8.00.ph.asc
new file mode 100644
index 0000000..e40ec47
--- /dev/null
+++ b/test/test_44/mp_harmonic_re_r8.00.ph.asc
@@ -0,0 +1,104 @@
+"Time = 0
+0.000000 0.3920633604853145937
+0.062832 0.3797455397119490206
+0.125664 0.3435673564213506115
+0.188496 0.2858019518985600582
+0.251327 0.2100778540726887522
+0.314159 0.1211544096010529897
+0.376991 0.02461786666158679443
+0.439823 -0.07346511457704629766
+0.502655 -0.1669323069165128404
+0.565487 -0.2499102401074499158
+0.628319 -0.3171859847968152013
+0.691150 -0.3645311212782926247
+0.753982 -0.3889716584639379415
+0.816814 -0.3889716584639372199
+0.879646 -0.3645311212782927357
+0.942478 -0.3171859847968153123
+1.005310 -0.2499102401074496937
+1.068142 -0.1669323069165127849
+1.130973 -0.07346511457704622827
+1.193805 0.02461786666158693321
+1.256637 0.1211544096010529065
+1.319469 0.2100778540726890298
+1.382301 0.2858019518985602248
+1.445133 0.3435673564213503894
+1.507964 0.3797455397119497977
+1.570796 0.3920633604853147602
+1.633628 0.3797455397119496867
+1.696460 0.3435673564213502784
+1.759292 0.2858019518985602248
+1.822124 0.2100778540726891963
+1.884956 0.1211544096010526289
+1.947787 0.02461786666158737036
+2.010619 -0.07346511457704617276
+2.073451 -0.166932306916513451
+2.136283 -0.2499102401074502211
+2.199115 -0.3171859847968152568
+2.261947 -0.3645311212782926247
+2.324779 -0.3889716584639369978
+2.387610 -0.3889716584639372199
+2.450442 -0.3645311212782928467
+2.513274 -0.3171859847968157564
+2.576106 -0.2499102401074496382
+2.638938 -0.1669323069165125906
+2.701770 -0.07346511457704602011
+2.764602 0.02461786666158742587
+2.827433 0.1211544096010537253
+2.890265 0.2100778540726887522
+2.953097 0.2858019518985602248
+3.015929 0.3435673564213503894
+3.078761 0.3797455397119502973
+3.141593 0.3920633604853139831
+3.204425 0.3797455397119497422
+3.267256 0.3435673564213503339
+3.330088 0.2858019518985608354
+3.392920 0.2100778540726882804
+3.455752 0.1211544096010520183
+3.518584 0.02461786666158679096
+3.581416 -0.07346511457704588133
+3.644247 -0.1669323069165131179
+3.707079 -0.2499102401074502211
+3.769911 -0.3171859847968167556
+3.832743 -0.3645311212782930688
+3.895575 -0.3889716584639377195
+3.958407 -0.388971658463937775
+4.021239 -0.3645311212782924581
+4.084070 -0.3171859847968162005
+4.146902 -0.2499102401074497215
+4.209734 -0.1669323069165132289
+4.272566 -0.07346511457704534009
+4.335398 0.02461786666158786996
+4.398230 0.1211544096010528787
+4.461062 0.2100778540726897237
+4.523893 0.2858019518985606688
+4.586725 0.3435673564213510556
+4.649557 0.3797455397119497977
+4.712389 0.3920633604853137055
+4.775221 0.3797455397119496867
+4.838053 0.3435673564213503339
+4.900885 0.2858019518985594476
+4.963716 0.2100778540726883636
+5.026548 0.121154409601053531
+5.089380 0.02461786666158641279
+5.152212 -0.07346511457704603398
+5.215044 -0.1669323069165137285
+5.277876 -0.2499102401074507485
+5.340708 -0.3171859847968159785
+5.403539 -0.3645311212782928467
+5.466371 -0.3889716584639373309
+5.529203 -0.3889716584639369978
+5.592035 -0.3645311212782925137
+5.654867 -0.3171859847968149237
+5.717699 -0.2499102401074496937
+5.780530 -0.1669323069165135898
+5.843362 -0.07346511457704522907
+5.906194 0.02461786666158732872
+5.969026 0.1211544096010533506
+6.031858 0.2100778540726896126
+6.094690 0.2858019518985603913
+6.157522 0.3435673564213507225
+6.220353 0.3797455397119496312
+6.283185 0.3920633604853144827
+
+
diff --git a/test/test_44/mp_harmonic_re_r8.00.th.asc b/test/test_44/mp_harmonic_re_r8.00.th.asc
new file mode 100644
index 0000000..3da3e4e
--- /dev/null
+++ b/test/test_44/mp_harmonic_re_r8.00.th.asc
@@ -0,0 +1,54 @@
+"Time = 0
+0.000000 2.033025078799314293e-17
+0.062832 0.00440524437403649969
+0.125664 0.01744763102521520309
+0.188496 0.03861546626722844183
+0.251327 0.06708093959493929836
+0.314159 0.1017371881289098612
+0.376991 0.1412468950463215689
+0.439823 0.1841007347863844179
+0.502655 0.2286825568783150686
+0.565487 0.2733382819051932144
+0.628319 0.3164448250341251323
+0.691150 0.3564761780018692039
+0.753982 0.3920633604853145937
+0.816814 0.4220455933435342533
+0.879646 0.4455104359323894259
+0.942478 0.4618215411890246314
+1.005310 0.4706327537089853297
+1.068142 0.4718887488361693805
+1.130973 0.4658124765146953727
+1.193805 0.4528806131843747251
+1.256637 0.4337890189173217448
+1.319469 0.4094099320215023319
+1.382301 0.3807437371650992941
+1.445133 0.348868223336042893
+1.507964 0.3148872250096674263
+1.570796 0.279882249442584663
+1.633628 0.24486858558409208
+1.696460 0.2107581509469722003
+1.759292 0.1783306664511223605
+1.822124 0.1482134647146427231
+1.884956 0.1208711860247292935
+1.947787 0.0966040824055713343
+2.010619 0.07555517292358635006
+2.073451 0.0577244827621882714
+2.136283 0.04298903971455380474
+2.199115 0.03112702306028222732
+2.261947 0.02184406938572050136
+2.324779 0.01480000504610494427
+2.387610 0.009634322214168643608
+2.450442 0.00598890383403884001
+2.513274 0.003526972314939738531
+2.576106 0.001947356683421510486
+2.638938 0.000993844209591295295
+2.701770 0.0004595909564819119662
+2.764602 0.0001870374672514499932
+2.827433 6.402142260079153515e-05
+2.890265 1.708500056020844827e-05
+2.953097 3.0825010069452466e-06
+3.015929 2.733456066489190793e-07
+3.078761 4.242667258268213001e-09
+3.141593 1.083245708293297255e-23
+
+
diff --git a/test/test_44/test_44.par b/test/test_44/test_44.par
new file mode 100644
index 0000000..b4778c4
--- /dev/null
+++ b/test/test_44/test_44.par
@@ -0,0 +1,90 @@
+
+ActiveThorns = "CoordBase SymBase Boundary CartGrid3d IOUtil Carpet CarpetLib CarpetInterp AEILocalInterp InitBase Multipole"
+
+#############################################################
+# Grid
+#############################################################
+
+CartGrid3D::type = "coordbase"
+CartGrid3D::domain = "full"
+CartGrid3D::avoid_origin = "no"
+
+CoordBase::domainsize = minmax
+CoordBase::xmin = -10
+CoordBase::ymin = -10
+CoordBase::zmin = -10
+CoordBase::xmax = 10
+CoordBase::ymax = 10
+CoordBase::zmax = 10
+CoordBase::dx = 0.2
+CoordBase::dy = 0.2
+CoordBase::dz = 0.2
+CoordBase::boundary_size_x_lower = 2
+CoordBase::boundary_size_y_lower = 2
+CoordBase::boundary_size_z_lower = 2
+CoordBase::boundary_shiftout_x_lower = 0
+CoordBase::boundary_shiftout_y_lower = 0
+CoordBase::boundary_shiftout_z_lower = 0
+CoordBase::boundary_size_x_upper = 2
+CoordBase::boundary_size_y_upper = 2
+CoordBase::boundary_size_z_upper = 2
+CoordBase::boundary_shiftout_x_upper = 0
+CoordBase::boundary_shiftout_y_upper = 0
+CoordBase::boundary_shiftout_z_upper = 0
+
+#############################################################
+# Carpet
+#############################################################
+
+Carpet::ghost_size = 2
+Carpet::domain_from_coordbase = "yes"
+Carpet::poison_new_timelevels = "yes"
+Carpet::check_for_poison = "no"
+Carpet::poison_value = 113
+Carpet::init_fill_timelevels = "yes"
+
+#############################################################
+# CarpetLib
+#############################################################
+
+CarpetLib::poison_new_memory = "yes"
+
+#############################################################
+# Cactus
+#############################################################
+
+Cactus::terminate = "iteration"
+Cactus::cctk_itlast = 0
+
+#############################################################
+# Multipole
+#############################################################
+
+Multipole::nradii = 1
+Multipole::radius[0] = 8.0
+Multipole::variables = "Multipole::harmonic_re{sw=-2 cmplx='Multipole::harmonic_im' name='harmonic'}"
+Multipole::l_mode = 4
+Multipole::m_mode = 4
+
+Multipole::enable_test = "yes"
+Multipole::test_l = 4
+Multipole::test_m = 4
+Multipole::out_1d_every = 1
+
+#############################################################
+# Output
+#############################################################
+
+IO::out_dir = $parfile
+IO::out_fileinfo = "none"
+
+# Enabling 1D output for the test grid functions would be helpful for
+# localising any failures but it makes the tests dependent on the
+# number of processors, as CarpetIOASCII's output is dependent on
+# this.
+
+# CarpetIOASCII::out1d_vars = "Multipole::harmonics"
+# CarpetIOASCII::out1d_every = 1
+# CarpetIOASCII::out1d_x = yes
+# CarpetIOASCII::out1d_y = yes
+# CarpetIOASCII::out1d_z = yes