aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetTest
diff options
context:
space:
mode:
authoreschnett <>2001-03-01 11:40:00 +0000
committereschnett <>2001-03-01 11:40:00 +0000
commit310f0ea48d18866b773136aed11200b6eda6378b (patch)
tree445d3e34ce8b89812994b6614f7bc9f4acbc7fe2 /Carpet/CarpetTest
Initial revision
darcs-hash:20010301114010-f6438-12fb8a9ffcc80e86c0a97e37b5b0dae0dbc59b79.gz
Diffstat (limited to 'Carpet/CarpetTest')
-rw-r--r--Carpet/CarpetTest/COPYING341
-rw-r--r--Carpet/CarpetTest/README9
-rw-r--r--Carpet/CarpetTest/interface.ccl29
-rw-r--r--Carpet/CarpetTest/param.ccl32
-rw-r--r--Carpet/CarpetTest/schedule.ccl14
-rw-r--r--Carpet/CarpetTest/src/carpettest_check_arguments.F7744
-rw-r--r--Carpet/CarpetTest/src/carpettest_check_sizes.c107
-rw-r--r--Carpet/CarpetTest/src/make.code.defn9
-rw-r--r--Carpet/CarpetTest/test/arraysizes.par28
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr1.xl15
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr2.xl13
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr2.xyp56
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr2.yl14
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr3.xl10
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr3.xyp23
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr3.xyzv92
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr3.xzp27
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr3.yl11
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr3.yzp32
-rw-r--r--Carpet/CarpetTest/test/arraysizes/arr3.zl12
-rw-r--r--Carpet/CarpetTest/test/arraysizes/gf.xl17
-rw-r--r--Carpet/CarpetTest/test/arraysizes/gf.xyp117
-rw-r--r--Carpet/CarpetTest/test/arraysizes/gf.xyzv1117
-rw-r--r--Carpet/CarpetTest/test/arraysizes/gf.xzp117
-rw-r--r--Carpet/CarpetTest/test/arraysizes/gf.yl17
-rw-r--r--Carpet/CarpetTest/test/arraysizes/gf.yzp117
-rw-r--r--Carpet/CarpetTest/test/arraysizes/gf.zl17
-rw-r--r--Carpet/CarpetTest/test/arraysizes/sc.xl8
28 files changed, 2445 insertions, 0 deletions
diff --git a/Carpet/CarpetTest/COPYING b/Carpet/CarpetTest/COPYING
new file mode 100644
index 000000000..1942c4334
--- /dev/null
+++ b/Carpet/CarpetTest/COPYING
@@ -0,0 +1,341 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place - Suite 330
+ Boston, MA 02111-1307, USA.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/Carpet/CarpetTest/README b/Carpet/CarpetTest/README
new file mode 100644
index 000000000..73ee4263f
--- /dev/null
+++ b/Carpet/CarpetTest/README
@@ -0,0 +1,9 @@
+Cactus Code Thorn CarpetTest
+Authors : Erik Schnetter <schnetter@uni-tuebingen.de>
+CVS info : $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetTest/README,v 1.1 2001/07/04 12:29:53 schnetter Exp $
+--------------------------------------------------------------------------
+
+Purpose of the thorn:
+
+This thorn contains a few test grid functions, grid arrays, and
+scalars to test the driver.
diff --git a/Carpet/CarpetTest/interface.ccl b/Carpet/CarpetTest/interface.ccl
new file mode 100644
index 000000000..55cd937c5
--- /dev/null
+++ b/Carpet/CarpetTest/interface.ccl
@@ -0,0 +1,29 @@
+# Interface definition for thorn CarpetTest
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetTest/interface.ccl,v 1.2 2001/07/09 09:00:26 schnetter Exp $
+
+implements: CarpetTest
+
+CCTK_REAL gfg type=GF
+{
+ gf
+} "grid function"
+
+CCTK_REAL arrg3 type=ARRAY size=i3,i4,i5
+{
+ arr3
+} "3D array"
+
+CCTK_REAL arrg2 type=ARRAY dim=2 size=i6,i7
+{
+ arr2
+} "2D array"
+
+CCTK_REAL arrg1 type=ARRAY dim=1 size=i8
+{
+ arr1
+} "1D array"
+
+CCTK_REAL scg type=SCALAR
+{
+ sc
+} "scalar"
diff --git a/Carpet/CarpetTest/param.ccl b/Carpet/CarpetTest/param.ccl
new file mode 100644
index 000000000..a8b831dd4
--- /dev/null
+++ b/Carpet/CarpetTest/param.ccl
@@ -0,0 +1,32 @@
+# Parameter definitions for thorn CarpetTest
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetTest/param.ccl,v 1.1 2001/07/04 12:29:54 schnetter Exp $
+
+CCTK_INT i3 "three"
+{
+ 0:* :: "should be 3"
+} 3
+
+CCTK_INT i4 "four"
+{
+ 0:* :: "should be 4"
+} 4
+
+CCTK_INT i5 "five"
+{
+ 0:* :: "should be 5"
+} 5
+
+CCTK_INT i6 "six"
+{
+ 0:* :: "should be 6"
+} 6
+
+CCTK_INT i7 "seven"
+{
+ 0:* :: "should be 7"
+} 7
+
+CCTK_INT i8 "eight"
+{
+ 0:* :: "should be 8"
+} 8
diff --git a/Carpet/CarpetTest/schedule.ccl b/Carpet/CarpetTest/schedule.ccl
new file mode 100644
index 000000000..1ade016b9
--- /dev/null
+++ b/Carpet/CarpetTest/schedule.ccl
@@ -0,0 +1,14 @@
+# Schedule definitions for thorn CarpetTest
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetTest/schedule.ccl,v 1.3 2003/11/05 16:18:39 schnetter Exp $
+
+STORAGE: gfg arrg1 arrg2 arrg3
+
+schedule carpettest_check_sizes AT initial
+{
+ LANG: C
+} "Check grid function and grid array sizes"
+
+schedule carpettest_check_arguments AT initial
+{
+ LANG: Fortran
+} "Check grid function and grid array arguments"
diff --git a/Carpet/CarpetTest/src/carpettest_check_arguments.F77 b/Carpet/CarpetTest/src/carpettest_check_arguments.F77
new file mode 100644
index 000000000..297e38977
--- /dev/null
+++ b/Carpet/CarpetTest/src/carpettest_check_arguments.F77
@@ -0,0 +1,44 @@
+c -*-Fortran-*-
+c $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetTest/src/carpettest_check_arguments.F77,v 1.5 2004/01/25 14:57:31 schnetter Exp $
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Functions.h"
+#include "cctk_Parameters.h"
+
+ subroutine carpettest_check_arguments (CCTK_ARGUMENTS)
+ implicit none
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_FUNCTIONS
+ DECLARE_CCTK_PARAMETERS
+ integer i,j,k
+ print *, "Xgfg ", Xgfg0, Xgfg1, Xgfg2
+ print *, "Xarrg3 ", Xarrg30, Xarrg31, Xarrg32
+ print *, "Xarrg2 ", Xarrg20, Xarrg21
+ print *, "Xarrg1 ", Xarrg10
+ print *, "Xscg"
+ print *
+ do k=1,Xgfg2
+ do j=1,Xgfg1
+ do i=1,Xgfg0
+ gf(i,j,k) = i*10000 + j*100 + k
+ end do
+ end do
+ end do
+ do k=1,Xarrg32
+ do j=1,Xarrg31
+ do i=1,Xarrg30
+ arr3(i,j,k) = i*10000 + j*100 + k
+ end do
+ end do
+ end do
+ do j=1,Xarrg21
+ do i=1,Xarrg20
+ arr2(i,j) = i*100 + j
+ end do
+ end do
+ do i=1,Xarrg10
+ arr1(i) = i
+ end do
+ sc = 42
+ end
diff --git a/Carpet/CarpetTest/src/carpettest_check_sizes.c b/Carpet/CarpetTest/src/carpettest_check_sizes.c
new file mode 100644
index 000000000..c4e17baf7
--- /dev/null
+++ b/Carpet/CarpetTest/src/carpettest_check_sizes.c
@@ -0,0 +1,107 @@
+/* $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetTest/src/carpettest_check_sizes.c,v 1.2 2001/07/09 09:00:27 schnetter Exp $ */
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+
+void carpettest_check_sizes (CCTK_ARGUMENTS);
+
+static void print_scalar (const char *name, int sc);
+static void print_scalar_descr (const char *name, int sc, const char *descr);
+static void print_array (const char *name, int dim, const int *arr);
+
+static const char *grouptype_string (int grouptype);
+static const char *disttype_string (int disttype);
+
+
+
+void carpettest_check_sizes (CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS
+ DECLARE_CCTK_PARAMETERS
+ int group;
+ int dim;
+ cGroup data;
+ cGroupDynamicData dyndata;
+
+ dim = cctk_dim;
+ print_scalar ("cctk_dim", cctk_dim);
+ print_array ("cctk_gsh", dim, cctk_gsh);
+ print_array ("cctk_lsh", dim, cctk_lsh);
+ print_array ("cctk_lbnd", dim, cctk_lbnd);
+ print_array ("cctk_ubnd", dim, cctk_ubnd);
+ print_array ("cctk_bbox", 2*dim, cctk_bbox);
+ print_array ("cctk_nghostzones", dim, cctk_nghostzones);
+ printf ("\n");
+
+ for (group=0; group<CCTK_NumGroups(); ++group) {
+ CCTK_GroupData (group, &data);
+ CCTK_GroupDynamicData (cctkGH, group, &dyndata);
+
+ print_scalar_descr ("group", group, CCTK_GroupName(group));
+
+ dim = data.dim;
+ print_scalar ("dim", data.dim);
+ print_scalar_descr ("grouptype", data.grouptype, grouptype_string(data.grouptype));
+ print_scalar_descr ("vartype", data.vartype, CCTK_VarTypeName(data.vartype));
+ print_scalar_descr ("disttype", data.disttype, disttype_string(data.disttype));
+ print_scalar ("stagtype", data.stagtype);
+ print_scalar ("numvars", data.numvars);
+ print_scalar ("numtimelevels", data.numtimelevels);
+ print_array ("gsh", dim, dyndata.gsh);
+ print_array ("lsh", dim, dyndata.lsh);
+ print_array ("lbnd", dim, dyndata.lbnd);
+ print_array ("ubnd", dim, dyndata.ubnd);
+ print_array ("bbox", 2*dim, dyndata.bbox);
+ print_array ("nghostzones", dim, dyndata.nghostzones);
+ printf ("\n");
+ }
+
+}
+
+
+
+static void print_scalar (const char *name, int sc)
+{
+ printf ("%-15s: %3d\n", name, sc);
+}
+
+static void print_scalar_descr (const char *name, int sc, const char *descr)
+{
+ printf ("%-15s: %3d %s\n", name, sc, descr);
+}
+
+static void print_array (const char *name, int dim, const int *arr)
+{
+ int d;
+ printf ("%-15s:", name);
+ for (d=0; d<dim; ++d) {
+ printf (" %3d", arr[d]);
+ }
+ printf ("\n");
+}
+
+
+
+static const char *grouptype_string (int grouptype)
+{
+ switch (grouptype) {
+ case CCTK_SCALAR: return "CCTK_SCALAR";
+ case CCTK_GF: return "CCTK_GF";
+ case CCTK_ARRAY: return "CCTK_ARRAY";
+ }
+ return "[illegal group type]";
+}
+
+static const char *disttype_string (int disttype)
+{
+ switch (disttype) {
+ case CCTK_DISTRIB_CONSTANT: return "CCTK_DISTRIB_CONSTANT";
+ case CCTK_DISTRIB_DEFAULT: return "CCTK_DISTRIB_DEFAULT";
+ }
+ return "[illegal distribution type]";
+}
diff --git a/Carpet/CarpetTest/src/make.code.defn b/Carpet/CarpetTest/src/make.code.defn
new file mode 100644
index 000000000..cb469f0b4
--- /dev/null
+++ b/Carpet/CarpetTest/src/make.code.defn
@@ -0,0 +1,9 @@
+# Main make.code.defn file for thorn CarpetTest
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetTest/src/make.code.defn,v 1.1 2001/07/04 12:29:55 schnetter Exp $
+
+# Source files in this directory
+SRCS = carpettest_check_sizes.c carpettest_check_arguments.F77
+
+# Subdirectories containing source files
+SUBDIRS =
+
diff --git a/Carpet/CarpetTest/test/arraysizes.par b/Carpet/CarpetTest/test/arraysizes.par
new file mode 100644
index 000000000..81647fe42
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes.par
@@ -0,0 +1,28 @@
+# $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetTest/test/arraysizes.par,v 1.5 2004/03/23 12:01:59 schnetter Exp $
+
+!DESC "Check array sizes"
+
+ActiveThorns = "Carpet CarpetLib CarpetSlab Cart3d IOUtil CarpetIOASCII CarpetTest"
+
+Cactus::cctk_itlast = 0
+
+IO::out_dir = "arraysizes"
+
+IOASCII::out1D_every = 1
+IOASCII::out2D_every = 1
+IOASCII::out3D_every = 1
+
+IOASCII::out1D_xline_yi = 0
+IOASCII::out1D_xline_zi = 0
+IOASCII::out1D_yline_xi = 0
+IOASCII::out1D_yline_zi = 0
+IOASCII::out1D_zline_xi = 0
+IOASCII::out1D_zline_yi = 0
+
+IOASCII::out2D_xyplane_zi = 0
+IOASCII::out2D_xzplane_yi = 0
+IOASCII::out2D_yzplane_xi = 0
+
+IOASCII::out1D_vars = "CarpetTest::gfg CarpetTest::arrg3 CarpetTest::arrg2 CarpetTest::arrg1 CarpetTest::scg"
+IOASCII::out2D_vars = "CarpetTest::gfg CarpetTest::arrg3 CarpetTest::arrg2 CarpetTest::arrg1 CarpetTest::scg"
+IOASCII::out3D_vars = "CarpetTest::gfg CarpetTest::arrg3 CarpetTest::arrg2 CarpetTest::arrg1 CarpetTest::scg"
diff --git a/Carpet/CarpetTest/test/arraysizes/arr1.xl b/Carpet/CarpetTest/test/arraysizes/arr1.xl
new file mode 100644
index 000000000..dd69e4673
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr1.xl
@@ -0,0 +1,15 @@
+# CARPETTEST::arr1 x (arr1)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 1
+0 0 0 0 0 1 0 0 2
+0 0 0 0 0 2 0 0 3
+0 0 0 0 0 3 0 0 4
+0 0 0 0 0 4 0 0 5
+0 0 0 0 0 5 0 0 6
+0 0 0 0 0 6 0 0 7
+0 0 0 0 0 7 0 0 8
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr2.xl b/Carpet/CarpetTest/test/arraysizes/arr2.xl
new file mode 100644
index 000000000..a67e69364
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr2.xl
@@ -0,0 +1,13 @@
+# CARPETTEST::arr2 x (arr2)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 101
+0 0 0 0 0 1 0 0 201
+0 0 0 0 0 2 0 0 301
+0 0 0 0 0 3 0 0 401
+0 0 0 0 0 4 0 0 501
+0 0 0 0 0 5 0 0 601
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr2.xyp b/Carpet/CarpetTest/test/arraysizes/arr2.xyp
new file mode 100644
index 000000000..abd57c4e1
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr2.xyp
@@ -0,0 +1,56 @@
+# CARPETTEST::arr2 x y (arr2)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 101
+0 0 0 0 0 1 0 0 201
+0 0 0 0 0 2 0 0 301
+0 0 0 0 0 3 0 0 401
+0 0 0 0 0 4 0 0 501
+0 0 0 0 0 5 0 0 601
+
+0 0 0 0 0 0 1 0 102
+0 0 0 0 0 1 1 0 202
+0 0 0 0 0 2 1 0 302
+0 0 0 0 0 3 1 0 402
+0 0 0 0 0 4 1 0 502
+0 0 0 0 0 5 1 0 602
+
+0 0 0 0 0 0 2 0 103
+0 0 0 0 0 1 2 0 203
+0 0 0 0 0 2 2 0 303
+0 0 0 0 0 3 2 0 403
+0 0 0 0 0 4 2 0 503
+0 0 0 0 0 5 2 0 603
+
+0 0 0 0 0 0 3 0 104
+0 0 0 0 0 1 3 0 204
+0 0 0 0 0 2 3 0 304
+0 0 0 0 0 3 3 0 404
+0 0 0 0 0 4 3 0 504
+0 0 0 0 0 5 3 0 604
+
+0 0 0 0 0 0 4 0 105
+0 0 0 0 0 1 4 0 205
+0 0 0 0 0 2 4 0 305
+0 0 0 0 0 3 4 0 405
+0 0 0 0 0 4 4 0 505
+0 0 0 0 0 5 4 0 605
+
+0 0 0 0 0 0 5 0 106
+0 0 0 0 0 1 5 0 206
+0 0 0 0 0 2 5 0 306
+0 0 0 0 0 3 5 0 406
+0 0 0 0 0 4 5 0 506
+0 0 0 0 0 5 5 0 606
+
+0 0 0 0 0 0 6 0 107
+0 0 0 0 0 1 6 0 207
+0 0 0 0 0 2 6 0 307
+0 0 0 0 0 3 6 0 407
+0 0 0 0 0 4 6 0 507
+0 0 0 0 0 5 6 0 607
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr2.yl b/Carpet/CarpetTest/test/arraysizes/arr2.yl
new file mode 100644
index 000000000..932503906
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr2.yl
@@ -0,0 +1,14 @@
+# CARPETTEST::arr2 y (arr2)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 101
+0 0 0 0 0 0 1 0 102
+0 0 0 0 0 0 2 0 103
+0 0 0 0 0 0 3 0 104
+0 0 0 0 0 0 4 0 105
+0 0 0 0 0 0 5 0 106
+0 0 0 0 0 0 6 0 107
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr3.xl b/Carpet/CarpetTest/test/arraysizes/arr3.xl
new file mode 100644
index 000000000..fc87a1d7e
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr3.xl
@@ -0,0 +1,10 @@
+# CARPETTEST::arr3 x (arr3)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 1 0 0 20101
+0 0 0 0 0 2 0 0 30101
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr3.xyp b/Carpet/CarpetTest/test/arraysizes/arr3.xyp
new file mode 100644
index 000000000..297ee34bc
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr3.xyp
@@ -0,0 +1,23 @@
+# CARPETTEST::arr3 x y (arr3)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 1 0 0 20101
+0 0 0 0 0 2 0 0 30101
+
+0 0 0 0 0 0 1 0 10201
+0 0 0 0 0 1 1 0 20201
+0 0 0 0 0 2 1 0 30201
+
+0 0 0 0 0 0 2 0 10301
+0 0 0 0 0 1 2 0 20301
+0 0 0 0 0 2 2 0 30301
+
+0 0 0 0 0 0 3 0 10401
+0 0 0 0 0 1 3 0 20401
+0 0 0 0 0 2 3 0 30401
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr3.xyzv b/Carpet/CarpetTest/test/arraysizes/arr3.xyzv
new file mode 100644
index 000000000..2a1ac20f2
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr3.xyzv
@@ -0,0 +1,92 @@
+# CARPETTEST::arr3 x y z (arr3)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 1 0 0 20101
+0 0 0 0 0 2 0 0 30101
+
+0 0 0 0 0 0 1 0 10201
+0 0 0 0 0 1 1 0 20201
+0 0 0 0 0 2 1 0 30201
+
+0 0 0 0 0 0 2 0 10301
+0 0 0 0 0 1 2 0 20301
+0 0 0 0 0 2 2 0 30301
+
+0 0 0 0 0 0 3 0 10401
+0 0 0 0 0 1 3 0 20401
+0 0 0 0 0 2 3 0 30401
+
+
+0 0 0 0 0 0 0 1 10102
+0 0 0 0 0 1 0 1 20102
+0 0 0 0 0 2 0 1 30102
+
+0 0 0 0 0 0 1 1 10202
+0 0 0 0 0 1 1 1 20202
+0 0 0 0 0 2 1 1 30202
+
+0 0 0 0 0 0 2 1 10302
+0 0 0 0 0 1 2 1 20302
+0 0 0 0 0 2 2 1 30302
+
+0 0 0 0 0 0 3 1 10402
+0 0 0 0 0 1 3 1 20402
+0 0 0 0 0 2 3 1 30402
+
+
+0 0 0 0 0 0 0 2 10103
+0 0 0 0 0 1 0 2 20103
+0 0 0 0 0 2 0 2 30103
+
+0 0 0 0 0 0 1 2 10203
+0 0 0 0 0 1 1 2 20203
+0 0 0 0 0 2 1 2 30203
+
+0 0 0 0 0 0 2 2 10303
+0 0 0 0 0 1 2 2 20303
+0 0 0 0 0 2 2 2 30303
+
+0 0 0 0 0 0 3 2 10403
+0 0 0 0 0 1 3 2 20403
+0 0 0 0 0 2 3 2 30403
+
+
+0 0 0 0 0 0 0 3 10104
+0 0 0 0 0 1 0 3 20104
+0 0 0 0 0 2 0 3 30104
+
+0 0 0 0 0 0 1 3 10204
+0 0 0 0 0 1 1 3 20204
+0 0 0 0 0 2 1 3 30204
+
+0 0 0 0 0 0 2 3 10304
+0 0 0 0 0 1 2 3 20304
+0 0 0 0 0 2 2 3 30304
+
+0 0 0 0 0 0 3 3 10404
+0 0 0 0 0 1 3 3 20404
+0 0 0 0 0 2 3 3 30404
+
+
+0 0 0 0 0 0 0 4 10105
+0 0 0 0 0 1 0 4 20105
+0 0 0 0 0 2 0 4 30105
+
+0 0 0 0 0 0 1 4 10205
+0 0 0 0 0 1 1 4 20205
+0 0 0 0 0 2 1 4 30205
+
+0 0 0 0 0 0 2 4 10305
+0 0 0 0 0 1 2 4 20305
+0 0 0 0 0 2 2 4 30305
+
+0 0 0 0 0 0 3 4 10405
+0 0 0 0 0 1 3 4 20405
+0 0 0 0 0 2 3 4 30405
+
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr3.xzp b/Carpet/CarpetTest/test/arraysizes/arr3.xzp
new file mode 100644
index 000000000..512c57878
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr3.xzp
@@ -0,0 +1,27 @@
+# CARPETTEST::arr3 x z (arr3)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 1 0 0 20101
+0 0 0 0 0 2 0 0 30101
+
+0 0 0 0 0 0 0 1 10102
+0 0 0 0 0 1 0 1 20102
+0 0 0 0 0 2 0 1 30102
+
+0 0 0 0 0 0 0 2 10103
+0 0 0 0 0 1 0 2 20103
+0 0 0 0 0 2 0 2 30103
+
+0 0 0 0 0 0 0 3 10104
+0 0 0 0 0 1 0 3 20104
+0 0 0 0 0 2 0 3 30104
+
+0 0 0 0 0 0 0 4 10105
+0 0 0 0 0 1 0 4 20105
+0 0 0 0 0 2 0 4 30105
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr3.yl b/Carpet/CarpetTest/test/arraysizes/arr3.yl
new file mode 100644
index 000000000..5be860d1c
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr3.yl
@@ -0,0 +1,11 @@
+# CARPETTEST::arr3 y (arr3)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 0 1 0 10201
+0 0 0 0 0 0 2 0 10301
+0 0 0 0 0 0 3 0 10401
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr3.yzp b/Carpet/CarpetTest/test/arraysizes/arr3.yzp
new file mode 100644
index 000000000..5729a9ff9
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr3.yzp
@@ -0,0 +1,32 @@
+# CARPETTEST::arr3 y z (arr3)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 0 1 0 10201
+0 0 0 0 0 0 2 0 10301
+0 0 0 0 0 0 3 0 10401
+
+0 0 0 0 0 0 0 1 10102
+0 0 0 0 0 0 1 1 10202
+0 0 0 0 0 0 2 1 10302
+0 0 0 0 0 0 3 1 10402
+
+0 0 0 0 0 0 0 2 10103
+0 0 0 0 0 0 1 2 10203
+0 0 0 0 0 0 2 2 10303
+0 0 0 0 0 0 3 2 10403
+
+0 0 0 0 0 0 0 3 10104
+0 0 0 0 0 0 1 3 10204
+0 0 0 0 0 0 2 3 10304
+0 0 0 0 0 0 3 3 10404
+
+0 0 0 0 0 0 0 4 10105
+0 0 0 0 0 0 1 4 10205
+0 0 0 0 0 0 2 4 10305
+0 0 0 0 0 0 3 4 10405
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/arr3.zl b/Carpet/CarpetTest/test/arraysizes/arr3.zl
new file mode 100644
index 000000000..7e9b12ae5
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/arr3.zl
@@ -0,0 +1,12 @@
+# CARPETTEST::arr3 z (arr3)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 0 0 1 10102
+0 0 0 0 0 0 0 2 10103
+0 0 0 0 0 0 0 3 10104
+0 0 0 0 0 0 0 4 10105
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/gf.xl b/Carpet/CarpetTest/test/arraysizes/gf.xl
new file mode 100644
index 000000000..158d50c67
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/gf.xl
@@ -0,0 +1,17 @@
+# CARPETTEST::gf x (gf)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 1 0 0 20101
+0 0 0 0 0 2 0 0 30101
+0 0 0 0 0 3 0 0 40101
+0 0 0 0 0 4 0 0 50101
+0 0 0 0 0 5 0 0 60101
+0 0 0 0 0 6 0 0 70101
+0 0 0 0 0 7 0 0 80101
+0 0 0 0 0 8 0 0 90101
+0 0 0 0 0 9 0 0 100101
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/gf.xyp b/Carpet/CarpetTest/test/arraysizes/gf.xyp
new file mode 100644
index 000000000..0597a4bb3
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/gf.xyp
@@ -0,0 +1,117 @@
+# CARPETTEST::gf x y (gf)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 1 0 0 20101
+0 0 0 0 0 2 0 0 30101
+0 0 0 0 0 3 0 0 40101
+0 0 0 0 0 4 0 0 50101
+0 0 0 0 0 5 0 0 60101
+0 0 0 0 0 6 0 0 70101
+0 0 0 0 0 7 0 0 80101
+0 0 0 0 0 8 0 0 90101
+0 0 0 0 0 9 0 0 100101
+
+0 0 0 0 0 0 1 0 10201
+0 0 0 0 0 1 1 0 20201
+0 0 0 0 0 2 1 0 30201
+0 0 0 0 0 3 1 0 40201
+0 0 0 0 0 4 1 0 50201
+0 0 0 0 0 5 1 0 60201
+0 0 0 0 0 6 1 0 70201
+0 0 0 0 0 7 1 0 80201
+0 0 0 0 0 8 1 0 90201
+0 0 0 0 0 9 1 0 100201
+
+0 0 0 0 0 0 2 0 10301
+0 0 0 0 0 1 2 0 20301
+0 0 0 0 0 2 2 0 30301
+0 0 0 0 0 3 2 0 40301
+0 0 0 0 0 4 2 0 50301
+0 0 0 0 0 5 2 0 60301
+0 0 0 0 0 6 2 0 70301
+0 0 0 0 0 7 2 0 80301
+0 0 0 0 0 8 2 0 90301
+0 0 0 0 0 9 2 0 100301
+
+0 0 0 0 0 0 3 0 10401
+0 0 0 0 0 1 3 0 20401
+0 0 0 0 0 2 3 0 30401
+0 0 0 0 0 3 3 0 40401
+0 0 0 0 0 4 3 0 50401
+0 0 0 0 0 5 3 0 60401
+0 0 0 0 0 6 3 0 70401
+0 0 0 0 0 7 3 0 80401
+0 0 0 0 0 8 3 0 90401
+0 0 0 0 0 9 3 0 100401
+
+0 0 0 0 0 0 4 0 10501
+0 0 0 0 0 1 4 0 20501
+0 0 0 0 0 2 4 0 30501
+0 0 0 0 0 3 4 0 40501
+0 0 0 0 0 4 4 0 50501
+0 0 0 0 0 5 4 0 60501
+0 0 0 0 0 6 4 0 70501
+0 0 0 0 0 7 4 0 80501
+0 0 0 0 0 8 4 0 90501
+0 0 0 0 0 9 4 0 100501
+
+0 0 0 0 0 0 5 0 10601
+0 0 0 0 0 1 5 0 20601
+0 0 0 0 0 2 5 0 30601
+0 0 0 0 0 3 5 0 40601
+0 0 0 0 0 4 5 0 50601
+0 0 0 0 0 5 5 0 60601
+0 0 0 0 0 6 5 0 70601
+0 0 0 0 0 7 5 0 80601
+0 0 0 0 0 8 5 0 90601
+0 0 0 0 0 9 5 0 100601
+
+0 0 0 0 0 0 6 0 10701
+0 0 0 0 0 1 6 0 20701
+0 0 0 0 0 2 6 0 30701
+0 0 0 0 0 3 6 0 40701
+0 0 0 0 0 4 6 0 50701
+0 0 0 0 0 5 6 0 60701
+0 0 0 0 0 6 6 0 70701
+0 0 0 0 0 7 6 0 80701
+0 0 0 0 0 8 6 0 90701
+0 0 0 0 0 9 6 0 100701
+
+0 0 0 0 0 0 7 0 10801
+0 0 0 0 0 1 7 0 20801
+0 0 0 0 0 2 7 0 30801
+0 0 0 0 0 3 7 0 40801
+0 0 0 0 0 4 7 0 50801
+0 0 0 0 0 5 7 0 60801
+0 0 0 0 0 6 7 0 70801
+0 0 0 0 0 7 7 0 80801
+0 0 0 0 0 8 7 0 90801
+0 0 0 0 0 9 7 0 100801
+
+0 0 0 0 0 0 8 0 10901
+0 0 0 0 0 1 8 0 20901
+0 0 0 0 0 2 8 0 30901
+0 0 0 0 0 3 8 0 40901
+0 0 0 0 0 4 8 0 50901
+0 0 0 0 0 5 8 0 60901
+0 0 0 0 0 6 8 0 70901
+0 0 0 0 0 7 8 0 80901
+0 0 0 0 0 8 8 0 90901
+0 0 0 0 0 9 8 0 100901
+
+0 0 0 0 0 0 9 0 11001
+0 0 0 0 0 1 9 0 21001
+0 0 0 0 0 2 9 0 31001
+0 0 0 0 0 3 9 0 41001
+0 0 0 0 0 4 9 0 51001
+0 0 0 0 0 5 9 0 61001
+0 0 0 0 0 6 9 0 71001
+0 0 0 0 0 7 9 0 81001
+0 0 0 0 0 8 9 0 91001
+0 0 0 0 0 9 9 0 101001
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/gf.xyzv b/Carpet/CarpetTest/test/arraysizes/gf.xyzv
new file mode 100644
index 000000000..b69cd8b78
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/gf.xyzv
@@ -0,0 +1,1117 @@
+# CARPETTEST::gf x y z (gf)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 1 0 0 20101
+0 0 0 0 0 2 0 0 30101
+0 0 0 0 0 3 0 0 40101
+0 0 0 0 0 4 0 0 50101
+0 0 0 0 0 5 0 0 60101
+0 0 0 0 0 6 0 0 70101
+0 0 0 0 0 7 0 0 80101
+0 0 0 0 0 8 0 0 90101
+0 0 0 0 0 9 0 0 100101
+
+0 0 0 0 0 0 1 0 10201
+0 0 0 0 0 1 1 0 20201
+0 0 0 0 0 2 1 0 30201
+0 0 0 0 0 3 1 0 40201
+0 0 0 0 0 4 1 0 50201
+0 0 0 0 0 5 1 0 60201
+0 0 0 0 0 6 1 0 70201
+0 0 0 0 0 7 1 0 80201
+0 0 0 0 0 8 1 0 90201
+0 0 0 0 0 9 1 0 100201
+
+0 0 0 0 0 0 2 0 10301
+0 0 0 0 0 1 2 0 20301
+0 0 0 0 0 2 2 0 30301
+0 0 0 0 0 3 2 0 40301
+0 0 0 0 0 4 2 0 50301
+0 0 0 0 0 5 2 0 60301
+0 0 0 0 0 6 2 0 70301
+0 0 0 0 0 7 2 0 80301
+0 0 0 0 0 8 2 0 90301
+0 0 0 0 0 9 2 0 100301
+
+0 0 0 0 0 0 3 0 10401
+0 0 0 0 0 1 3 0 20401
+0 0 0 0 0 2 3 0 30401
+0 0 0 0 0 3 3 0 40401
+0 0 0 0 0 4 3 0 50401
+0 0 0 0 0 5 3 0 60401
+0 0 0 0 0 6 3 0 70401
+0 0 0 0 0 7 3 0 80401
+0 0 0 0 0 8 3 0 90401
+0 0 0 0 0 9 3 0 100401
+
+0 0 0 0 0 0 4 0 10501
+0 0 0 0 0 1 4 0 20501
+0 0 0 0 0 2 4 0 30501
+0 0 0 0 0 3 4 0 40501
+0 0 0 0 0 4 4 0 50501
+0 0 0 0 0 5 4 0 60501
+0 0 0 0 0 6 4 0 70501
+0 0 0 0 0 7 4 0 80501
+0 0 0 0 0 8 4 0 90501
+0 0 0 0 0 9 4 0 100501
+
+0 0 0 0 0 0 5 0 10601
+0 0 0 0 0 1 5 0 20601
+0 0 0 0 0 2 5 0 30601
+0 0 0 0 0 3 5 0 40601
+0 0 0 0 0 4 5 0 50601
+0 0 0 0 0 5 5 0 60601
+0 0 0 0 0 6 5 0 70601
+0 0 0 0 0 7 5 0 80601
+0 0 0 0 0 8 5 0 90601
+0 0 0 0 0 9 5 0 100601
+
+0 0 0 0 0 0 6 0 10701
+0 0 0 0 0 1 6 0 20701
+0 0 0 0 0 2 6 0 30701
+0 0 0 0 0 3 6 0 40701
+0 0 0 0 0 4 6 0 50701
+0 0 0 0 0 5 6 0 60701
+0 0 0 0 0 6 6 0 70701
+0 0 0 0 0 7 6 0 80701
+0 0 0 0 0 8 6 0 90701
+0 0 0 0 0 9 6 0 100701
+
+0 0 0 0 0 0 7 0 10801
+0 0 0 0 0 1 7 0 20801
+0 0 0 0 0 2 7 0 30801
+0 0 0 0 0 3 7 0 40801
+0 0 0 0 0 4 7 0 50801
+0 0 0 0 0 5 7 0 60801
+0 0 0 0 0 6 7 0 70801
+0 0 0 0 0 7 7 0 80801
+0 0 0 0 0 8 7 0 90801
+0 0 0 0 0 9 7 0 100801
+
+0 0 0 0 0 0 8 0 10901
+0 0 0 0 0 1 8 0 20901
+0 0 0 0 0 2 8 0 30901
+0 0 0 0 0 3 8 0 40901
+0 0 0 0 0 4 8 0 50901
+0 0 0 0 0 5 8 0 60901
+0 0 0 0 0 6 8 0 70901
+0 0 0 0 0 7 8 0 80901
+0 0 0 0 0 8 8 0 90901
+0 0 0 0 0 9 8 0 100901
+
+0 0 0 0 0 0 9 0 11001
+0 0 0 0 0 1 9 0 21001
+0 0 0 0 0 2 9 0 31001
+0 0 0 0 0 3 9 0 41001
+0 0 0 0 0 4 9 0 51001
+0 0 0 0 0 5 9 0 61001
+0 0 0 0 0 6 9 0 71001
+0 0 0 0 0 7 9 0 81001
+0 0 0 0 0 8 9 0 91001
+0 0 0 0 0 9 9 0 101001
+
+
+0 0 0 0 0 0 0 1 10102
+0 0 0 0 0 1 0 1 20102
+0 0 0 0 0 2 0 1 30102
+0 0 0 0 0 3 0 1 40102
+0 0 0 0 0 4 0 1 50102
+0 0 0 0 0 5 0 1 60102
+0 0 0 0 0 6 0 1 70102
+0 0 0 0 0 7 0 1 80102
+0 0 0 0 0 8 0 1 90102
+0 0 0 0 0 9 0 1 100102
+
+0 0 0 0 0 0 1 1 10202
+0 0 0 0 0 1 1 1 20202
+0 0 0 0 0 2 1 1 30202
+0 0 0 0 0 3 1 1 40202
+0 0 0 0 0 4 1 1 50202
+0 0 0 0 0 5 1 1 60202
+0 0 0 0 0 6 1 1 70202
+0 0 0 0 0 7 1 1 80202
+0 0 0 0 0 8 1 1 90202
+0 0 0 0 0 9 1 1 100202
+
+0 0 0 0 0 0 2 1 10302
+0 0 0 0 0 1 2 1 20302
+0 0 0 0 0 2 2 1 30302
+0 0 0 0 0 3 2 1 40302
+0 0 0 0 0 4 2 1 50302
+0 0 0 0 0 5 2 1 60302
+0 0 0 0 0 6 2 1 70302
+0 0 0 0 0 7 2 1 80302
+0 0 0 0 0 8 2 1 90302
+0 0 0 0 0 9 2 1 100302
+
+0 0 0 0 0 0 3 1 10402
+0 0 0 0 0 1 3 1 20402
+0 0 0 0 0 2 3 1 30402
+0 0 0 0 0 3 3 1 40402
+0 0 0 0 0 4 3 1 50402
+0 0 0 0 0 5 3 1 60402
+0 0 0 0 0 6 3 1 70402
+0 0 0 0 0 7 3 1 80402
+0 0 0 0 0 8 3 1 90402
+0 0 0 0 0 9 3 1 100402
+
+0 0 0 0 0 0 4 1 10502
+0 0 0 0 0 1 4 1 20502
+0 0 0 0 0 2 4 1 30502
+0 0 0 0 0 3 4 1 40502
+0 0 0 0 0 4 4 1 50502
+0 0 0 0 0 5 4 1 60502
+0 0 0 0 0 6 4 1 70502
+0 0 0 0 0 7 4 1 80502
+0 0 0 0 0 8 4 1 90502
+0 0 0 0 0 9 4 1 100502
+
+0 0 0 0 0 0 5 1 10602
+0 0 0 0 0 1 5 1 20602
+0 0 0 0 0 2 5 1 30602
+0 0 0 0 0 3 5 1 40602
+0 0 0 0 0 4 5 1 50602
+0 0 0 0 0 5 5 1 60602
+0 0 0 0 0 6 5 1 70602
+0 0 0 0 0 7 5 1 80602
+0 0 0 0 0 8 5 1 90602
+0 0 0 0 0 9 5 1 100602
+
+0 0 0 0 0 0 6 1 10702
+0 0 0 0 0 1 6 1 20702
+0 0 0 0 0 2 6 1 30702
+0 0 0 0 0 3 6 1 40702
+0 0 0 0 0 4 6 1 50702
+0 0 0 0 0 5 6 1 60702
+0 0 0 0 0 6 6 1 70702
+0 0 0 0 0 7 6 1 80702
+0 0 0 0 0 8 6 1 90702
+0 0 0 0 0 9 6 1 100702
+
+0 0 0 0 0 0 7 1 10802
+0 0 0 0 0 1 7 1 20802
+0 0 0 0 0 2 7 1 30802
+0 0 0 0 0 3 7 1 40802
+0 0 0 0 0 4 7 1 50802
+0 0 0 0 0 5 7 1 60802
+0 0 0 0 0 6 7 1 70802
+0 0 0 0 0 7 7 1 80802
+0 0 0 0 0 8 7 1 90802
+0 0 0 0 0 9 7 1 100802
+
+0 0 0 0 0 0 8 1 10902
+0 0 0 0 0 1 8 1 20902
+0 0 0 0 0 2 8 1 30902
+0 0 0 0 0 3 8 1 40902
+0 0 0 0 0 4 8 1 50902
+0 0 0 0 0 5 8 1 60902
+0 0 0 0 0 6 8 1 70902
+0 0 0 0 0 7 8 1 80902
+0 0 0 0 0 8 8 1 90902
+0 0 0 0 0 9 8 1 100902
+
+0 0 0 0 0 0 9 1 11002
+0 0 0 0 0 1 9 1 21002
+0 0 0 0 0 2 9 1 31002
+0 0 0 0 0 3 9 1 41002
+0 0 0 0 0 4 9 1 51002
+0 0 0 0 0 5 9 1 61002
+0 0 0 0 0 6 9 1 71002
+0 0 0 0 0 7 9 1 81002
+0 0 0 0 0 8 9 1 91002
+0 0 0 0 0 9 9 1 101002
+
+
+0 0 0 0 0 0 0 2 10103
+0 0 0 0 0 1 0 2 20103
+0 0 0 0 0 2 0 2 30103
+0 0 0 0 0 3 0 2 40103
+0 0 0 0 0 4 0 2 50103
+0 0 0 0 0 5 0 2 60103
+0 0 0 0 0 6 0 2 70103
+0 0 0 0 0 7 0 2 80103
+0 0 0 0 0 8 0 2 90103
+0 0 0 0 0 9 0 2 100103
+
+0 0 0 0 0 0 1 2 10203
+0 0 0 0 0 1 1 2 20203
+0 0 0 0 0 2 1 2 30203
+0 0 0 0 0 3 1 2 40203
+0 0 0 0 0 4 1 2 50203
+0 0 0 0 0 5 1 2 60203
+0 0 0 0 0 6 1 2 70203
+0 0 0 0 0 7 1 2 80203
+0 0 0 0 0 8 1 2 90203
+0 0 0 0 0 9 1 2 100203
+
+0 0 0 0 0 0 2 2 10303
+0 0 0 0 0 1 2 2 20303
+0 0 0 0 0 2 2 2 30303
+0 0 0 0 0 3 2 2 40303
+0 0 0 0 0 4 2 2 50303
+0 0 0 0 0 5 2 2 60303
+0 0 0 0 0 6 2 2 70303
+0 0 0 0 0 7 2 2 80303
+0 0 0 0 0 8 2 2 90303
+0 0 0 0 0 9 2 2 100303
+
+0 0 0 0 0 0 3 2 10403
+0 0 0 0 0 1 3 2 20403
+0 0 0 0 0 2 3 2 30403
+0 0 0 0 0 3 3 2 40403
+0 0 0 0 0 4 3 2 50403
+0 0 0 0 0 5 3 2 60403
+0 0 0 0 0 6 3 2 70403
+0 0 0 0 0 7 3 2 80403
+0 0 0 0 0 8 3 2 90403
+0 0 0 0 0 9 3 2 100403
+
+0 0 0 0 0 0 4 2 10503
+0 0 0 0 0 1 4 2 20503
+0 0 0 0 0 2 4 2 30503
+0 0 0 0 0 3 4 2 40503
+0 0 0 0 0 4 4 2 50503
+0 0 0 0 0 5 4 2 60503
+0 0 0 0 0 6 4 2 70503
+0 0 0 0 0 7 4 2 80503
+0 0 0 0 0 8 4 2 90503
+0 0 0 0 0 9 4 2 100503
+
+0 0 0 0 0 0 5 2 10603
+0 0 0 0 0 1 5 2 20603
+0 0 0 0 0 2 5 2 30603
+0 0 0 0 0 3 5 2 40603
+0 0 0 0 0 4 5 2 50603
+0 0 0 0 0 5 5 2 60603
+0 0 0 0 0 6 5 2 70603
+0 0 0 0 0 7 5 2 80603
+0 0 0 0 0 8 5 2 90603
+0 0 0 0 0 9 5 2 100603
+
+0 0 0 0 0 0 6 2 10703
+0 0 0 0 0 1 6 2 20703
+0 0 0 0 0 2 6 2 30703
+0 0 0 0 0 3 6 2 40703
+0 0 0 0 0 4 6 2 50703
+0 0 0 0 0 5 6 2 60703
+0 0 0 0 0 6 6 2 70703
+0 0 0 0 0 7 6 2 80703
+0 0 0 0 0 8 6 2 90703
+0 0 0 0 0 9 6 2 100703
+
+0 0 0 0 0 0 7 2 10803
+0 0 0 0 0 1 7 2 20803
+0 0 0 0 0 2 7 2 30803
+0 0 0 0 0 3 7 2 40803
+0 0 0 0 0 4 7 2 50803
+0 0 0 0 0 5 7 2 60803
+0 0 0 0 0 6 7 2 70803
+0 0 0 0 0 7 7 2 80803
+0 0 0 0 0 8 7 2 90803
+0 0 0 0 0 9 7 2 100803
+
+0 0 0 0 0 0 8 2 10903
+0 0 0 0 0 1 8 2 20903
+0 0 0 0 0 2 8 2 30903
+0 0 0 0 0 3 8 2 40903
+0 0 0 0 0 4 8 2 50903
+0 0 0 0 0 5 8 2 60903
+0 0 0 0 0 6 8 2 70903
+0 0 0 0 0 7 8 2 80903
+0 0 0 0 0 8 8 2 90903
+0 0 0 0 0 9 8 2 100903
+
+0 0 0 0 0 0 9 2 11003
+0 0 0 0 0 1 9 2 21003
+0 0 0 0 0 2 9 2 31003
+0 0 0 0 0 3 9 2 41003
+0 0 0 0 0 4 9 2 51003
+0 0 0 0 0 5 9 2 61003
+0 0 0 0 0 6 9 2 71003
+0 0 0 0 0 7 9 2 81003
+0 0 0 0 0 8 9 2 91003
+0 0 0 0 0 9 9 2 101003
+
+
+0 0 0 0 0 0 0 3 10104
+0 0 0 0 0 1 0 3 20104
+0 0 0 0 0 2 0 3 30104
+0 0 0 0 0 3 0 3 40104
+0 0 0 0 0 4 0 3 50104
+0 0 0 0 0 5 0 3 60104
+0 0 0 0 0 6 0 3 70104
+0 0 0 0 0 7 0 3 80104
+0 0 0 0 0 8 0 3 90104
+0 0 0 0 0 9 0 3 100104
+
+0 0 0 0 0 0 1 3 10204
+0 0 0 0 0 1 1 3 20204
+0 0 0 0 0 2 1 3 30204
+0 0 0 0 0 3 1 3 40204
+0 0 0 0 0 4 1 3 50204
+0 0 0 0 0 5 1 3 60204
+0 0 0 0 0 6 1 3 70204
+0 0 0 0 0 7 1 3 80204
+0 0 0 0 0 8 1 3 90204
+0 0 0 0 0 9 1 3 100204
+
+0 0 0 0 0 0 2 3 10304
+0 0 0 0 0 1 2 3 20304
+0 0 0 0 0 2 2 3 30304
+0 0 0 0 0 3 2 3 40304
+0 0 0 0 0 4 2 3 50304
+0 0 0 0 0 5 2 3 60304
+0 0 0 0 0 6 2 3 70304
+0 0 0 0 0 7 2 3 80304
+0 0 0 0 0 8 2 3 90304
+0 0 0 0 0 9 2 3 100304
+
+0 0 0 0 0 0 3 3 10404
+0 0 0 0 0 1 3 3 20404
+0 0 0 0 0 2 3 3 30404
+0 0 0 0 0 3 3 3 40404
+0 0 0 0 0 4 3 3 50404
+0 0 0 0 0 5 3 3 60404
+0 0 0 0 0 6 3 3 70404
+0 0 0 0 0 7 3 3 80404
+0 0 0 0 0 8 3 3 90404
+0 0 0 0 0 9 3 3 100404
+
+0 0 0 0 0 0 4 3 10504
+0 0 0 0 0 1 4 3 20504
+0 0 0 0 0 2 4 3 30504
+0 0 0 0 0 3 4 3 40504
+0 0 0 0 0 4 4 3 50504
+0 0 0 0 0 5 4 3 60504
+0 0 0 0 0 6 4 3 70504
+0 0 0 0 0 7 4 3 80504
+0 0 0 0 0 8 4 3 90504
+0 0 0 0 0 9 4 3 100504
+
+0 0 0 0 0 0 5 3 10604
+0 0 0 0 0 1 5 3 20604
+0 0 0 0 0 2 5 3 30604
+0 0 0 0 0 3 5 3 40604
+0 0 0 0 0 4 5 3 50604
+0 0 0 0 0 5 5 3 60604
+0 0 0 0 0 6 5 3 70604
+0 0 0 0 0 7 5 3 80604
+0 0 0 0 0 8 5 3 90604
+0 0 0 0 0 9 5 3 100604
+
+0 0 0 0 0 0 6 3 10704
+0 0 0 0 0 1 6 3 20704
+0 0 0 0 0 2 6 3 30704
+0 0 0 0 0 3 6 3 40704
+0 0 0 0 0 4 6 3 50704
+0 0 0 0 0 5 6 3 60704
+0 0 0 0 0 6 6 3 70704
+0 0 0 0 0 7 6 3 80704
+0 0 0 0 0 8 6 3 90704
+0 0 0 0 0 9 6 3 100704
+
+0 0 0 0 0 0 7 3 10804
+0 0 0 0 0 1 7 3 20804
+0 0 0 0 0 2 7 3 30804
+0 0 0 0 0 3 7 3 40804
+0 0 0 0 0 4 7 3 50804
+0 0 0 0 0 5 7 3 60804
+0 0 0 0 0 6 7 3 70804
+0 0 0 0 0 7 7 3 80804
+0 0 0 0 0 8 7 3 90804
+0 0 0 0 0 9 7 3 100804
+
+0 0 0 0 0 0 8 3 10904
+0 0 0 0 0 1 8 3 20904
+0 0 0 0 0 2 8 3 30904
+0 0 0 0 0 3 8 3 40904
+0 0 0 0 0 4 8 3 50904
+0 0 0 0 0 5 8 3 60904
+0 0 0 0 0 6 8 3 70904
+0 0 0 0 0 7 8 3 80904
+0 0 0 0 0 8 8 3 90904
+0 0 0 0 0 9 8 3 100904
+
+0 0 0 0 0 0 9 3 11004
+0 0 0 0 0 1 9 3 21004
+0 0 0 0 0 2 9 3 31004
+0 0 0 0 0 3 9 3 41004
+0 0 0 0 0 4 9 3 51004
+0 0 0 0 0 5 9 3 61004
+0 0 0 0 0 6 9 3 71004
+0 0 0 0 0 7 9 3 81004
+0 0 0 0 0 8 9 3 91004
+0 0 0 0 0 9 9 3 101004
+
+
+0 0 0 0 0 0 0 4 10105
+0 0 0 0 0 1 0 4 20105
+0 0 0 0 0 2 0 4 30105
+0 0 0 0 0 3 0 4 40105
+0 0 0 0 0 4 0 4 50105
+0 0 0 0 0 5 0 4 60105
+0 0 0 0 0 6 0 4 70105
+0 0 0 0 0 7 0 4 80105
+0 0 0 0 0 8 0 4 90105
+0 0 0 0 0 9 0 4 100105
+
+0 0 0 0 0 0 1 4 10205
+0 0 0 0 0 1 1 4 20205
+0 0 0 0 0 2 1 4 30205
+0 0 0 0 0 3 1 4 40205
+0 0 0 0 0 4 1 4 50205
+0 0 0 0 0 5 1 4 60205
+0 0 0 0 0 6 1 4 70205
+0 0 0 0 0 7 1 4 80205
+0 0 0 0 0 8 1 4 90205
+0 0 0 0 0 9 1 4 100205
+
+0 0 0 0 0 0 2 4 10305
+0 0 0 0 0 1 2 4 20305
+0 0 0 0 0 2 2 4 30305
+0 0 0 0 0 3 2 4 40305
+0 0 0 0 0 4 2 4 50305
+0 0 0 0 0 5 2 4 60305
+0 0 0 0 0 6 2 4 70305
+0 0 0 0 0 7 2 4 80305
+0 0 0 0 0 8 2 4 90305
+0 0 0 0 0 9 2 4 100305
+
+0 0 0 0 0 0 3 4 10405
+0 0 0 0 0 1 3 4 20405
+0 0 0 0 0 2 3 4 30405
+0 0 0 0 0 3 3 4 40405
+0 0 0 0 0 4 3 4 50405
+0 0 0 0 0 5 3 4 60405
+0 0 0 0 0 6 3 4 70405
+0 0 0 0 0 7 3 4 80405
+0 0 0 0 0 8 3 4 90405
+0 0 0 0 0 9 3 4 100405
+
+0 0 0 0 0 0 4 4 10505
+0 0 0 0 0 1 4 4 20505
+0 0 0 0 0 2 4 4 30505
+0 0 0 0 0 3 4 4 40505
+0 0 0 0 0 4 4 4 50505
+0 0 0 0 0 5 4 4 60505
+0 0 0 0 0 6 4 4 70505
+0 0 0 0 0 7 4 4 80505
+0 0 0 0 0 8 4 4 90505
+0 0 0 0 0 9 4 4 100505
+
+0 0 0 0 0 0 5 4 10605
+0 0 0 0 0 1 5 4 20605
+0 0 0 0 0 2 5 4 30605
+0 0 0 0 0 3 5 4 40605
+0 0 0 0 0 4 5 4 50605
+0 0 0 0 0 5 5 4 60605
+0 0 0 0 0 6 5 4 70605
+0 0 0 0 0 7 5 4 80605
+0 0 0 0 0 8 5 4 90605
+0 0 0 0 0 9 5 4 100605
+
+0 0 0 0 0 0 6 4 10705
+0 0 0 0 0 1 6 4 20705
+0 0 0 0 0 2 6 4 30705
+0 0 0 0 0 3 6 4 40705
+0 0 0 0 0 4 6 4 50705
+0 0 0 0 0 5 6 4 60705
+0 0 0 0 0 6 6 4 70705
+0 0 0 0 0 7 6 4 80705
+0 0 0 0 0 8 6 4 90705
+0 0 0 0 0 9 6 4 100705
+
+0 0 0 0 0 0 7 4 10805
+0 0 0 0 0 1 7 4 20805
+0 0 0 0 0 2 7 4 30805
+0 0 0 0 0 3 7 4 40805
+0 0 0 0 0 4 7 4 50805
+0 0 0 0 0 5 7 4 60805
+0 0 0 0 0 6 7 4 70805
+0 0 0 0 0 7 7 4 80805
+0 0 0 0 0 8 7 4 90805
+0 0 0 0 0 9 7 4 100805
+
+0 0 0 0 0 0 8 4 10905
+0 0 0 0 0 1 8 4 20905
+0 0 0 0 0 2 8 4 30905
+0 0 0 0 0 3 8 4 40905
+0 0 0 0 0 4 8 4 50905
+0 0 0 0 0 5 8 4 60905
+0 0 0 0 0 6 8 4 70905
+0 0 0 0 0 7 8 4 80905
+0 0 0 0 0 8 8 4 90905
+0 0 0 0 0 9 8 4 100905
+
+0 0 0 0 0 0 9 4 11005
+0 0 0 0 0 1 9 4 21005
+0 0 0 0 0 2 9 4 31005
+0 0 0 0 0 3 9 4 41005
+0 0 0 0 0 4 9 4 51005
+0 0 0 0 0 5 9 4 61005
+0 0 0 0 0 6 9 4 71005
+0 0 0 0 0 7 9 4 81005
+0 0 0 0 0 8 9 4 91005
+0 0 0 0 0 9 9 4 101005
+
+
+0 0 0 0 0 0 0 5 10106
+0 0 0 0 0 1 0 5 20106
+0 0 0 0 0 2 0 5 30106
+0 0 0 0 0 3 0 5 40106
+0 0 0 0 0 4 0 5 50106
+0 0 0 0 0 5 0 5 60106
+0 0 0 0 0 6 0 5 70106
+0 0 0 0 0 7 0 5 80106
+0 0 0 0 0 8 0 5 90106
+0 0 0 0 0 9 0 5 100106
+
+0 0 0 0 0 0 1 5 10206
+0 0 0 0 0 1 1 5 20206
+0 0 0 0 0 2 1 5 30206
+0 0 0 0 0 3 1 5 40206
+0 0 0 0 0 4 1 5 50206
+0 0 0 0 0 5 1 5 60206
+0 0 0 0 0 6 1 5 70206
+0 0 0 0 0 7 1 5 80206
+0 0 0 0 0 8 1 5 90206
+0 0 0 0 0 9 1 5 100206
+
+0 0 0 0 0 0 2 5 10306
+0 0 0 0 0 1 2 5 20306
+0 0 0 0 0 2 2 5 30306
+0 0 0 0 0 3 2 5 40306
+0 0 0 0 0 4 2 5 50306
+0 0 0 0 0 5 2 5 60306
+0 0 0 0 0 6 2 5 70306
+0 0 0 0 0 7 2 5 80306
+0 0 0 0 0 8 2 5 90306
+0 0 0 0 0 9 2 5 100306
+
+0 0 0 0 0 0 3 5 10406
+0 0 0 0 0 1 3 5 20406
+0 0 0 0 0 2 3 5 30406
+0 0 0 0 0 3 3 5 40406
+0 0 0 0 0 4 3 5 50406
+0 0 0 0 0 5 3 5 60406
+0 0 0 0 0 6 3 5 70406
+0 0 0 0 0 7 3 5 80406
+0 0 0 0 0 8 3 5 90406
+0 0 0 0 0 9 3 5 100406
+
+0 0 0 0 0 0 4 5 10506
+0 0 0 0 0 1 4 5 20506
+0 0 0 0 0 2 4 5 30506
+0 0 0 0 0 3 4 5 40506
+0 0 0 0 0 4 4 5 50506
+0 0 0 0 0 5 4 5 60506
+0 0 0 0 0 6 4 5 70506
+0 0 0 0 0 7 4 5 80506
+0 0 0 0 0 8 4 5 90506
+0 0 0 0 0 9 4 5 100506
+
+0 0 0 0 0 0 5 5 10606
+0 0 0 0 0 1 5 5 20606
+0 0 0 0 0 2 5 5 30606
+0 0 0 0 0 3 5 5 40606
+0 0 0 0 0 4 5 5 50606
+0 0 0 0 0 5 5 5 60606
+0 0 0 0 0 6 5 5 70606
+0 0 0 0 0 7 5 5 80606
+0 0 0 0 0 8 5 5 90606
+0 0 0 0 0 9 5 5 100606
+
+0 0 0 0 0 0 6 5 10706
+0 0 0 0 0 1 6 5 20706
+0 0 0 0 0 2 6 5 30706
+0 0 0 0 0 3 6 5 40706
+0 0 0 0 0 4 6 5 50706
+0 0 0 0 0 5 6 5 60706
+0 0 0 0 0 6 6 5 70706
+0 0 0 0 0 7 6 5 80706
+0 0 0 0 0 8 6 5 90706
+0 0 0 0 0 9 6 5 100706
+
+0 0 0 0 0 0 7 5 10806
+0 0 0 0 0 1 7 5 20806
+0 0 0 0 0 2 7 5 30806
+0 0 0 0 0 3 7 5 40806
+0 0 0 0 0 4 7 5 50806
+0 0 0 0 0 5 7 5 60806
+0 0 0 0 0 6 7 5 70806
+0 0 0 0 0 7 7 5 80806
+0 0 0 0 0 8 7 5 90806
+0 0 0 0 0 9 7 5 100806
+
+0 0 0 0 0 0 8 5 10906
+0 0 0 0 0 1 8 5 20906
+0 0 0 0 0 2 8 5 30906
+0 0 0 0 0 3 8 5 40906
+0 0 0 0 0 4 8 5 50906
+0 0 0 0 0 5 8 5 60906
+0 0 0 0 0 6 8 5 70906
+0 0 0 0 0 7 8 5 80906
+0 0 0 0 0 8 8 5 90906
+0 0 0 0 0 9 8 5 100906
+
+0 0 0 0 0 0 9 5 11006
+0 0 0 0 0 1 9 5 21006
+0 0 0 0 0 2 9 5 31006
+0 0 0 0 0 3 9 5 41006
+0 0 0 0 0 4 9 5 51006
+0 0 0 0 0 5 9 5 61006
+0 0 0 0 0 6 9 5 71006
+0 0 0 0 0 7 9 5 81006
+0 0 0 0 0 8 9 5 91006
+0 0 0 0 0 9 9 5 101006
+
+
+0 0 0 0 0 0 0 6 10107
+0 0 0 0 0 1 0 6 20107
+0 0 0 0 0 2 0 6 30107
+0 0 0 0 0 3 0 6 40107
+0 0 0 0 0 4 0 6 50107
+0 0 0 0 0 5 0 6 60107
+0 0 0 0 0 6 0 6 70107
+0 0 0 0 0 7 0 6 80107
+0 0 0 0 0 8 0 6 90107
+0 0 0 0 0 9 0 6 100107
+
+0 0 0 0 0 0 1 6 10207
+0 0 0 0 0 1 1 6 20207
+0 0 0 0 0 2 1 6 30207
+0 0 0 0 0 3 1 6 40207
+0 0 0 0 0 4 1 6 50207
+0 0 0 0 0 5 1 6 60207
+0 0 0 0 0 6 1 6 70207
+0 0 0 0 0 7 1 6 80207
+0 0 0 0 0 8 1 6 90207
+0 0 0 0 0 9 1 6 100207
+
+0 0 0 0 0 0 2 6 10307
+0 0 0 0 0 1 2 6 20307
+0 0 0 0 0 2 2 6 30307
+0 0 0 0 0 3 2 6 40307
+0 0 0 0 0 4 2 6 50307
+0 0 0 0 0 5 2 6 60307
+0 0 0 0 0 6 2 6 70307
+0 0 0 0 0 7 2 6 80307
+0 0 0 0 0 8 2 6 90307
+0 0 0 0 0 9 2 6 100307
+
+0 0 0 0 0 0 3 6 10407
+0 0 0 0 0 1 3 6 20407
+0 0 0 0 0 2 3 6 30407
+0 0 0 0 0 3 3 6 40407
+0 0 0 0 0 4 3 6 50407
+0 0 0 0 0 5 3 6 60407
+0 0 0 0 0 6 3 6 70407
+0 0 0 0 0 7 3 6 80407
+0 0 0 0 0 8 3 6 90407
+0 0 0 0 0 9 3 6 100407
+
+0 0 0 0 0 0 4 6 10507
+0 0 0 0 0 1 4 6 20507
+0 0 0 0 0 2 4 6 30507
+0 0 0 0 0 3 4 6 40507
+0 0 0 0 0 4 4 6 50507
+0 0 0 0 0 5 4 6 60507
+0 0 0 0 0 6 4 6 70507
+0 0 0 0 0 7 4 6 80507
+0 0 0 0 0 8 4 6 90507
+0 0 0 0 0 9 4 6 100507
+
+0 0 0 0 0 0 5 6 10607
+0 0 0 0 0 1 5 6 20607
+0 0 0 0 0 2 5 6 30607
+0 0 0 0 0 3 5 6 40607
+0 0 0 0 0 4 5 6 50607
+0 0 0 0 0 5 5 6 60607
+0 0 0 0 0 6 5 6 70607
+0 0 0 0 0 7 5 6 80607
+0 0 0 0 0 8 5 6 90607
+0 0 0 0 0 9 5 6 100607
+
+0 0 0 0 0 0 6 6 10707
+0 0 0 0 0 1 6 6 20707
+0 0 0 0 0 2 6 6 30707
+0 0 0 0 0 3 6 6 40707
+0 0 0 0 0 4 6 6 50707
+0 0 0 0 0 5 6 6 60707
+0 0 0 0 0 6 6 6 70707
+0 0 0 0 0 7 6 6 80707
+0 0 0 0 0 8 6 6 90707
+0 0 0 0 0 9 6 6 100707
+
+0 0 0 0 0 0 7 6 10807
+0 0 0 0 0 1 7 6 20807
+0 0 0 0 0 2 7 6 30807
+0 0 0 0 0 3 7 6 40807
+0 0 0 0 0 4 7 6 50807
+0 0 0 0 0 5 7 6 60807
+0 0 0 0 0 6 7 6 70807
+0 0 0 0 0 7 7 6 80807
+0 0 0 0 0 8 7 6 90807
+0 0 0 0 0 9 7 6 100807
+
+0 0 0 0 0 0 8 6 10907
+0 0 0 0 0 1 8 6 20907
+0 0 0 0 0 2 8 6 30907
+0 0 0 0 0 3 8 6 40907
+0 0 0 0 0 4 8 6 50907
+0 0 0 0 0 5 8 6 60907
+0 0 0 0 0 6 8 6 70907
+0 0 0 0 0 7 8 6 80907
+0 0 0 0 0 8 8 6 90907
+0 0 0 0 0 9 8 6 100907
+
+0 0 0 0 0 0 9 6 11007
+0 0 0 0 0 1 9 6 21007
+0 0 0 0 0 2 9 6 31007
+0 0 0 0 0 3 9 6 41007
+0 0 0 0 0 4 9 6 51007
+0 0 0 0 0 5 9 6 61007
+0 0 0 0 0 6 9 6 71007
+0 0 0 0 0 7 9 6 81007
+0 0 0 0 0 8 9 6 91007
+0 0 0 0 0 9 9 6 101007
+
+
+0 0 0 0 0 0 0 7 10108
+0 0 0 0 0 1 0 7 20108
+0 0 0 0 0 2 0 7 30108
+0 0 0 0 0 3 0 7 40108
+0 0 0 0 0 4 0 7 50108
+0 0 0 0 0 5 0 7 60108
+0 0 0 0 0 6 0 7 70108
+0 0 0 0 0 7 0 7 80108
+0 0 0 0 0 8 0 7 90108
+0 0 0 0 0 9 0 7 100108
+
+0 0 0 0 0 0 1 7 10208
+0 0 0 0 0 1 1 7 20208
+0 0 0 0 0 2 1 7 30208
+0 0 0 0 0 3 1 7 40208
+0 0 0 0 0 4 1 7 50208
+0 0 0 0 0 5 1 7 60208
+0 0 0 0 0 6 1 7 70208
+0 0 0 0 0 7 1 7 80208
+0 0 0 0 0 8 1 7 90208
+0 0 0 0 0 9 1 7 100208
+
+0 0 0 0 0 0 2 7 10308
+0 0 0 0 0 1 2 7 20308
+0 0 0 0 0 2 2 7 30308
+0 0 0 0 0 3 2 7 40308
+0 0 0 0 0 4 2 7 50308
+0 0 0 0 0 5 2 7 60308
+0 0 0 0 0 6 2 7 70308
+0 0 0 0 0 7 2 7 80308
+0 0 0 0 0 8 2 7 90308
+0 0 0 0 0 9 2 7 100308
+
+0 0 0 0 0 0 3 7 10408
+0 0 0 0 0 1 3 7 20408
+0 0 0 0 0 2 3 7 30408
+0 0 0 0 0 3 3 7 40408
+0 0 0 0 0 4 3 7 50408
+0 0 0 0 0 5 3 7 60408
+0 0 0 0 0 6 3 7 70408
+0 0 0 0 0 7 3 7 80408
+0 0 0 0 0 8 3 7 90408
+0 0 0 0 0 9 3 7 100408
+
+0 0 0 0 0 0 4 7 10508
+0 0 0 0 0 1 4 7 20508
+0 0 0 0 0 2 4 7 30508
+0 0 0 0 0 3 4 7 40508
+0 0 0 0 0 4 4 7 50508
+0 0 0 0 0 5 4 7 60508
+0 0 0 0 0 6 4 7 70508
+0 0 0 0 0 7 4 7 80508
+0 0 0 0 0 8 4 7 90508
+0 0 0 0 0 9 4 7 100508
+
+0 0 0 0 0 0 5 7 10608
+0 0 0 0 0 1 5 7 20608
+0 0 0 0 0 2 5 7 30608
+0 0 0 0 0 3 5 7 40608
+0 0 0 0 0 4 5 7 50608
+0 0 0 0 0 5 5 7 60608
+0 0 0 0 0 6 5 7 70608
+0 0 0 0 0 7 5 7 80608
+0 0 0 0 0 8 5 7 90608
+0 0 0 0 0 9 5 7 100608
+
+0 0 0 0 0 0 6 7 10708
+0 0 0 0 0 1 6 7 20708
+0 0 0 0 0 2 6 7 30708
+0 0 0 0 0 3 6 7 40708
+0 0 0 0 0 4 6 7 50708
+0 0 0 0 0 5 6 7 60708
+0 0 0 0 0 6 6 7 70708
+0 0 0 0 0 7 6 7 80708
+0 0 0 0 0 8 6 7 90708
+0 0 0 0 0 9 6 7 100708
+
+0 0 0 0 0 0 7 7 10808
+0 0 0 0 0 1 7 7 20808
+0 0 0 0 0 2 7 7 30808
+0 0 0 0 0 3 7 7 40808
+0 0 0 0 0 4 7 7 50808
+0 0 0 0 0 5 7 7 60808
+0 0 0 0 0 6 7 7 70808
+0 0 0 0 0 7 7 7 80808
+0 0 0 0 0 8 7 7 90808
+0 0 0 0 0 9 7 7 100808
+
+0 0 0 0 0 0 8 7 10908
+0 0 0 0 0 1 8 7 20908
+0 0 0 0 0 2 8 7 30908
+0 0 0 0 0 3 8 7 40908
+0 0 0 0 0 4 8 7 50908
+0 0 0 0 0 5 8 7 60908
+0 0 0 0 0 6 8 7 70908
+0 0 0 0 0 7 8 7 80908
+0 0 0 0 0 8 8 7 90908
+0 0 0 0 0 9 8 7 100908
+
+0 0 0 0 0 0 9 7 11008
+0 0 0 0 0 1 9 7 21008
+0 0 0 0 0 2 9 7 31008
+0 0 0 0 0 3 9 7 41008
+0 0 0 0 0 4 9 7 51008
+0 0 0 0 0 5 9 7 61008
+0 0 0 0 0 6 9 7 71008
+0 0 0 0 0 7 9 7 81008
+0 0 0 0 0 8 9 7 91008
+0 0 0 0 0 9 9 7 101008
+
+
+0 0 0 0 0 0 0 8 10109
+0 0 0 0 0 1 0 8 20109
+0 0 0 0 0 2 0 8 30109
+0 0 0 0 0 3 0 8 40109
+0 0 0 0 0 4 0 8 50109
+0 0 0 0 0 5 0 8 60109
+0 0 0 0 0 6 0 8 70109
+0 0 0 0 0 7 0 8 80109
+0 0 0 0 0 8 0 8 90109
+0 0 0 0 0 9 0 8 100109
+
+0 0 0 0 0 0 1 8 10209
+0 0 0 0 0 1 1 8 20209
+0 0 0 0 0 2 1 8 30209
+0 0 0 0 0 3 1 8 40209
+0 0 0 0 0 4 1 8 50209
+0 0 0 0 0 5 1 8 60209
+0 0 0 0 0 6 1 8 70209
+0 0 0 0 0 7 1 8 80209
+0 0 0 0 0 8 1 8 90209
+0 0 0 0 0 9 1 8 100209
+
+0 0 0 0 0 0 2 8 10309
+0 0 0 0 0 1 2 8 20309
+0 0 0 0 0 2 2 8 30309
+0 0 0 0 0 3 2 8 40309
+0 0 0 0 0 4 2 8 50309
+0 0 0 0 0 5 2 8 60309
+0 0 0 0 0 6 2 8 70309
+0 0 0 0 0 7 2 8 80309
+0 0 0 0 0 8 2 8 90309
+0 0 0 0 0 9 2 8 100309
+
+0 0 0 0 0 0 3 8 10409
+0 0 0 0 0 1 3 8 20409
+0 0 0 0 0 2 3 8 30409
+0 0 0 0 0 3 3 8 40409
+0 0 0 0 0 4 3 8 50409
+0 0 0 0 0 5 3 8 60409
+0 0 0 0 0 6 3 8 70409
+0 0 0 0 0 7 3 8 80409
+0 0 0 0 0 8 3 8 90409
+0 0 0 0 0 9 3 8 100409
+
+0 0 0 0 0 0 4 8 10509
+0 0 0 0 0 1 4 8 20509
+0 0 0 0 0 2 4 8 30509
+0 0 0 0 0 3 4 8 40509
+0 0 0 0 0 4 4 8 50509
+0 0 0 0 0 5 4 8 60509
+0 0 0 0 0 6 4 8 70509
+0 0 0 0 0 7 4 8 80509
+0 0 0 0 0 8 4 8 90509
+0 0 0 0 0 9 4 8 100509
+
+0 0 0 0 0 0 5 8 10609
+0 0 0 0 0 1 5 8 20609
+0 0 0 0 0 2 5 8 30609
+0 0 0 0 0 3 5 8 40609
+0 0 0 0 0 4 5 8 50609
+0 0 0 0 0 5 5 8 60609
+0 0 0 0 0 6 5 8 70609
+0 0 0 0 0 7 5 8 80609
+0 0 0 0 0 8 5 8 90609
+0 0 0 0 0 9 5 8 100609
+
+0 0 0 0 0 0 6 8 10709
+0 0 0 0 0 1 6 8 20709
+0 0 0 0 0 2 6 8 30709
+0 0 0 0 0 3 6 8 40709
+0 0 0 0 0 4 6 8 50709
+0 0 0 0 0 5 6 8 60709
+0 0 0 0 0 6 6 8 70709
+0 0 0 0 0 7 6 8 80709
+0 0 0 0 0 8 6 8 90709
+0 0 0 0 0 9 6 8 100709
+
+0 0 0 0 0 0 7 8 10809
+0 0 0 0 0 1 7 8 20809
+0 0 0 0 0 2 7 8 30809
+0 0 0 0 0 3 7 8 40809
+0 0 0 0 0 4 7 8 50809
+0 0 0 0 0 5 7 8 60809
+0 0 0 0 0 6 7 8 70809
+0 0 0 0 0 7 7 8 80809
+0 0 0 0 0 8 7 8 90809
+0 0 0 0 0 9 7 8 100809
+
+0 0 0 0 0 0 8 8 10909
+0 0 0 0 0 1 8 8 20909
+0 0 0 0 0 2 8 8 30909
+0 0 0 0 0 3 8 8 40909
+0 0 0 0 0 4 8 8 50909
+0 0 0 0 0 5 8 8 60909
+0 0 0 0 0 6 8 8 70909
+0 0 0 0 0 7 8 8 80909
+0 0 0 0 0 8 8 8 90909
+0 0 0 0 0 9 8 8 100909
+
+0 0 0 0 0 0 9 8 11009
+0 0 0 0 0 1 9 8 21009
+0 0 0 0 0 2 9 8 31009
+0 0 0 0 0 3 9 8 41009
+0 0 0 0 0 4 9 8 51009
+0 0 0 0 0 5 9 8 61009
+0 0 0 0 0 6 9 8 71009
+0 0 0 0 0 7 9 8 81009
+0 0 0 0 0 8 9 8 91009
+0 0 0 0 0 9 9 8 101009
+
+
+0 0 0 0 0 0 0 9 10110
+0 0 0 0 0 1 0 9 20110
+0 0 0 0 0 2 0 9 30110
+0 0 0 0 0 3 0 9 40110
+0 0 0 0 0 4 0 9 50110
+0 0 0 0 0 5 0 9 60110
+0 0 0 0 0 6 0 9 70110
+0 0 0 0 0 7 0 9 80110
+0 0 0 0 0 8 0 9 90110
+0 0 0 0 0 9 0 9 100110
+
+0 0 0 0 0 0 1 9 10210
+0 0 0 0 0 1 1 9 20210
+0 0 0 0 0 2 1 9 30210
+0 0 0 0 0 3 1 9 40210
+0 0 0 0 0 4 1 9 50210
+0 0 0 0 0 5 1 9 60210
+0 0 0 0 0 6 1 9 70210
+0 0 0 0 0 7 1 9 80210
+0 0 0 0 0 8 1 9 90210
+0 0 0 0 0 9 1 9 100210
+
+0 0 0 0 0 0 2 9 10310
+0 0 0 0 0 1 2 9 20310
+0 0 0 0 0 2 2 9 30310
+0 0 0 0 0 3 2 9 40310
+0 0 0 0 0 4 2 9 50310
+0 0 0 0 0 5 2 9 60310
+0 0 0 0 0 6 2 9 70310
+0 0 0 0 0 7 2 9 80310
+0 0 0 0 0 8 2 9 90310
+0 0 0 0 0 9 2 9 100310
+
+0 0 0 0 0 0 3 9 10410
+0 0 0 0 0 1 3 9 20410
+0 0 0 0 0 2 3 9 30410
+0 0 0 0 0 3 3 9 40410
+0 0 0 0 0 4 3 9 50410
+0 0 0 0 0 5 3 9 60410
+0 0 0 0 0 6 3 9 70410
+0 0 0 0 0 7 3 9 80410
+0 0 0 0 0 8 3 9 90410
+0 0 0 0 0 9 3 9 100410
+
+0 0 0 0 0 0 4 9 10510
+0 0 0 0 0 1 4 9 20510
+0 0 0 0 0 2 4 9 30510
+0 0 0 0 0 3 4 9 40510
+0 0 0 0 0 4 4 9 50510
+0 0 0 0 0 5 4 9 60510
+0 0 0 0 0 6 4 9 70510
+0 0 0 0 0 7 4 9 80510
+0 0 0 0 0 8 4 9 90510
+0 0 0 0 0 9 4 9 100510
+
+0 0 0 0 0 0 5 9 10610
+0 0 0 0 0 1 5 9 20610
+0 0 0 0 0 2 5 9 30610
+0 0 0 0 0 3 5 9 40610
+0 0 0 0 0 4 5 9 50610
+0 0 0 0 0 5 5 9 60610
+0 0 0 0 0 6 5 9 70610
+0 0 0 0 0 7 5 9 80610
+0 0 0 0 0 8 5 9 90610
+0 0 0 0 0 9 5 9 100610
+
+0 0 0 0 0 0 6 9 10710
+0 0 0 0 0 1 6 9 20710
+0 0 0 0 0 2 6 9 30710
+0 0 0 0 0 3 6 9 40710
+0 0 0 0 0 4 6 9 50710
+0 0 0 0 0 5 6 9 60710
+0 0 0 0 0 6 6 9 70710
+0 0 0 0 0 7 6 9 80710
+0 0 0 0 0 8 6 9 90710
+0 0 0 0 0 9 6 9 100710
+
+0 0 0 0 0 0 7 9 10810
+0 0 0 0 0 1 7 9 20810
+0 0 0 0 0 2 7 9 30810
+0 0 0 0 0 3 7 9 40810
+0 0 0 0 0 4 7 9 50810
+0 0 0 0 0 5 7 9 60810
+0 0 0 0 0 6 7 9 70810
+0 0 0 0 0 7 7 9 80810
+0 0 0 0 0 8 7 9 90810
+0 0 0 0 0 9 7 9 100810
+
+0 0 0 0 0 0 8 9 10910
+0 0 0 0 0 1 8 9 20910
+0 0 0 0 0 2 8 9 30910
+0 0 0 0 0 3 8 9 40910
+0 0 0 0 0 4 8 9 50910
+0 0 0 0 0 5 8 9 60910
+0 0 0 0 0 6 8 9 70910
+0 0 0 0 0 7 8 9 80910
+0 0 0 0 0 8 8 9 90910
+0 0 0 0 0 9 8 9 100910
+
+0 0 0 0 0 0 9 9 11010
+0 0 0 0 0 1 9 9 21010
+0 0 0 0 0 2 9 9 31010
+0 0 0 0 0 3 9 9 41010
+0 0 0 0 0 4 9 9 51010
+0 0 0 0 0 5 9 9 61010
+0 0 0 0 0 6 9 9 71010
+0 0 0 0 0 7 9 9 81010
+0 0 0 0 0 8 9 9 91010
+0 0 0 0 0 9 9 9 101010
+
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/gf.xzp b/Carpet/CarpetTest/test/arraysizes/gf.xzp
new file mode 100644
index 000000000..d1389962b
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/gf.xzp
@@ -0,0 +1,117 @@
+# CARPETTEST::gf x z (gf)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 1 0 0 20101
+0 0 0 0 0 2 0 0 30101
+0 0 0 0 0 3 0 0 40101
+0 0 0 0 0 4 0 0 50101
+0 0 0 0 0 5 0 0 60101
+0 0 0 0 0 6 0 0 70101
+0 0 0 0 0 7 0 0 80101
+0 0 0 0 0 8 0 0 90101
+0 0 0 0 0 9 0 0 100101
+
+0 0 0 0 0 0 0 1 10102
+0 0 0 0 0 1 0 1 20102
+0 0 0 0 0 2 0 1 30102
+0 0 0 0 0 3 0 1 40102
+0 0 0 0 0 4 0 1 50102
+0 0 0 0 0 5 0 1 60102
+0 0 0 0 0 6 0 1 70102
+0 0 0 0 0 7 0 1 80102
+0 0 0 0 0 8 0 1 90102
+0 0 0 0 0 9 0 1 100102
+
+0 0 0 0 0 0 0 2 10103
+0 0 0 0 0 1 0 2 20103
+0 0 0 0 0 2 0 2 30103
+0 0 0 0 0 3 0 2 40103
+0 0 0 0 0 4 0 2 50103
+0 0 0 0 0 5 0 2 60103
+0 0 0 0 0 6 0 2 70103
+0 0 0 0 0 7 0 2 80103
+0 0 0 0 0 8 0 2 90103
+0 0 0 0 0 9 0 2 100103
+
+0 0 0 0 0 0 0 3 10104
+0 0 0 0 0 1 0 3 20104
+0 0 0 0 0 2 0 3 30104
+0 0 0 0 0 3 0 3 40104
+0 0 0 0 0 4 0 3 50104
+0 0 0 0 0 5 0 3 60104
+0 0 0 0 0 6 0 3 70104
+0 0 0 0 0 7 0 3 80104
+0 0 0 0 0 8 0 3 90104
+0 0 0 0 0 9 0 3 100104
+
+0 0 0 0 0 0 0 4 10105
+0 0 0 0 0 1 0 4 20105
+0 0 0 0 0 2 0 4 30105
+0 0 0 0 0 3 0 4 40105
+0 0 0 0 0 4 0 4 50105
+0 0 0 0 0 5 0 4 60105
+0 0 0 0 0 6 0 4 70105
+0 0 0 0 0 7 0 4 80105
+0 0 0 0 0 8 0 4 90105
+0 0 0 0 0 9 0 4 100105
+
+0 0 0 0 0 0 0 5 10106
+0 0 0 0 0 1 0 5 20106
+0 0 0 0 0 2 0 5 30106
+0 0 0 0 0 3 0 5 40106
+0 0 0 0 0 4 0 5 50106
+0 0 0 0 0 5 0 5 60106
+0 0 0 0 0 6 0 5 70106
+0 0 0 0 0 7 0 5 80106
+0 0 0 0 0 8 0 5 90106
+0 0 0 0 0 9 0 5 100106
+
+0 0 0 0 0 0 0 6 10107
+0 0 0 0 0 1 0 6 20107
+0 0 0 0 0 2 0 6 30107
+0 0 0 0 0 3 0 6 40107
+0 0 0 0 0 4 0 6 50107
+0 0 0 0 0 5 0 6 60107
+0 0 0 0 0 6 0 6 70107
+0 0 0 0 0 7 0 6 80107
+0 0 0 0 0 8 0 6 90107
+0 0 0 0 0 9 0 6 100107
+
+0 0 0 0 0 0 0 7 10108
+0 0 0 0 0 1 0 7 20108
+0 0 0 0 0 2 0 7 30108
+0 0 0 0 0 3 0 7 40108
+0 0 0 0 0 4 0 7 50108
+0 0 0 0 0 5 0 7 60108
+0 0 0 0 0 6 0 7 70108
+0 0 0 0 0 7 0 7 80108
+0 0 0 0 0 8 0 7 90108
+0 0 0 0 0 9 0 7 100108
+
+0 0 0 0 0 0 0 8 10109
+0 0 0 0 0 1 0 8 20109
+0 0 0 0 0 2 0 8 30109
+0 0 0 0 0 3 0 8 40109
+0 0 0 0 0 4 0 8 50109
+0 0 0 0 0 5 0 8 60109
+0 0 0 0 0 6 0 8 70109
+0 0 0 0 0 7 0 8 80109
+0 0 0 0 0 8 0 8 90109
+0 0 0 0 0 9 0 8 100109
+
+0 0 0 0 0 0 0 9 10110
+0 0 0 0 0 1 0 9 20110
+0 0 0 0 0 2 0 9 30110
+0 0 0 0 0 3 0 9 40110
+0 0 0 0 0 4 0 9 50110
+0 0 0 0 0 5 0 9 60110
+0 0 0 0 0 6 0 9 70110
+0 0 0 0 0 7 0 9 80110
+0 0 0 0 0 8 0 9 90110
+0 0 0 0 0 9 0 9 100110
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/gf.yl b/Carpet/CarpetTest/test/arraysizes/gf.yl
new file mode 100644
index 000000000..4a6518845
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/gf.yl
@@ -0,0 +1,17 @@
+# CARPETTEST::gf y (gf)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 0 1 0 10201
+0 0 0 0 0 0 2 0 10301
+0 0 0 0 0 0 3 0 10401
+0 0 0 0 0 0 4 0 10501
+0 0 0 0 0 0 5 0 10601
+0 0 0 0 0 0 6 0 10701
+0 0 0 0 0 0 7 0 10801
+0 0 0 0 0 0 8 0 10901
+0 0 0 0 0 0 9 0 11001
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/gf.yzp b/Carpet/CarpetTest/test/arraysizes/gf.yzp
new file mode 100644
index 000000000..0ae900432
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/gf.yzp
@@ -0,0 +1,117 @@
+# CARPETTEST::gf y z (gf)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 0 1 0 10201
+0 0 0 0 0 0 2 0 10301
+0 0 0 0 0 0 3 0 10401
+0 0 0 0 0 0 4 0 10501
+0 0 0 0 0 0 5 0 10601
+0 0 0 0 0 0 6 0 10701
+0 0 0 0 0 0 7 0 10801
+0 0 0 0 0 0 8 0 10901
+0 0 0 0 0 0 9 0 11001
+
+0 0 0 0 0 0 0 1 10102
+0 0 0 0 0 0 1 1 10202
+0 0 0 0 0 0 2 1 10302
+0 0 0 0 0 0 3 1 10402
+0 0 0 0 0 0 4 1 10502
+0 0 0 0 0 0 5 1 10602
+0 0 0 0 0 0 6 1 10702
+0 0 0 0 0 0 7 1 10802
+0 0 0 0 0 0 8 1 10902
+0 0 0 0 0 0 9 1 11002
+
+0 0 0 0 0 0 0 2 10103
+0 0 0 0 0 0 1 2 10203
+0 0 0 0 0 0 2 2 10303
+0 0 0 0 0 0 3 2 10403
+0 0 0 0 0 0 4 2 10503
+0 0 0 0 0 0 5 2 10603
+0 0 0 0 0 0 6 2 10703
+0 0 0 0 0 0 7 2 10803
+0 0 0 0 0 0 8 2 10903
+0 0 0 0 0 0 9 2 11003
+
+0 0 0 0 0 0 0 3 10104
+0 0 0 0 0 0 1 3 10204
+0 0 0 0 0 0 2 3 10304
+0 0 0 0 0 0 3 3 10404
+0 0 0 0 0 0 4 3 10504
+0 0 0 0 0 0 5 3 10604
+0 0 0 0 0 0 6 3 10704
+0 0 0 0 0 0 7 3 10804
+0 0 0 0 0 0 8 3 10904
+0 0 0 0 0 0 9 3 11004
+
+0 0 0 0 0 0 0 4 10105
+0 0 0 0 0 0 1 4 10205
+0 0 0 0 0 0 2 4 10305
+0 0 0 0 0 0 3 4 10405
+0 0 0 0 0 0 4 4 10505
+0 0 0 0 0 0 5 4 10605
+0 0 0 0 0 0 6 4 10705
+0 0 0 0 0 0 7 4 10805
+0 0 0 0 0 0 8 4 10905
+0 0 0 0 0 0 9 4 11005
+
+0 0 0 0 0 0 0 5 10106
+0 0 0 0 0 0 1 5 10206
+0 0 0 0 0 0 2 5 10306
+0 0 0 0 0 0 3 5 10406
+0 0 0 0 0 0 4 5 10506
+0 0 0 0 0 0 5 5 10606
+0 0 0 0 0 0 6 5 10706
+0 0 0 0 0 0 7 5 10806
+0 0 0 0 0 0 8 5 10906
+0 0 0 0 0 0 9 5 11006
+
+0 0 0 0 0 0 0 6 10107
+0 0 0 0 0 0 1 6 10207
+0 0 0 0 0 0 2 6 10307
+0 0 0 0 0 0 3 6 10407
+0 0 0 0 0 0 4 6 10507
+0 0 0 0 0 0 5 6 10607
+0 0 0 0 0 0 6 6 10707
+0 0 0 0 0 0 7 6 10807
+0 0 0 0 0 0 8 6 10907
+0 0 0 0 0 0 9 6 11007
+
+0 0 0 0 0 0 0 7 10108
+0 0 0 0 0 0 1 7 10208
+0 0 0 0 0 0 2 7 10308
+0 0 0 0 0 0 3 7 10408
+0 0 0 0 0 0 4 7 10508
+0 0 0 0 0 0 5 7 10608
+0 0 0 0 0 0 6 7 10708
+0 0 0 0 0 0 7 7 10808
+0 0 0 0 0 0 8 7 10908
+0 0 0 0 0 0 9 7 11008
+
+0 0 0 0 0 0 0 8 10109
+0 0 0 0 0 0 1 8 10209
+0 0 0 0 0 0 2 8 10309
+0 0 0 0 0 0 3 8 10409
+0 0 0 0 0 0 4 8 10509
+0 0 0 0 0 0 5 8 10609
+0 0 0 0 0 0 6 8 10709
+0 0 0 0 0 0 7 8 10809
+0 0 0 0 0 0 8 8 10909
+0 0 0 0 0 0 9 8 11009
+
+0 0 0 0 0 0 0 9 10110
+0 0 0 0 0 0 1 9 10210
+0 0 0 0 0 0 2 9 10310
+0 0 0 0 0 0 3 9 10410
+0 0 0 0 0 0 4 9 10510
+0 0 0 0 0 0 5 9 10610
+0 0 0 0 0 0 6 9 10710
+0 0 0 0 0 0 7 9 10810
+0 0 0 0 0 0 8 9 10910
+0 0 0 0 0 0 9 9 11010
+
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/gf.zl b/Carpet/CarpetTest/test/arraysizes/gf.zl
new file mode 100644
index 000000000..9c2434cc5
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/gf.zl
@@ -0,0 +1,17 @@
+# CARPETTEST::gf z (gf)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 10101
+0 0 0 0 0 0 0 1 10102
+0 0 0 0 0 0 0 2 10103
+0 0 0 0 0 0 0 3 10104
+0 0 0 0 0 0 0 4 10105
+0 0 0 0 0 0 0 5 10106
+0 0 0 0 0 0 0 6 10107
+0 0 0 0 0 0 0 7 10108
+0 0 0 0 0 0 0 8 10109
+0 0 0 0 0 0 0 9 10110
+
+
diff --git a/Carpet/CarpetTest/test/arraysizes/sc.xl b/Carpet/CarpetTest/test/arraysizes/sc.xl
new file mode 100644
index 000000000..1cdac03cf
--- /dev/null
+++ b/Carpet/CarpetTest/test/arraysizes/sc.xl
@@ -0,0 +1,8 @@
+# CARPETTEST::sc x (sc)
+#
+# iteration 0
+# time level 0 refinement level 0 component 0 multigrid level 0
+# column format: it tl rl c ml x y z data
+0 0 0 0 0 0 0 0 42
+
+