idmtools_platform_comps.comps_operations.simulation_operations module

idmtools_platform_comps.comps_operations.simulation_operations.comps_batch_worker(simulations: List[idmtools.entities.simulation.Simulation], interface: idmtools_platform_comps.comps_operations.simulation_operations.CompsPlatformSimulationOperations, executor, num_cores: Optional[int] = None, priority: Optional[str] = None, asset_collection_id: Union[str, uuid.UUID] = None, min_time_between_commissions: int = 10, **kwargs) → List[COMPS.Data.Simulation.Simulation]

Run batch worker

Parameters
  • simulations – Batch of simulation to process

  • interface – SimulationOperation Interface

  • executor – Thread/process executor

  • num_cores – Optional Number of core to allocate for MPI

  • priority – Optional Priority to set to

  • asset_collection_id – Override asset collection id

  • min_time_between_commissions – Minimum amount of time(in seconds) between calls to commission on an experiment

  • info for (extra) –

Returns

List of Comps Simulations

class idmtools_platform_comps.comps_operations.simulation_operations.CompsPlatformSimulationOperations(platform: 'COMPSPlatform', platform_type: Type = <class 'COMPS.Data.Simulation.Simulation'>)

Bases: idmtools.entities.iplatform_ops.iplatform_simulation_operations.IPlatformSimulationOperations

platform: COMPSPlatform
platform_type

alias of COMPS.Data.Simulation.Simulation

get(simulation_id: uuid.UUID, columns: Optional[List[str]] = None, load_children: Optional[List[str]] = None, query_criteria: Optional[COMPS.Data.QueryCriteria.QueryCriteria] = None, **kwargs) → COMPS.Data.Simulation.Simulation

Get Simulation from Comps

Parameters
  • simulation_id – ID

  • columns – Optional list of columns to load. Defaults to “id”, “name”, “experiment_id”, “state”

  • load_children – Optional children to load. Defaults to “tags”, “configuration”

  • query_criteria – Optional query_criteria object to use your own custom criteria object

  • **kwargs

Returns

COMPSSimulation

platform_create(simulation: idmtools.entities.simulation.Simulation, num_cores: int = None, priority: str = None, enable_platform_task_hooks: bool = True, asset_collection_id: Union[str, uuid.UUID] = None, **kwargs) → COMPS.Data.Simulation.Simulation

Create Simulation on COMPS

Parameters
  • simulation – Simulation to create

  • num_cores – Optional number of MPI Cores to allocate

  • priority – Priority to load

  • enable_platform_task_hooks – Should platform task hoooks be ran

  • asset_collection_id – Override for asset collection id on sim

  • **kwargs – Expansion fields

Returns

COMPS Simulation

to_comps_sim(simulation: idmtools.entities.simulation.Simulation, num_cores: int = None, priority: str = None, config: COMPS.Data.Configuration.Configuration = None, asset_collection_id: Union[str, uuid.UUID] = None, **kwargs)

Covert IDMTools object to COMPS Object

Parameters
  • simulation – Simulation object to convert

  • num_cores – Optional Num of MPI Cores to allocate

  • priority – Optional Priority

  • config – Optional Configuration object

  • asset_collection_id

  • additional option for comps (**kwargs) –

Returns

COMPS Simulation

static get_simulation_config_from_simulation(simulation: idmtools.entities.simulation.Simulation, num_cores: int = None, priority: str = None, asset_collection_id: uuid.UUID = None, **kwargs) → COMPS.Data.Configuration.Configuration

Get the comps configuration for a Simulation Object

Parameters
  • simulation – Simulation

  • num_cores – Optional Num of core for MPI

  • priority – Optional Priority

  • asset_collection_id – Override simulation asset_collection_id

  • additional option for comps (**kwargs) –

Returns

Configuration

batch_create(simulations: List[idmtools.entities.simulation.Simulation], num_cores: int = None, priority: str = None, asset_collection_id: Union[str, uuid.UUID] = None, **kwargs) → List[COMPS.Data.Simulation.Simulation]

Perform batch creation of Simulations

Parameters
  • simulations – Simulation to create

  • num_cores – Optional MPI Cores to allocate per simulation

  • priority – Optional Priority

  • asset_collection_id – Asset collection id for sim(overide experiment)

  • **kwargs – Future expansion

Returns

List of COMPSSimulations that were created

get_parent(simulation: Any, **kwargs) → COMPS.Data.Experiment.Experiment

Get the parent of the simulation

Parameters
  • simulation – Simulation to load parent for

  • **kwargs

Returns

COMPSExperiment

platform_run_item(simulation: idmtools.entities.simulation.Simulation, **kwargs)

Called during commissioning of an item. This should create the remote resource but not upload assets

Parameters

simulation – Simulation to run

Returns:

send_assets(simulation: idmtools.entities.simulation.Simulation, comps_sim: Optional[COMPS.Data.Simulation.Simulation] = None, add_metadata: bool = False, **kwargs)

Send assets to Simulation

Parameters
  • simulation – Simulation to send asset for

  • comps_sim – Optional COMPSSimulation object to prevent reloading it

  • add_metadata – Add idmtools metadata object

  • **kwargs

Returns

None

refresh_status(simulation: idmtools.entities.simulation.Simulation, additional_columns: Optional[List[str]] = None, **kwargs)

Refresh status of a simulation

Parameters
  • simulation – Simulation to refresh

  • additional_columns – Optional additional columns to load from COMPS

  • **kwargs

Returns:

to_entity(simulation: COMPS.Data.Simulation.Simulation, load_task: bool = False, parent: Optional[idmtools.entities.experiment.Experiment] = None, load_parent: bool = False, load_metadata: bool = False, **kwargs)idmtools.entities.simulation.Simulation

Convert COMPS simulation object to IDM Tools simulation object

Parameters
  • simulation – Simulation object

  • load_task – Should we load tasks. Defaults to No. This can increase the load items on fetchs

  • parent – Optional parent object to prevent reloads

  • load_parent – Force load of parent(Beware, This could cause loading loops)

  • load_metadata – Should we load metadata by default. If load task is enabled, this is also enabled

  • **kwargs

Returns

Simulation object

get_asset_collection_from_comps_simulation(simulation: COMPS.Data.Simulation.Simulation) → Optional[idmtools.assets.asset_collection.AssetCollection]

Get assets from COMPS Simulation

Parameters

simulation – Simulation to get assets from

Returns:

get_assets(simulation: idmtools.entities.simulation.Simulation, files: List[str], include_experiment_assets: bool = True, **kwargs) → Dict[str, bytearray]

Fetch the files associated with a simulation

Parameters
  • simulation – Simulation

  • files – List of files to download

  • include_experiment_assets – Should we also load experiment assets?

  • **kwargs

Returns

Dictionary of filename -> ByteArray

list_assets(simulation: idmtools.entities.simulation.Simulation, common_assets: bool = False, **kwargs) → List[idmtools.assets.asset.Asset]

List assets for a simulation

Parameters
  • simulation – Simulation to load data for

  • common_assets – Should we load asset files

  • **kwargs

Returns

AssetCollection

retrieve_output_files(simulation: idmtools.entities.simulation.Simulation)
all_files(simulation: idmtools.entities.simulation.Simulation, common_assets: bool = False, outfiles: bool = True, **kwargs) → List[idmtools.assets.asset.Asset]

Returns all files for a specific simulation including experiments or non-assets

Parameters
  • simulation – Simulation all files

  • common_assets – Include experiment assets

  • outfiles – Include output files

  • **kwargs

Returns

AssetCollection