pencil.sim

Handle simulations (run directories with data) as Python objects.

Submodules

Attributes

pc_print

lnml

Exceptions

CommandFailedError

Unspecified run-time error.

Classes

PathWrapper

See documentation of pathlib.Path.

Simulation

Simulation objects are containers for simulations. Pencil can work with

Simulations

A container for multiple Simulation objects.

Functions

copy_docstring(original)

Decorator, to be used for wrapper functions, that makes the docstring of a

simulation(*args, **kwargs)

Wrapper for Simulation

copy_docstring(original)

Decorator, to be used for wrapper functions, that makes the docstring of a

simulations(*args, **kwargs)

Wrapper for Simulations

is_sim_dir([path])

Decide if a path is pointing at a pencil code simulation directory.

get([path, quiet])

get(path=".", quiet=False)

get_sims([path_root, depth, unhide_all, quiet])

get_sims(path_root=".", depth=0, unhide_all=True, quiet=False)

get_cparam(filepath)

Read contents of src/cparam.local into a dictionary

group(simulations, groupby[, sort, only_started, reverse])

group(simulations, groupby, sort=True, only_started=False, reverse=False)

sort(simulations, sortby[, only_started, reverse])

Sort simulations by a quantity.

grad(f[, dx, dy, dz, x, y, coordinate_system, grid])

grad(f, dx=None, dy=None, dz=None, x=None, y=None, coordinate_system="cartesian", grid=None)

open_h5(filename, status[, driver, comm, overwrite, ...])

This function opens hdf5 file in serial or parallel.

group_h5(h5obj, groupname[, status, delete, ...])

This function adds/removes hdf5 group objects.

dataset_h5(h5obj, dataname[, status, data, shape, ...])

This function adds/removes hdf5 dataset objects.

local_remesh(var, xsrc, ysrc, zsrc, xdst, ydst, zdst)

local_remesh(var, xsrc, ysrc, zsrc, xdst, ydst, zdst, quiet=True, kind="linear")

get_dstgrid(srch5, srcsim, dsth5, dstsim[, ncpus, ...])

get_dstgrid(srch5, srcsim, dsth5, dstsim, ncpus=[1,1,1], multxyz=[2,2,2],

src2dst_remesh([src, dst, h5in, h5out, nxyz, multxyz, ...])

src2dst_remesh(src=None, dst=None, h5in='var.h5', h5out='var.h5', nxyz=None,

Package Contents

class pencil.sim.PathWrapper

Bases: pathlib.WindowsPath if os.name == 'nt' else pathlib.PosixPath

See documentation of pathlib.Path.

This wrapper tries to avoid immediately breaking user code which assumes paths are always strings

KG (2024-Oct-10): added KG (2024-Nov-09): fixed usage with Python<3.12 (see https://stackoverflow.com/a/78471242 )

Construct a PurePath from one or several strings and or existing PurePath objects. The strings and path objects are combined so as to yield a canonicalized path, which is incorporated into the new PurePath object.

pencil.sim.pc_print
pencil.sim.copy_docstring(original)

Decorator, to be used for wrapper functions, that makes the docstring of a particular function the same as another function.

Rationale: if you consider pc.read.aver and pc.read.averages.Averages.read, both the docstrings are currently independently defined, but the former is simply a wrapper for the other. When new functionality is added to the latter, the docstring for the former is almost never updated, leading to the users being shown outdated help text.

Copied from https://softwareengineering.stackexchange.com/a/386758

NOTE: since sphinx-autoapi (used to generated the readthedocs pages) does not know about this decorator, it is best to manually add a minimal docstring of the form “”” Wrapper for Averages.read() “”” to the wrapper function; this will allow Sphinx to create a link to the original function.

exception pencil.sim.CommandFailedError

Bases: RuntimeError

Unspecified run-time error.

Initialize self. See help(type(self)) for accurate signature.

class pencil.sim.Simulation(path='.', hidden=False, hard=False, quiet=False)

Simulation objects are containers for simulations. Pencil can work with several of them at once if stored in a simulations object.

Parameters:
  • path (string) – Path to simulation, default = ‘.’.

  • hidden (bool) – Set True to set hidden flag, default is False.

  • quiet (bool) – Suppress irrelevant output, default is False.

  • hard (bool) – Force update, default is False

  • Properties

  • ----------

  • self.name (name of)

  • self.path (path to simulation)

  • self.datadir (path to simulation data-dir (./data/))

  • self.pc_dir (path to simulation pc-dir (./pc/))

  • self.pc_datadir (path to simulation pendir in datadir (data/pc/))

  • self.components (list of files which are necessary components of) – the simulation

  • self.optionals (list of files which are optional components of) – the simulation

  • self.start_components (list of files provided at the simulation start)

  • self.start_optionals (list of optional files after the simulation start)

  • self.hidden (Default is False, if True this simulation will) – be ignored by pencil

  • self.param (list of param file)

  • self.grid (grid object)

  • object (self.index index)

  • self.dim (dim object)

  • self.tmp_dict (temporal dictionary of stuff, will not be saved)

path
name = ''
datadir
pc_dir
pc_datadir
components = ['src/cparam.local', 'src/Makefile.local', 'start.in', 'run.in', 'print.in']
quantity_searchables = ['src/cparam.local', 'start.in', 'run.in']
optionals = ['*.in', '*.py', 'submit*']
start_components = ['index.pro', 'param.nml', 'pencils.list']
start_optionals = ['time_series.dat', '*.pro', '*.h5']
hidden = False
param = False
grid = False
index = False
dim = False
ghost_grid = False
tmp_dict
copy(path_root='.', name=False, start_optionals=True, optionals=True, quiet=True, rename_submit_script=False, OVERWRITE=False, lfs=False, MB=1, count=1)

This method does a copy of the simulation object by creating a new directory ‘name’ in ‘path_root’ and copy all simulation components and optiona)

ls to its directory.

This method neither links/compiles the simulation. If start_optionals it creates data dir. It does not overwrite anything, unless OVERWRITE is True.

Submit Script Rename:

Name in submit scripts will be renamed if possible! Submit scripts will be identified by submit* plus appearenace of old simulation name inside, latter will be renamed!

Parameters:
  • path_root (string) – Path to new sim.-folder(sim.-name). This folder will be created if not existing! Relative paths are thought to be relative to the python current workdir

  • name (string) – Name of new simulation, will be used as folder name. Rename will also happen in submit script if found. Simulation folders is not allowed to preexist!

  • optionals (start) – Add list of further files to be copied. Wildcasts allowed according to glob module! Set True to use self.optionals.

  • optionals – Add list of further files to be copied. Wildcasts allowed according to glob module! Set True to use self.optionals.

  • quiet (bool) – Set True to suppress output.

  • rename_submit_script (bool) – Set False if no renames shall be performed in submit* files

  • OVERWRITE (bool) – Set True to overwrite no matter what happens!

resume_from_var(sim_source, varno, DEBUG=False)

Copies everything to resume a run from an older state.

It uses VAR-file number >varno< as new VAR0 and var.dat. Does copy PVAR as well if available.

Parameters:
  • sim_source (string) – Simulation from where to copy all the files.

  • varno (int) – var-file number # from which to copy (VAR#).

update(hard=False, quiet=True)

Update simulation object: if not read in:

  • read param.nml

  • read grid and ghost grid

Set hard=True to force update.

hide()

Set hide flag True for this simulation.

unhide()

Set hide flag False for this simulation.

export()

Export simulation object to its root/.pc-dir

started()

Returns whether simulation has already started. This is indicated by existing time_series.dat in data directory.

compile(cleanall=False, fast=False, verbose=False, hostfile=None, autoclean=True, previous_flags=False, additional_options='', **kwargs)

Compiles the simulation. Per default the linking is done before the compiling process is called. This method will use your settings as defined in your .bashrc-file.

Parameters:
  • cleanall (bool) – Before calling pc_build, pc_build –cleanall is called.

  • verbose (bool) – Activate for verbosity.

  • fast (bool) – Set True for fast compilation.

  • autoclean (bool) – If compilation fails, automatically set cleanall=True and retry.

  • previous_flags (bool) – If True, use the same flags as the last time pc_build was called.

  • additional_options (str) – Addition options to be passed to pc_build.

  • self.bash (Accepts all other keywords accepted by)

build(**kwargs)

Same as compile()

bash(command, verbose='last100', logfile=False, bashrc=True, raise_errors=False)

Executes command in simulation directory. This method will use your settings as defined in your .bashrc-file. A log file will be produced within ‘self.path/pc’-folder

Parameters:
  • command (string) – Command to be executed, can be a list of commands.

  • verbose (bool) –

    lastN = show last N lines of output afterwards

    False = no output True = all output

  • bashrc (bool) – True: source bashrc in the subprocess False: don’t source bashrc in the subprocess. Instead, only pass along the environment variables from the current session.

  • raise_errors (bool) – If True, a nonzero return code for command will be raised as a Python error.

cleanall(verbose=False, hostfile=None, **kwargs)

Runs pc_build –cleanall in the simulation directory

Parameters:
  • verbose (bool) – Activate for verbosity.

  • self.bash (Accepts all other keywords accepted by)

clear_src(do_it=False, do_it_really=False)

This method clears the src directory of the simulation! All files in src get deleted, except of whats in components and optionals! By default, everything except Makefile.local and cparam.local gets erased!

Parameters:
  • True (to activate pass)

  • True

clear_data(do_it=False, do_it_really=False)

This method clears the data directory of the simulation! All files in data get deleted!

Parameters:
  • True (to activate pass)

  • True

remove(do_it=False, do_it_really=False, remove_data=False)

This method removes the WHOLE simulation, but NOT the DATA directory per default. Do remove_data=True to delete data dir as well.

Parameters:
  • True (to activate pass)

  • True

  • remove_data – also clear data directory

get_T_last()

Returns ts.t[-1] WITHOUTH reading the whole time series!

get_extent(dimensions='xy')

Returns extent as [xmin, xmax, ymin, ymax], as needed by e.g. imshow.

Parameters:

dimensions – specify here if you want x, y or z dimensions.

get_varlist(pos=False, particle=False, down=False)

Get a list of all existing VAR# file names.

pos = False: give full list pos = ‘last’/’first’: give latest/first var file pos = ‘lastXXX’ / ‘firstXXX’ give last/first XXX varfiles pos = list of numbers: give varfiles at this positions particle = True: return PVAR- instead of VAR-list down = True: return list of downsampled snapshots

get_var_time(var_file)

Read varN.list to find the time corresponding to a varfile

Parameters:

var_file – string or list of strings

Returns:

float or list of floats depending on the type of var_file

get_pvarlist(pos=False)

Same as get_varfiles(pos, particles=True).

get_lastvarfilename(particle=False, id=False)

Returns las varfile name as string.

get_value(quantity, DEBUG=False)

Optimized version of get_value_from_file. Just state quantity for simulation and param-list together with searchable components will be searched.

get_ts(**kwargs)

Returns time series object. All kwargs are passed to pencil.read.ts.

change_value_in_file(*args, **kwargs)

Same as pencil.io.change_value_in_file.

run(verbose=False, hostfile=None, cleardata=False, **kwargs)

Runs the simulation.

Parameters:
  • verbose (bool) – Whether to print progress and detailed output

  • hostfile (string) – Pencil config file to use

  • cleardata (bool) – Whether to clear existing data

  • self.bash (Accepts all other keywords accepted by)

pencil.sim.simulation(*args, **kwargs)

Wrapper for Simulation

pencil.sim.copy_docstring(original)

Decorator, to be used for wrapper functions, that makes the docstring of a particular function the same as another function.

Rationale: if you consider pc.read.aver and pc.read.averages.Averages.read, both the docstrings are currently independently defined, but the former is simply a wrapper for the other. When new functionality is added to the latter, the docstring for the former is almost never updated, leading to the users being shown outdated help text.

Copied from https://softwareengineering.stackexchange.com/a/386758

NOTE: since sphinx-autoapi (used to generated the readthedocs pages) does not know about this decorator, it is best to manually add a minimal docstring of the form “”” Wrapper for Averages.read() “”” to the wrapper function; this will allow Sphinx to create a link to the original function.

class pencil.sim.Simulations(*args, **kwargs)

A container for multiple Simulation objects.

Ways to use the constructor:
  • no args: create empty object, simulation objects can be added

    with add()

  • list, tuple: provide a list of simulation objects or paths or names

    if one of the latter is provide, pc.get_sim() is used to generate simulation object from path or name

Any keyword arguments are used to populate attributes the resulting object. E.g. sims = Simulations(path1, path2, my_property=”something”) will result in sims.my_property == “something”.

Properties:

self.sims: direct access on simulations list

self.add()

add a simulation object, provide simulation object or name or path (pc.get_sim() is then used)

self.sort           sort self.sims list by, default by name, but also

different sorting algorithm are provided

sims = []
add(*args)

Add simulation(s) to simulations object.

Valid arguments can be any of the following:
  • path to a simulation (pathlib.Path or str)

  • simulation object

  • list of simulation objects

  • iterable of simulation objects

  • simulations object

filter(function)

Return a copy of self that contains only those simulations for which function(sim) is True.

E.g. >>> sims_magnetic = sims.filter(lambda sim: sim.param[‘lmagnetic’]) >>> sims_hydro = sims.filter(lambda sim: not sim.param[‘lmagnetic’])

sort(key=None)

Default: sort by name

sim_from_simdir(simdir)
pencil.sim.simulations(*args, **kwargs)

Wrapper for Simulations

pencil.sim.is_sim_dir(path='.')

Decide if a path is pointing at a pencil code simulation directory.

The heuristics used is to check for the existence of start.in, run.in, src/ cparam.local and src/Makefile.local .

pencil.sim.get(path='.', quiet=False)

get(path=”.”, quiet=False)

Return simulation object from ‘path, if already existing, or creates new simulation object from path, if its as simulation.

Parameters:
  • path (string) – Base directory where to look for simulation from.

  • quiet (bool) – Switches out the output of the function. Default: False.

pencil.sim.get_sims(path_root='.', depth=0, unhide_all=True, quiet=False)

get_sims(path_root=”.”, depth=0, unhide_all=True, quiet=False)

Returns all found simulations as object list from all subdirs, not following symbolic links.

Parameters:
  • path_root (string) – Base directory where to look for simulation from.

  • depth (int) – depth of searching for simulations, default is 1, i.e. only one level deeper directories will be scanned.

  • unhide_all (bool) – Unhides all simulation found if True, if False (default) hidden sim will stay hidden.

  • quiet (bool) – Switches out the output of the function. Default: False.

pencil.sim.get_cparam(filepath)

Read contents of src/cparam.local into a dictionary

filepathstring

path to cparam.local file relative or absolute

pencil.sim.group(simulations, groupby, sort=True, only_started=False, reverse=False)

group(simulations, groupby, sort=True, only_started=False, reverse=False)

Group simulation by a quantity. Each Simulation object can only be part of one group.

Parameters:
  • simulations (list of sim objects) – Put here a Simulations object or a list of simulations [sim1, sim2, …].

  • groupby (string) – Put here the heyword after which the grouping shall happen.

  • sort (bool) – Set True to sort returned dictionary naturally.

  • only_started (bool) – Only group simulations that already has started.

  • reverse (bool) – Flag for reverse grouping.

Return type:

Dictionary with keywords are the group entries and values are lists of simulations in that group.

pencil.sim.sort(simulations, sortby, only_started=False, reverse=False)

Sort simulations by a quantity. Based on group.py

Parameters:
  • simulations (list) – Put here a Simulations object or a list of simulations [sim1, sim2, …].

  • sortby (string) – Put here the heyword after which the sorting shall happen.

  • only_started (bool) – Only sort simulations that already has started.

  • reverse (bool) – Reverse order.

Return type:

List with simulation objects in their sorted order.

pencil.sim.grad(f, dx=None, dy=None, dz=None, x=None, y=None, coordinate_system='cartesian', grid=None)

grad(f, dx=None, dy=None, dz=None, x=None, y=None, coordinate_system=”cartesian”, grid=None)

Take the gradient of a pencil code scalar array f in various coordinate systems.

Parameters:
  • f (ndarray) – Pencil code scalar array f.

  • grid (pencil.read.grids.Grid) – Pencil grid object. See pc.read.grid().

  • coordinate_system (string) – Coordinate system under which to take the divergence. Takes ‘cartesian’, ‘cylindrical’ and ‘spherical’.

  • compatibility) (Deprecated parameters (only for backwards)

  • --------------------------------------------------------

  • dx (floats) – Grid spacing in the three dimensions. These will not have any effect if grid!=None

  • dy (floats) – Grid spacing in the three dimensions. These will not have any effect if grid!=None

  • dz (floats) – Grid spacing in the three dimensions. These will not have any effect if grid!=None

  • x (ndarrays) – Radial (x) and polar (y) coordinates, 1d arrays. These will not have any effect if grid!=None

  • y (ndarrays) – Radial (x) and polar (y) coordinates, 1d arrays. These will not have any effect if grid!=None

pencil.sim.open_h5(filename, status, driver=None, comm=None, overwrite=False, size=1, rank=0, lfs=False, MB=1, count=1)

This function opens hdf5 file in serial or parallel.

Keyword Arguments:
  • filename – relative or absolute path string for name of hdf5 file.

  • status – open state of file ‘w’: write, ‘r’: read or ‘a’/’r+’: append.

  • driver – ‘mpio’ required for parallel: version but absent for serial.

  • comm – only present for parallel version of h5py.

  • overwrite – flag to replace existing file.

  • rank – processor rank with root = 0.

pencil.sim.group_h5(h5obj, groupname, status='r', delete=False, overwrite=False, rank=0, size=1, comm=None)

This function adds/removes hdf5 group objects.

Keyword Arguments:
  • h5obj – h5 object, may be the file or a sub group within the file

  • groupname – string for name of the group.

  • status – open state of file ‘w’: write, ‘r’: read or ‘a’/’r+’: append.

  • delete – flag to remove existing group from h5 object.

  • overwrite – flag to replace existing group from h5 object.

  • rank – processor rank with root = 0.

  • comm – only present for parallel version of h5py.

pencil.sim.dataset_h5(h5obj, dataname, status='r', data=None, shape=None, dtype=None, overwrite=False, delete=False, rank=0, size=1, comm=None)

This function adds/removes hdf5 dataset objects.

Keyword Arguments:
  • h5obj – h5 object, may be the file or a sub group within the file

  • dataname – string for name of the dataset.

  • status – open state of file ‘w’: write, ‘r’: read or ‘a’/’r+’: append.

  • data – h5 compatible data object; float, integer, string, array

  • shape – data shape tuple of length > 0

  • dtype – h5 compatible data type, eg. np.float64

  • delete – flag to remove existing group from h5 object.

  • overwrite – flag to replace existing group from h5 object.

  • rank – processor rank with root = 0.

  • comm – only present for parallel version of h5py.

pencil.sim.lnml = True
pencil.sim.local_remesh(var, xsrc, ysrc, zsrc, xdst, ydst, zdst, quiet=True, kind='linear')

local_remesh(var, xsrc, ysrc, zsrc, xdst, ydst, zdst, quiet=True, kind=”linear”)

Parameters:
  • var (np.array) – Snapshot scalar numpy array of shape [mz, my, mx].

  • xsrc (ndarrays) – Grid x, y, z arrays from source simulation.

  • ysrc (ndarrays) – Grid x, y, z arrays from source simulation.

  • zsrc (ndarrays) – Grid x, y, z arrays from source simulation.

  • xdst (ndarrays) – Grid x, y, z arrays for destination simulation.

  • ydst (ndarrays) – Grid x, y, z arrays for destination simulation.

  • zdst (ndarrays) – Grid x, y, z arrays for destination simulation.

  • kind (string) – interpolation method

  • quiet (bool) – Flag for switching of output.

  • Useage (interpolate a 3D data array of arbitrary shape onto an equivalent) – grid of alternate shape

pencil.sim.get_dstgrid(srch5, srcsim, dsth5, dstsim, ncpus=[1, 1, 1], nxyz=None, multxyz=[2, 2, 2], fracxyz=[1, 1, 1], srcghost=3, dstghost=3, dtype=np.float64, lsymmetric=True, quiet=True, dstprecision=[b'D'], srcchunks=None)
get_dstgrid(srch5, srcsim, dsth5, dstsim, ncpus=[1,1,1], multxyz=[2,2,2],

nxyz=None, fracxyz=[1,1,1], srcghost=3, dstghost=3, dtype=np.float64, lsymmetric=True, quiet=True, dstprecision=[b”D”], srchunks=srchunks)

Parameters:
  • srch5 (obj) – hdf5 object from source simulation.

  • srcsim (simulation object) – src simulation object

  • dsth5 (obj) – hdf5 object for destination simulation data.

  • dstsim (simulation object) – dst simulation object

  • ncpus (int) – Array of nprocx, nprocy, and nprocz to apply for new simulation.

  • nxyz (bool) – integer list of lenght 3 with new size of grid excluding ghosts.

  • multxyz (list) – Factors by which to multiply old sim dimensions yxz order.

  • fracxyz (list) – Factors by which to divide old sim dimensions yxz order.

  • srcghost (int) – Number of ghost zones from the source order of accuracy (mx-nx)/2

  • dstghost (int) – Number of ghost zones for the destination order of accuracy (mx-nx)/2

  • dtype ('string') – Precision used in destination simulation. Default double.

  • lsymmetric (bool) – Option to make non-periodic grid symmetric about old sim centre. Otherwise the lower boundary is retained from old sim grid.

  • quiet (bool) – Flag for switching of output.

  • dstprecision – floating point precision of new simulation grid.

  • srcchunks (bool) – list of index limits [l[0]:l[1],m[0]:m[1],n[0]:n[1]] for subdomain remesh

pencil.sim.src2dst_remesh(src=None, dst=None, h5in='var.h5', h5out='var.h5', nxyz=None, multxyz=[2, 2, 2], fracxyz=[1, 1, 1], srcchunks=None, srcghost=3, dstghost=3, srcdatadir='data/allprocs', dstdatadir='data/allprocs', dstprecision=[b'D'], lsymmetric=True, quiet=True, kind='linear', check_grid=True, optionals=True, nmin=32, rename_submit_script=False, MBmin=64.0, ncpus=[1, 1, 1], start_optionals=False, hostfile=None, submit_new=False, chunksize=5000.0, lfs=False, MB=32, count=1, size=1, rank=0, comm=None, farray=None, index_farray=None, datasets='all', remesh=True, newtime=None)
src2dst_remesh(src=None, dst=None, h5in=’var.h5’, h5out=’var.h5’, nxyz=None,

multxyz=[2, 2, 2], fracxyz=[1, 1, 1], srcchunks=None, srcghost=3, dstghost=3, srcdatadir=’data/allprocs’, dstdatadir=’data/allprocs’, dstprecision=[b’D’], lsymmetric=True, quiet=True, kind=”linear”, check_grid=True, OVERWRITE=False, optionals=True, nmin=32, rename_submit_script=False, MBmin=5.0, ncpus=[1, 1, 1], start_optionals=False, hostfile=None, submit_new=False, chunksize=1000.0, lfs=False, MB=1, count=1, size=1, rank=0, comm=None, farray=None, index_farray=None, datasets=’all’, remesh=True)

Parameters:
  • src (string) – Source relative or absolute path to source simulation.

  • dst (string) – Destination relative or absolute path to destination simulation.

  • h5in (string) – Source simulation data file to be copied and remeshed.

  • h5out (string) – Destination simulation file to be written.

  • nxyz (list) – If not None a list of 3 integers [nx, ny, nz] defining the size of the destination domain

  • multxyz (list) – Factors by which to multiply old sim dimensions xyz order.

  • fracxyz (list) – Factors by which to divide old sim dimensions xyz order.

  • srcghost (int) – Number of ghost zones from the source order of accuracy (mx-nx)/2.

  • dstghost (int) – Number of ghost zones for the destination order of accuracy (mx-nx)/2.

  • srcdatadir (string) – Path from source simulation directory to data.

  • dstdatadir – Path from destination simulation directory to data.

  • dstprecision (string) – Floating point precision settings [b’S’] or [b’D’].

  • lsymmetric (bool) – Option to make non-periodic grid symmetric about old sim centre. Otherwise the lower boundary is retained from old sim grid.

  • quiet (bool) – Flag for switching of output.

  • check_grid (bool) – Flag to run check on grid and cpu layout before executing remesh.

  • OVERWRITE (bool) – Flag to overwrite existing simulation directory and filesin dst.

  • optionals (bool) – Copy simulation files with True or specify list of names (string) for additional files from src sim directory.

  • nmin (int) – Minimum length along coordinate after splitting by proc.

  • rename_submit_script (bool) – Edit lines in submission files vcopied from src to dst. Not yet operational.

  • MBmin (float) – Minimum size in MB of data on a sinlge proc pf ncpus total processes.

  • ncpus (ndarray) – Array of nprocx, nprocy, and nprocz to apply for new simulation.

  • start_optionals (bool) – Copy simulation files output by start.x with True or specify list of names (string) for additional files from src sim data directory.

  • hostfile (string) – Specify name of host config file argument in pc_build. Not yet operational.

  • submit_new (bool) – Execute changes to submission files, compile and run simulation. Not yet operational.

  • chunksize (float) – Size in megabytes of snapshot variable before chunked remesh is used.

  • lfs (bool) – Flag to set the striping for large file sizes to improve IO efficiency.

  • MB (float) – Size of data to write contiguously before moving to new OST on lustre.

  • count (int) – Number of OSTs across which the data will be shared for IO operations.

  • size (int) – Number of MPI processes

  • rank (int) – ID of processor

  • comm – MPI library calls

  • farray (string list) – Select subset of the farray from src.

  • index_farray (integer list) – set of index at which interpolation shall start

  • datasets (string) – “all” default to interpolate full farray, or specify selection

  • remesh (bool) – remesh or just copy