The Configurator will do these steps for you.  If you are not using the configurator, here are the steps that are required  to create a new chemistry configuration in the software side of MusicBox.


The provided user-defined name is the most straightforward way for users to run their own chemistry configurations.  All of the necessary setup work has been done for these runs.  However, at times a user may want to store a named configuration for future ease of use.  In that case additional steps will be required to allow MusicBox to utilize that new configuration.

In this example we will demonstrate how a user will create a new named setup called ABCD

Create a new prebuild script

The CCPP configuration uses a script to perform the prebuild step.  You will need to make your own prebuild script for ABCD

cd MusicBox/ccpp-framework/scripts

cp ccpp_prebuild_config_MusicBox_user-defined.py ccpp_prebuild_config_MusicBox_ABCD.py

<Change PROJECT="user-defined" to be PROJECT="ABCD"


Create and populate a new suite

MusicBox_host/suites/suite_MusicBox_ABCD.xml

Create and populate the generated/ABCD directory

cd MICM_chemistry/generated

mkdir ABCD

-- copy in the required include files: For V1, these are:

  • forcing.inc ---------------------- chemical forcing equations
  • jacobian.inc -------------------- jacobian equations
  • k_rateConst.inc --------------- k rate constants values
  • model_name.inc -------------- model name (Needs to be set to ABCD)
  • prates.inc ----------------------- photo rate constants mapping (from TUV to MICM chemistry)
  • rates.inc ------------------------ reaction rate equations

-- copy in the required molecule information file

  • molec_info.json