aboutsummaryrefslogtreecommitdiff
path: root/param.ccl
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-07-29 13:28:18 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-07-29 13:28:18 +0000
commit955d7ea6026d47a2d05457187612649de61efd4e (patch)
tree230d2d89204c016fd830339f10488ce37b32146e /param.ccl
parent9ff4c59ad241f4dd9a6ae875f503d723a8bc0ddc (diff)
- inherit from IO
- add new parameters BH_diagnostics_directory h_directory which both default to IO::out_dir - change code to use these for output directories - change code to auto-create output directories if they don't already exist git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@1157 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'param.ccl')
-rw-r--r--param.ccl166
1 files changed, 97 insertions, 69 deletions
diff --git a/param.ccl b/param.ccl
index 6b24d1d..18637e7 100644
--- a/param.ccl
+++ b/param.ccl
@@ -21,6 +21,11 @@ USES KEYWORD rotation_axis
shares: ADMBase
USES KEYWORD metric_type
+# we need to look at IO::out_dir to set the default for our own
+# output directory parameters
+shares: IO
+USES STRING out_dir
+
# all remaining parameters are private to this thorn
private:
@@ -147,7 +152,7 @@ keyword initial_guess_method[11] \
string initial_guess__read_from_named_file__file_name[11] \
"file name to read initial guess from"
{
-.+ :: "file name to read initial guess from"
+".+" :: "file name to read initial guess from"
} "h.gp"
# parameters for initial_guess_method = "Kerr/Kerr"
@@ -256,6 +261,55 @@ real initial_guess__coord_ellipsoid__z_radius[11] "z radius of ellipsoid"
########################################
#
+# parameters for BH diagnostics
+#
+
+#
+# The file format is currently hard-wired to a simple ASCII format:
+# - there is one file per AH
+# - after some header comments (starting with '#'),
+# there is one line per successful-AH-finding
+# (there is *no* line if we fail to find an AH)
+# - each line contains various tab-separated fields, as described by
+# the header comment
+#
+boolean output_BH_diagnostics \
+ "should we output BH diagnostics to a data file for each AH found?"
+{
+} "true"
+
+#
+# These file names are actually just "base" file names, with the full
+# file names being given by a printf() format "%s/%s.ah%d.%s",
+# where
+# - the first %s is the BH diagnostics directory as set by the
+# BH_diagnostics_directory parameter; this is automagically created
+# if it doesn't already exist
+# - the second %s is the base file name,
+# - the %d is the global Cactus time iteration number cctk_iteration,
+# - the third %s is the file name extension as set by the
+# BH_diagnostics_file_name_extension parameter
+#
+string BH_diagnostics_directory "directory for BH diagnostics output file(s)"
+{
+".+" :: "any nonempty string"
+"^$" :: "an empty string to default to IO::out_dir"
+} ""
+string BH_diagnostics_base_file_name \
+ "base file name for BH diagnostics output file(s)"
+{
+".+" :: "any nonempty string"
+} "BH_diagnostics"
+
+string BH_diagnostics_file_name_extension \
+ "extension for BH diagnostics data files"
+{
+".+" :: "any nonempty string"
+} "gp"
+
+########################################
+
+#
# parameters for horizon-shape and other similar data files
#
@@ -300,40 +354,49 @@ boolean output_ghost_zones_for_h \
string ASCII_gnuplot_file_name_extension \
"extension for ASCII (gnuplot) data files"
{
-.+ :: "any nonempty string"
+".+" :: "any nonempty string"
} "gp"
string HDF5_file_name_extension "extension for HDF5 data files"
{
-.+ :: "any nonempty string"
+".+" :: "any nonempty string"
} "hdf5"
#
# These file names are actually just "base" file names, with the full
-# file names being given by a printf() format "%s.t%d.ah%d[.it%d].%s",
+# file names being given by a printf() format "%s/%s.t%d.ah%d[.it%d].%s",
# where
-# - the first %s is the base file name,
+# - the first %s is the output directory as set by the h_directory
+# parameter (this same directory is used for all of these files);
+# this is automagically created if it doesn't already exist
+# - the second %s is the base file name,
# - the first %d is the global Cactus time iteration number cctk_iteration,
# - the second %d is the apparent horizon number,
# - the optional third %d is the horizon finder iteration number
-# - the second %s is the file name extension
+# - the third %s is the file name extension
# {ASCII,HDF5}_data_file_name_extension
#
+string h_directory \
+ "directory for horizon shape and other similar output (or input) file(s)"
+{
+".+" :: "any nonempty string"
+"^$" :: "an empty string to default to IO::out_dir"
+} ""
string h_base_file_name \
"base file name for horizon shape h input/output file(s)"
{
-.+ :: "any nonempty string"
+".+" :: "any nonempty string"
} "h"
string Theta_base_file_name "base file name for Theta(h) output file(s)"
{
-.+ :: "any nonempty string"
+".+" :: "any nonempty string"
} "Theta"
string Delta_h_base_file_name \
"base file name for horizon-shape-update Delta_h output file(s)"
{
-.+ :: "any nonempty string"
+".+" :: "any nonempty string"
} "Delta_h"
#
@@ -342,10 +405,13 @@ string Delta_h_base_file_name \
# for each patch to specify some of the patch metadata.
#
# If we write them, the control file names are given by a printf() format
-# "%s.ah%d.%s", where
-# - the first %s is h_base_file_name
+# "%s/%s.ah%d.%s", where
+# - the first %s is the output directory as set by the h_directory
+# parameter (this same directory is used for all of these files);
+# this is automagically created if it doesn't already exist
+# - the second %s is h_base_file_name
# - the %d is the apparent horizon number
-# - the second %s is the file name extension OpenDX_control_file_name_extension
+# - the third %s is the file name extension OpenDX_control_file_name_extension
#
boolean output_OpenDX_control_files \
"should we output OpenDX control files to allow reading of AHFinderDirect \
@@ -355,53 +421,12 @@ boolean output_OpenDX_control_files \
string OpenDX_control_file_name_extension \
"file name extension for OpenDX control files"
{
-.+ :: "any nonempty string"
+".+" :: "any nonempty string"
} "dx"
########################################
#
-# parameters for BH diagnostics
-#
-
-#
-# The file format is currently hard-wired to a simple ASCII format:
-# - there is one file per AH
-# - after some header comments (starting with '#'),
-# there is one line per successful-AH-finding
-# (there is *no* line if we fail to find an AH)
-# - each line contains various tab-separated fields, as described by
-# the header comment
-#
-boolean output_BH_diagnostics \
- "should we output BH diagnostics to a data file for each AH found?"
-{
-} "true"
-
-#
-# These file names are actually just "base" file names, with the full
-# file names being given by a printf() format "%s.ah%d.%s",
-# where
-# - the first %s is the base file name,
-# - the %d is the global Cactus time iteration number cctk_iteration,
-# - the second %s is the file name extension as set by the
-# BH_diagnostics_file_name_extension parameter
-#
-string BH_diagnostics_base_file_name \
- "base file name for BH diagnostics output file(s)"
-{
-.+ :: "any nonempty string"
-} "BH_diagnostics"
-
-string BH_diagnostics_file_name_extension \
- "extension for BH diagnostics data files"
-{
-.+ :: "any nonempty string"
-} "gp"
-
-########################################
-
-#
# parameters mainly for debugging
#
@@ -421,7 +446,7 @@ boolean debugging_output_at_each_Newton_iteration \
string Jacobian_base_file_name "base file name for Jacobian output file(s)"
{
-.+ :: "any valid file name"
+".+" :: "any valid file name"
} "Jacobian.dat"
################################################################################
@@ -516,7 +541,7 @@ boolean set_new_style_mask \
#
string old_style_mask_gridfn_name "name of the old-style mask grid function"
{
-.+ :: "any valid Cactus grid function name"
+".+" :: "any valid Cactus grid function name"
} "SpaceMask::emask"
real old_style_mask_inside_value \
"set the old-style mask to this value in the 'inside' region"
@@ -539,30 +564,30 @@ real old_style_mask_outside_value \
#
string new_style_mask_gridfn_name "name of the new-style mask grid function"
{
-.+ :: "any valid Cactus grid function name"
+".+" :: "any valid Cactus grid function name"
} "SpaceMask::space_mask"
string new_style_mask_bitfield_name \
"name of the new-style mask bit field ('type') as registered with SpaceMask"
{
-.+ :: "any valid bit field ('type') name registered with the SpaceMask thorn"
+".+" :: "any valid bit field ('type') name registered with the SpaceMask thorn"
} "mask"
string new_style_mask_inside_value \
"set the specified bit field of the new-style mask to this named state \
at grid points in the 'inside' region"
{
-.+ :: "any state name registered with the SpaceMask thorn"
+".+" :: "any state name registered with the SpaceMask thorn"
} "inside"
string new_style_mask_buffer_value \
"set the specified bit field of the new-style mask to this named state \
at grid points in the 'buffer' region"
{
-.+ :: "any state name registered with the SpaceMask thorn"
+".+" :: "any state name registered with the SpaceMask thorn"
} "buffer"
string new_style_mask_outside_value \
"set the specified bit field of the new-style mask to this named state \
at grid points in the 'outside' region"
{
-.+ :: "any state name registered with the SpaceMask thorn"
+".+" :: "any state name registered with the SpaceMask thorn"
} "outside"
################################################################################
@@ -969,13 +994,13 @@ boolean test_all_Jacobian_compute_methods \
string coordinate_system_name \
"name under which the coordinate system is registered in Cactus"
{
-.+ :: "any string (in practice it should be nonempty)"
+".+" :: "any nonempty string"
} "cart3d"
string geometry_interpolator_name \
"name under which the geometry interpolation operator is registered in Cactus"
{
-.+ :: "any string"
+".+" :: "any nonempty string"
} "Hermite polynomial interpolation"
#
@@ -988,7 +1013,8 @@ string geometry_interpolator_name \
string geometry_interpolator_pars \
"parameters for the geometry interpolator"
{
-.* :: "any string acceptable to Util_TableSetFromString() and to the interpolator"
+".*" :: \
+ "any string acceptable to Util_TableSetFromString() and to the interpolator"
} "order=3 \
boundary_off_centering_tolerance={1.0e-10 1.0e-10 1.0e-10 1.0e-10 1.0e-10 1.0e-10} \
boundary_extrapolation_tolerance={0.0 0.0 0.0 0.0 0.0 0.0}"
@@ -1089,13 +1115,14 @@ boolean check_that_geometry_is_finite \
string interpatch_interpolator_name \
"name under which the interpatch interpolation operator is registered in Cactus"
{
-.+ :: "any string (in practice it should be nonempty)"
+".+" :: "any string (in practice it should be nonempty)"
} "Lagrange polynomial interpolation"
string interpatch_interpolator_pars \
"parameters for the interpatch interpolator"
{
-.* :: "any string acceptable to Util_TableSetFromString() and to the interpolator"
+".*" :: \
+ "any string acceptable to Util_TableSetFromString() and to the interpolator"
} "order=5"
################################################################################
@@ -1116,14 +1143,15 @@ string interpatch_interpolator_pars \
string surface_interpolator_name \
"name under which the surface interpolation operator is registered in Cactus"
{
-"" :: "the empty string if this interpolator isn't going to be used"
-.+ :: "any string (in practice it should be nonempty)"
+"^$" :: "the empty string if this interpolator isn't going to be used"
+".+" :: "any string (in practice it should be nonempty)"
} "Lagrange polynomial interpolation"
string surface_interpolator_pars \
"parameters for the surface interpolator"
{
-.* :: "any string acceptable to Util_TableSetFromString() and to the interpolator"
+".*" :: \
+ "any string acceptable to Util_TableSetFromString() and to the interpolator"
} "order=3 \
boundary_off_centering_tolerance={1.0e-10 1.0e-10 1.0e-10 1.0e-10} \
boundary_extrapolation_tolerance={0.0 0.0 0.0 0.0}"