toward meta 2.0 renames and cleanups

parent cc3424a5
......@@ -4,10 +4,8 @@
"meta_description":[
"The values of a quantity that should be conserved, along a sequence of frames ",
"(i.e., a trajectory). A frame is one section_single_configuration_calculation), ",
"for example the total energy in the NVE ensemble. If not all frames have a ",
"value the indices of the frames that have a value are stored in ",
"frame_sequence_conserved_quantity_frames."],
"meta_parent_section":"section_frame_sequence",
"for example the total energy in the NVE ensemble."],
"meta_parent_section":"section_single_configuration_calculation",
"meta_data_type":"float",
"meta_units":"J"
}
{
"meta_name":"frame_sequence_conserved_quantity",
"meta_type":"type-value",
"meta_deprecated":true,
"meta_description":[
"(deprecated) Array containing the values of a quantity that should be ",
"conserved, along a sequence of frames (i.e., a trajectory). A frame is one ",
"section_single_configuration_calculation), for example the total energy in the ",
"NVE ensemble. If not all frames have a value the indices of the frames that ",
"have a value are stored in frame_sequence_conserved_quantity_frames."],
"meta_parent_section":"section_frame_sequence",
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_conserved_quantity_evaluations_in_sequence"
}],
"meta_units":"J"
}
{
"meta_name":"frame_sequence_conserved_quantity_frames",
"meta_type":"type-value",
"meta_description":[
"Array containing the strictly increasing indices of the frames the ",
"frame_sequence_conserved_quantity values refers to. If not given it defaults to ",
"the trivial mapping 0,1,..."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"int",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_conserved_quantity_evaluations_in_sequence"
}]
}
......@@ -2,15 +2,14 @@
"meta_name":"frame_sequence_conserved_quantity_stats",
"meta_type":"type-value",
"meta_description":[
"Average value of energy-like frame_sequence_conserved_quantity, and its ",
"standard deviation, over this sequence of frames (i.e., a trajectory, a frame ",
"is one section_single_configuration_calculation)."],
"Average value of energy-like conserved_quantity, its ",
"standard deviation, and number of samples over this sequence of frames."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_fixed":2
"meta_dimension_fixed":3
}],
"meta_units":"J"
}
{
"meta_name":"frame_sequence_kinetic_energy",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Array containing the values of the kinetic energy along this ",
"sequence of frames (i.e., a trajectory, a frame is one ",
"section_single_configuration_calculation). If not all frames have a value the ",
"indices of the frames that have a value are stored in ",
"frame_sequence_kinetic_energy_frames."],
"meta_parent_section":"section_frame_sequence",
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_kinetic_energies_in_sequence"
}],
"meta_units":"J"
}
{
"meta_name":"frame_sequence_kinetic_energy_frames",
"meta_type":"type-value",
"meta_description":[
"Array containing the strictly increasing indices referring to the frames of ",
"frame_sequence_kinetic_energy. If not given it defaults to the trivial mapping ",
"0,1,..."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"int",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_kinetic_energies_in_sequence"
}]
}
......@@ -2,14 +2,13 @@
"meta_name":"frame_sequence_kinetic_energy_stats",
"meta_type":"type-value",
"meta_description":[
"Average kinetic energy and its standard deviation over this sequence of frames ",
"(i.e., a trajectory, a frame is one section_single_configuration_calculation)."],
"Average kinetic energy, its standard deviation and number of samples over this sequence of frames."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_fixed":2
"meta_dimension_fixed":3
}],
"meta_units":"J"
}
{
"meta_name":"frame_sequence_local_frames_ref",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Reference from each frame (a frame is one ",
"section_single_configuration_calculation) in this section_frame_sequence to the ",
"corresponding section_single_configuration_calculation. Each ",
"section_frame_sequence binds a collection of ",
"section_single_configuration_calculation, because they all belong to, e.g., a ",
"molecular dynamics trajectory, or geometry optimization. The full information ",
"for each frame is stored in section_single_configuration_calculation and this ",
"metadata establishes the link for each frame."],
"meta_parent_section":"section_frame_sequence",
"meta_data_type":"reference",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_frames_in_sequence"
}],
"meta_referenced_section":"section_single_configuration_calculation"
}
{
"meta_name":"frame_sequence_potential_energy",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Array containing the value of the potential energy along this ",
"sequence of frames (i.e., a trajectory, a frame is one ",
"section_single_configuration_calculation). This is equal to energy_total of the ",
"corresponding section_single_configuration_calculation and repeated here in a ",
"summary array for easier access. If not all frames have a value the indices of ",
"the frames that have a value are stored in ",
"frame_sequence_potential_energy_frames."],
"meta_parent_section":"section_frame_sequence",
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_potential_energies_in_sequence"
}],
"meta_units":"J"
}
{
"meta_name":"frame_sequence_potential_energy_frames",
"meta_type":"type-value",
"meta_description":[
"Array containing the strictly increasing indices referring to the frames of ",
"frame_sequence_potential_energy. If not given it defaults to the trivial ",
"mapping 0,1,..."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"int",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_potential_energies_in_sequence"
}]
}
......@@ -2,15 +2,14 @@
"meta_name":"frame_sequence_potential_energy_stats",
"meta_type":"type-value",
"meta_description":[
"Average potential energy and its standard deviation over this sequence of ",
"frames (i.e., a trajectory, a frame is one ",
"section_single_configuration_calculation)."],
"Average potential energy, its standard deviation and number of samples over this sequence of ",
"frames."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_fixed":2
"meta_dimension_fixed":3
}],
"meta_units":"J"
}
{
"meta_name":"frame_sequence_pressure",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Array containing the values of the pressure (one third of the ",
"trace of the stress tensor) along this sequence of frames (a frame is one ",
"section_single_configuration_calculation). If not all frames have a value the ",
"indices of the frames that have a value are stored in ",
"frame_sequence_pressure_frames."],
"meta_parent_section":"section_frame_sequence",
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_pressure_evaluations_in_sequence"
}],
"meta_units":"Pa"
}
{
"meta_name":"frame_sequence_pressure_frames",
"meta_type":"type-value",
"meta_description":[
"Array containing the strictly increasing indices referring to the frames of ",
"frame_sequence_pressure. If not given it defaults to the trivial mapping ",
"0,1,..."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"int",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_pressure_evaluations_in_sequence"
}]
}
......@@ -2,15 +2,15 @@
"meta_name":"frame_sequence_pressure_stats",
"meta_type":"type-value",
"meta_description":[
"Average pressure (one third of the trace of the stress tensor) and standard ",
"deviation over this sequence of frames (i.e., a trajectory, a frame is one ",
"Average pressure (one third of the trace of the stress tensor), standard ",
"deviation and number of samples over this sequence of frames (i.e., a trajectory, a frame is one ",
"section_single_configuration_calculation)."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_fixed":2
"meta_dimension_fixed":3
}],
"meta_units":"Pa"
}
{
"meta_name":"frame_sequence_temperature",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Array containing the values of the instantaneous temperature (a ",
"quantity, proportional to frame_sequence_kinetic_energy, whose ensemble average ",
"equals the thermodynamic temperature) along this sequence of frames (i.e., a ",
"trajectory, a frame is one section_single_configuration_calculation). If not ",
"all frames have a value the indices of the frames that have a value are stored ",
"in frame_sequence_temperature_frames."],
"meta_parent_section":"section_frame_sequence",
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_temperatures_in_sequence"
}],
"meta_units":"K"
}
{
"meta_name":"frame_sequence_temperature_frames",
"meta_type":"type-value",
"meta_description":[
"Array containing the strictly increasing indices referring to the frames of ",
"frame_sequence_temperature. If not given it defaults to the trivial mapping ",
"0,1,..."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"int",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_temperatures_in_sequence"
}]
}
......@@ -2,14 +2,13 @@
"meta_name":"frame_sequence_temperature_stats",
"meta_type":"type-value",
"meta_description":[
"Average temperature and its standard deviation over this sequence of frames ",
"(i.e., a trajectory, a frame is one section_single_configuration_calculation)."],
"Average temperature, its standard deviation and number for samples over this sequence of frames ."],
"meta_parent_section":"section_frame_sequence",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_fixed":2
"meta_dimension_fixed":3
}],
"meta_units":"K"
}
{
"meta_name":"frame_sequence_to_sampling_ref",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Reference from the present section_frame_sequence to the ",
"section_sampling_method, that defines the parameters used in this sequence of ",
"frames (i.e., a trajectory, a frame is one ",
"section_single_configuration_calculation)."],
"meta_parent_section":"section_frame_sequence",
"meta_data_type":"reference",
"meta_referenced_section":"section_sampling_method"
}
{
"meta_name":"frame_sequence_user_quantity",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Array containing the values of the user-defined quantity defined ",
"in frame_sequence_user_quantity_name, evaluated along this sequence of frames ",
"(i.e., trajectory, a frame is one section_single_configuration_calculation). If ",
"not all frames have a value the indices of the frames that have a value are ",
"stored in frame_sequence_kinetic_energy_frames. If not all frames have a value ",
"the indices of the frames that have a value are stored in ",
"frame_sequence_kinetic_energy_frames."],
"meta_parent_section":"section_frame_sequence_user_quantity",
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_frame_sequence_user_quantity_evaluations_in_sequence"
},{
"meta_dimension_symbolic":"number_of_frame_sequence_user_quantity_components"
}]
}
{
"meta_name":"frame_sequence_user_quantity_frames",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Array containing the strictly increasing indices referring to the ",
"frames of frame_sequence_user_quantity. If not given it defaults to the trivial ",
"mapping 0,1,..."],
"meta_parent_section":"section_frame_sequence_user_quantity",
"meta_data_type":"int",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_frame_sequence_user_quantity_evaluations_in_sequence"
}]
}
{
"meta_name":"frame_sequence_user_quantity_name",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Descriptive name of a user-defined quantity, sampled along this ",
"sequence of frames (i.e., a trajectory, a frame is one ",
"section_single_configuration_calculation). Dedicated metadata are created for ",
"the conserved energy-like quantity (frame_sequence_conserved_quantity), the ",
"kinetic and potential energies (frame_sequence_kinetic_energy and ",
"frame_sequence_potential_energy), the instantaneous temperature ",
"(frame_sequence_temperature) and pressure (frame_sequence_pressure). This ",
"metadata should be used for other quantities that are monitored along a ",
"sequence of frames."],
"meta_parent_section":"section_frame_sequence_user_quantity",
"meta_data_type":"string"
}
{
"meta_name":"frame_sequence_user_quantity_stats",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Average of frame_sequence_user_quantity and its standard deviation ",
"in this sequence of frames (i.e., a trajectory, a frame is one ",
"section_single_configuration_calculation)."],
"meta_parent_section":"section_frame_sequence_user_quantity",
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_fixed":2
},{
"meta_dimension_symbolic":"number_of_frame_sequence_user_quantity_components"
}]
}
{
"meta_name":"number_of_frame_sequence_user_quantity_components",
"meta_type":"type-dimension",
"meta_description":[
"(deprecated) Gives the number of user-defined quantity defined by ",
"frame_sequence_user_quantity_name and monitored in a sequence of frames. A ",
"sequence is a trajectory, which can have number_of_frames_in_sequence each ",
"representing one section_single_configuration_calculation section.\n",
"\n",
"Dedicated metadata monitored along a sequence of frames are created for the ",
"conserved energy-like quantity (frame_sequence_conserved_quantity), the kinetic ",
"and potential energies ([frame_sequence_kinetic_energy and ",
"frame_sequence_potential_energy](frame_sequence_kinetic_energy and ",
"frame_sequence_potential_energy)), the instantaneous temperature ",
"(frame_sequence_temperature) and the pressure ",
"(frame_sequence_pressure)."],
"meta_parent_section":"section_frame_sequence_user_quantity"
}
{
"meta_name":"number_of_frame_sequence_user_quantity_evaluations_in_sequence",
"meta_type":"type-dimension",
"meta_description":[
"(deprecated) Gives the number of user defined quantity evaluations along a ",
"sequence of frame_sequence_user_quantity frames. A sequence is a trajectory, ",
"which can have number_of_frames_in_sequence each representing one ",
"section_single_configuration_calculation ",
"section."],
"meta_parent_section":"section_frame_sequence_user_quantity"
}
......@@ -2,17 +2,7 @@
"meta_name":"number_of_user_quantity_components",
"meta_type":"type-dimension",
"meta_description":[
"Gives the number of user-defined quantity defined by ",
"frame_sequence_user_quantity_name and monitored in a sequence of frames. A ",
"sequence is a trajectory, which can have number_of_frames_in_sequence each ",
"representing one section_single_configuration_calculation section.\n",
"\n",
"Dedicated metadata monitored along a sequence of frames are created for the ",
"conserved energy-like quantity (frame_sequence_conserved_quantity), the kinetic ",
"and potential energies ([frame_sequence_kinetic_energy and ",
"frame_sequence_potential_energy](frame_sequence_kinetic_energy and ",
"frame_sequence_potential_energy)), the instantaneous temperature ",
"(frame_sequence_temperature) and the pressure ",
"(frame_sequence_pressure)."],
"meta_parent_section":"section_user_quantity_definition"
"Gives the number of components of user-defined quantity stored in user_defined_quantity. It should be the value defined in ",
"user_quantity_components of user_quantity_definition_ref."],
"meta_parent_section":"section_user_quantity"
}
{
"meta_name":"number_of_user_quantity_stats_components",
"meta_type":"type-dimension",
"meta_description":[
"Gives the number of components of user-defined quantity stored in user_defined_quantity. It should be the value defined in ",
"user_quantity_components of user_quantity_stats_to_user_quantity_definition_ref."],
"meta_parent_section":"section_user_quantity_stats"
}
......@@ -4,7 +4,7 @@
"meta_description":[
"Section collecting some user-defined quantities evaluated along a sequence of ",
"frame."],
"meta_parent_section":"section_frame_sequence",
"meta_parent_section":"section_run",
"meta_repeats":true,
"meta_context_identifier":[]
}
{
"meta_name":"section_frame_sequence_user_quantity",
"meta_name":"section_user_quantity_stats",
"meta_type":"type-section",
"meta_description":[
"(deprecated) Section collecting some user-defined quantities evaluated along a ",
"sequence of frame."],
"Section collecting the stats of the user-defined quantity ",
"user_quantity_stats_to_user_quantity_definition_ref evaluated along this ",
"sequence of frames."],
"meta_parent_section":"section_frame_sequence",
"meta_repeats":true,
"meta_context_identifier":[]
......
{
"meta_name":"single_configuration_to_calculation_method_ref",
"meta_type":"type-value",
"meta_description":[
"(deprecated) Reference to the method used for the calculation in ",
"section_single_configuration_calculation."],
"meta_parent_section":"section_single_configuration_calculation",
"meta_data_type":"reference",
"meta_referenced_section":"section_method"
}
{
"meta_name":"user_quantity_components",
"meta_type":"type-value",
"meta_description":[
"Gives the number of components of the user-defined quantity defined by ",
"user_quantity_name and stored in the monitored in a sequence of frames. A ",
"sequence is a trajectory, which can have number_of_frames_in_sequence each ",
"representing one section_single_configuration_calculation section.\n"],
"meta_data_type": "int"
"meta_default_value": 1
"meta_parent_section":"section_user_quantity_definition"
}
{
"meta_name":"user_quantity_frames",
"meta_type":"type-value",
"meta_description":[
"Array containing the strictly increasing indices referring to the frames of ",
"frame_sequence_user_quantity. If not given it defaults to the trivial mapping ",
"0,1,..."],
"meta_parent_section":"section_user_quantity_definition",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"int",
"meta_dimension":[{
"meta_dimension_symbolic":"number_of_user_quantity_evaluations_in_sequence"
}]
}
......@@ -2,16 +2,15 @@
"meta_name":"user_quantity_stats",
"meta_type":"type-value",
"meta_description":[
"Average of frame_sequence_user_quantity and its standard deviation in this ",
"sequence of frames (i.e., a trajectory, a frame is one ",
"section_single_configuration_calculation)."],
"meta_parent_section":"section_user_quantity_definition",
"Average of frame_sequence_user_quantity, its standard deviation and the number of samples in the",
"section_frame_sequence."],
"meta_parent_section":"section_user_quantity_stats",
"meta_abstract_types":[
"derived_quantity"],
"meta_data_type":"float",
"meta_dimension":[{
"meta_dimension_fixed":2
"meta_dimension_fixed":3
},{
"meta_dimension_symbolic":"number_of_user_quantity_components"
"meta_dimension_symbolic":"number_of_user_quantity_stats_components"
}]
}
{
"meta_name":"user_quantity_stats_to_user_quantity_definition_ref",
"meta_type":"type-value",
"meta_description":[
"Reference the user_quantity_definition the user_quantity_stats refer ",
"to."],
"meta_parent_section":"section_user_quantity_stats",
"meta_data_type":"reference",
"meta_referenced_section":"section_user_quantity_definition"
}
......@@ -95,26 +95,45 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Make replacements in files')
parser.add_argument('--reverse', action='store_true',
help='Performs replacements in the reverse direction')
parser.add_argument('--renames-file', nargs=1,
default=[renamesPath],
help='file containing the replacements to perform (from -> to)')
parser.add_argument('--verbose', action='store_true',
help='More chatty about operations')
parser.add_argument('--no-specific', action='store_true',
help='Does not add specific renames when called without renames files')
parser.add_argument('--renames-file', nargs=1, action='append',
help='file containing the replacements to perform (from -> to), default is ' + renamesPath)
parser.add_argument('toRename', metavar='P', nargs='+',
help='path to a file to rename')
args = parser.parse_args()
if args.verbose:
logging.getLogger().setLevel(logging.DEBUG)
baseRenameFiles = []
specificRenames = {}
if not args.renames_file:
baseRenameFiles.append(renamesPath)
baseRenames = loadRenamesFile(renamesPath, args.reverse)
if not args.no_specific:
import glob
for r in glob.glob(os.path.join(os.path.dirname(renamesPath),"*.renames")):
key = os.path.basename(r[:-len('.renames')])
specificRenames[key] = loadRenamesFile(r, args.reverse)
logging.info("specificRenames:%s", specificRenames.keys())
else:
baseRenames = loadRenamesFile(args.renames_file[0], args.reverse)
baseRenames = {}
for r in args.renames_file:
baseRenameFiles.append(r[0])
baseRenames.update(loadRenamesFile(r[0], args.reverse))
for f in args.toRename:
try:
basename = os.path.splitext(os.path.splitext(os.path.basename(f))[0])[0]
specificRenames = os.path.join(os.path.dirname(renamesPath), basename + ".renames")
if not args.renames_file and os.path.exists(specificRenames):
renames = loadRenamesFile(specificRenames, arg.reverse)
renames.update(baseRenames)
else:
renames = baseRenames
specificFiles = []
renames = baseRenames
for skey, svals in specificRenames.items():
if skey.lower() in f.lower():
specificFiles.append(os.path.join(renamesPath, skey+'.renames'))
nrenames = {}
nrenames.update(renames)
nrenames.update(svals)
renames = nrenames
logging.info('%r: %r', f, baseRenameFiles + specificFiles)
replaceInFile(f, renames)
except:
logging.exception("handling file %s", f)
print("DONE")
......@@ -79,6 +79,28 @@ x_castep_Parameter_n -> x_castep_parameter_n
x_castep_SCF_frame_energy_gain -> x_castep_scf_frame_energy_gain
x_castep_Parameter_s6 -> x_castep_parameter_s6
x_castep_DFPT_solver_method -> x_castep_dfpt_solver_method
frame_sequence_conserved_quantity -> xxx_conserved_quantity
frame_sequence_conserved_quantity_frames -> xxx_to_rm_frame_sequence_conserved_quantity_frames
conserved_quantity -> xxx_conserved_quantity
frame_sequence_kinetic_energy -> xxx_kinetic_energy
frame_sequence_local_frames_ref -> frame_sequence_to_frames_ref
frame_sequence_potential_energy -> xxx_potential_energy
frame_sequence_pressure -> xxx_instant_pressure
frame_sequence_temperature -> xxx_instant_temperature
frame_sequence_to_sampling_ref -> frame_sequence_to_sampling_method_ref
frame_sequence_user_quantity_frames -> xxx_to_rm_frame_sequence_user_quantity_frames
frame_sequence_user_quantity -> xxx_user_quantity
frame_sequence_user_quantity_name -> xxx_user_quantity_name
frame_sequence_user_quantity_stats -> xxx_user_quantity_stats
number_of_frame_sequence_user_quantity_components -> xxx_user_quantity_components
number_of_frame_sequence_user_quantity_evaluations_in_sequence -> xxx_to_rm_number_of_frame_sequence_user_quantity_evaluations_in_sequence
frame_sequence_kinetic_energy_frames -> xxx_to_rm_frame_sequence_kinetic_energy_frames
frame_sequence_potential_energy_frames -> xxx_to_rm_frame_sequence_potential_energy_frames
frame_sequence_pressure_frames -> xxx_to_rm_frame_sequence_pressure_frames
frame_sequence_temperature_frames -> xxx_to_rm_frame_sequence_temperature_frames
section_frame_sequence_user_quantity -> xxx_user_quantity
single_configuration_to_calculation_method_ref -> single_configuration_calculation_to_method_ref
user_quantity_frames -> xxx_to_rm_user_quantity_frames
x_cp2k_energy_XC_scf_iteration -> x_cp2k_energy_xc_scf_iteration
x_fhi_aims_controlInOut_species_cut_pot -> x_fhi_aims_controlinout_species_cut_pot
x_fhi_aims_controlInOut_species_cut_pot_scale -> x_fhi_aims_controlinout_species_cut_pot_scale
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment