From 955d7ea6026d47a2d05457187612649de61efd4e Mon Sep 17 00:00:00 2001 From: jthorn Date: Tue, 29 Jul 2003 13:28:18 +0000 Subject: - 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 --- param.ccl | 166 ++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 97 insertions(+), 69 deletions(-) (limited to 'param.ccl') 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" @@ -255,6 +260,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,52 +421,11 @@ 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}" -- cgit v1.2.3