code: def get_available_parameters(self):
          
  
          # At the moment, we rely on regex to extract the list of available
          # parameters. This solution will break if the format of the output
          # changes, but this is the best option that is currently available.
  
          result = subprocess.check_output([self.script_executable,
                                            '--PrintHelp'], env=self.environment,
                                           cwd=self.path).decode('utf-8')
  
          # Isolate the list of parameters
          options = re.findall('.*Program\s(?:Options|Arguments):'
                               '(.*)General\sArguments.*',
                               result, re.DOTALL)
  
          global_options = subprocess.check_output([self.script_executable,
                                                    '--PrintGlobals'],
                                                   env=self.environment,
                                                   cwd=self.path).decode('utf-8')
  
          # Get the single parameter names
          args = []
          if len(options):
              args += re.findall('.*--(.*?)[?::|=].*', options[0], re.MULTILINE)
          if len(global_options):
              args += [k for k in re.findall('.*--(.*?)[?::|=].*',
                                             global_options, re.MULTILINE) if k
                       not in ['RngRun', 'RngSeed', 'SchedulerType',
                               'SimulatorImplementationType', 'ChecksumEnabled']]
          return sorted(args)
docs: Return a list of the parameters made available by the script.