Hello,
the request for output of a variable in Carpet (CarpetIOBasic, CarpetIOScalar, CarpetIOASCII) can be done in a parfile as, e.g.,
IOASCII::out1D_vars = "THORN_NAME::VARIABLE_GROUP_NAME"
or
IOASCII::out1D_vars = "IMPLEMENTATION_NAME::VARIABLE_GROUP_NAME"
or
IOASCII::out1D_vars = "THORN_NAME::VARIABLE_NAME"
or
IOASCII::out1D_vars = "IMPLEMENTATION_NAME::VARIABLE_NAME"
Any of the above should work (correct me if I am wrong), but I found an exception:
When requesting output as
IOASCII::out1D_vars = "TestOutput::testoutput"
for a *public:* or *protected:* variable group of the type:
CCTK_REAL testoutput[nvar] type=GF TimeLevels=1 Dim=3 { output } ""
where nvar is an integer parameter and the thorn name is TestOutput and differs from the implementation name, Carpet complains that
WARNING[L1,P0] (Cactus): CCTK_TraverseString: invalid group/variable name 'TestOutput::testoutput' in traversed string 'TestOutput::testoutput' WARNING level 0 in thorn IOUtil processor 0 host mbaiotti2-2.local (line 140 of /Users/baiotti/Cactus.fresh-checkout/arrangements/CactusBase/IOUtil/src/Utils.c):
-> error while parsing parameter 'IOBasic::outInfo_vars'
For *private:* arrays of variables it works.
I attach an example thorn and parfile.
Comments?
Luca