camber.mesa
Camber has a built-in engine to run workloads for MESA, a software suite to run experiments in stellar evolution.
import camber.mesaMethods
create_job
Executes a MESA job on CamberCloud.
Arguments
file_dir:str- Supply the file directory containing the MESA inlist files
command:str- The command to execute the MESA job.
- Default is
./mk && ./rn module:str- The module to run simulations (such as
star,binary,astero, and so on). - Default is
star sync_mesa_scripts:bool- Whether to sync MESA scripts to the job directory.
- Default is
True node_size:str- The size of the node. One of
XMICRO,MICRO,XXSMALL,XSMALL,SMALL,MEDIUM, orLARGE. - Default is
XSMALL. extra_env_vars:Optional[Dict[str, str]]- Extra environment variables to pass to the MESA job
mesa_version:Optional[str]- The MESA version to use.
- Default is
r23.05.1 tags:Optional[Union[str, List]]- Tags to add to the job.
- e.g.
["tag1", "tag2"]or"tag1".
Returns
CamberJob- The
CamberJobobject representing the created job.
create_scatter_job
Run multiple parallel MESA jobs.
Supply a list of inlist files that contains templating variables. For example
&pgstar
! show HR diagram
HR_win_flag = $HR_WIN_FLAG
! set static plot bounds
HR_logT_min = $HR_LOGT_MIN
...Prefix template variables with $.
To fill in the template, supply a dictionary of parameters, or param_set, as follows:
param_set = {"HR_WIN_FLAG": ".true.", "HR_LOGT_MIN": 3.5}When Camber executes this job, it combines the two inputs to generate an actual inlist file used by MESA:
&pgstar
! show HR diagram
HR_win_flag = .true.
! set static plot bounds
HR_logT_min = 3.5With the same template file, this function provides a way to execute multiple MESA jobs
by supplying a param_set list.
Each param_set generates a new set of inlist files nested in their param_set or job specific directory.
The MESA job executes in this directory.
Camber also generates meta.json file in each job directory.
This file contains job info
alongside the param_set used to template the inlist files.
This means the user creates n jobs from param_sets of length n.
Arguments
param_sets:List[Dict[str, Any]]- The list of parameter sets
inlist_files:List[str]- The list of inlist files with template parameters
model_files:Optional[Union[str, List[str]]]- The list of model files or a single model file to be copied to each job directory.
- If a list is provided, it should have the same length as
param_sets. Otherwise, the single model will be used for all jobs. command:str- The command to execute the MESA job.
- Default is
./mk && ./rn module:str- The module to run simulations (such as
star,binary,astero, and so on). - Default is
star sync_mesa_scripts:bool- Whether to sync MESA scripts to the job directory.
- Default is
True node_size:str- The size of the node. One of
XMICRO,MICRO,XXSMALL,XSMALL,SMALL,MEDIUM, orLARGE. - Default is
XSMALL. extra_env_vars:Optional[Dict[str, str]]- Extra environment variables to pass to the MESA job
mesa_version:Optional[str]- The MESA version to use.
- Default is
r23.05.1 tags:Optional[Union[str, List]]- Tags to help identify the job. String or list of strings.
Returns:
List[CamberJob]- The list of
CamberJobobjects representing the created jobs.
delete_job
Deletes the MESA based CamberJob from your account. Supply the id of the CamberJob.
Arguments:
job_id:Union[int, str]- The id of the CamberJob to delete
get_job
Retrieves the MESA based CamberJob from CamberCloud. Supply the id of the CamberJob.
Arguments:
job_id:Union[int, str]- The id of the
CamberJobto retrieve
Returns:
CamberJob- The retrieved
CamberJobobject.
list_jobs
Lists all MESA based CamberJobs in CamberCloud. Optionally supply the tags to filter the jobs.
Arguments:
tags: Optional[Union[str, List]]- Tags to filter the jobs.
Returns:
List[CamberJob]- The list of
CamberJobobjects.