last updated on 17 August 2026

Introduction


What is OACIS?

OACIS (‘‘Organizing Assistant for Comprehensive and Interactive Simulations’’) is a job management software for simulation studies.

When we conduct scientific research by numerical simulations, we usually carry out many simulation jobs changing models and parameters through a trial and error process. This kind of trial-and-error approach often causes a problem of job management since a large amount of jobs are often created while we are exploring the parameter space. As the number of simulation jobs increases, it is often difficult to keep track of vast and various simulation results in an organized way and, as a result, we inevitably suffer from inefficiency and human errors.

OACIS is being developed aiming at overcoming these difficulties. For instance, submitting only one simulation job would require the following tasks.

  1. login to a remote host
  2. compile your simulation program
  3. make a directory for a job
  4. create a shell script to submit a job
  5. submit your job to the job-scheduler
  6. wait until the job finishes
  7. transfer result files to the local machine
  8. analyze the results
  9. (If another job is necessary) go back to the first one.

Using OACIS, you can automate most of the above tasks, which lets you efficiently explore the parameter space. With a user-friendly interface, you can easily submit various jobs to appropriate remote hosts. After these jobs are finished, all the result files are automatically downloaded from the remote hosts and stored in a traceable way together with logs of the date, host, and elapsed time of the jobs. You can easily find the status of the jobs or results files from the browser-based UI, which lets you focus on more productive and essential parts of your research activities.

It also provides an MCP (Model Context Protocol) server so that AI agents can operate OACIS on your behalf, and Ruby APIs for writing reproducible scripts that automate parameter sweep, optimization of parameters, and sensitivity analysis etc.

Screenshots

Controlling OACIS with AI agents

OACIS ships an MCP (Model Context Protocol) server, which lets AI agents such as Claude operate OACIS on your behalf. An agent connected to the server can create parameter sets, submit runs, monitor their status, and inspect the results — you can simply ask it to “sweep parameters p1 and p2 of my simulator and report the results”. See http://crest-cassia.github.io/oacis/en/mcp.html for more details.

A sample of APIs

For scripted, reproducible workflows, use the Ruby API. A small sample of parameter sweep over parameters “p1” and “p2” of your simulator. See http://crest-cassia.github.io/oacis/en/api.html for more details.

sim = Simulator.where(name: "my_simulator").first

p1_values = [1.0,2.0,3.0,4.0,5.0]                                         # a standard way to make an array
p2_values = [2.0,4.0,6.0,8.0,10.0]
base_param = sim.default_parameters                                  # => {"p1"=>1.0, "p2"=>2.0, "p3"=>3.0}

host = Host.where(name: "localhost").first
host_param = host.default_host_parameters

# We are going to fix the parameters other than "p1" and "p2"
p1_values.each do |p1|                  # iterate over p1
  p2_values.each do |p2|                # iterate over p2
    param = base_param.merge({"p1"=>p1,"p2"=>p2})           #   => {"p1"=>p1, "p2"=>p2, "p3"=>3.0}
    ps = sim.find_or_create_parameter_set( param )          #   => ParameterSet of the given parameters
    runs = ps.find_or_create_runs_upto(5, submitted_to: host, host_param: host_param)  # creating runs under given parameter sets
  end
end

About this document

This document illustrates the usage of OACIS. The remaining pages are organized as follows.

You will be able to start using OACIS if you read the first three pages. In order to fully make use of OACIS, read other pages when necessary.

Contact

If you have questions, requests, or bug reports, please send your feedback to the developers (oacis-dev _at_ googlegroups.com). Replace at with @.

Next »