![]() |
![]() |
ROMSBuilder, create your ROMS component 1. What is ROMSBuilder? ROMSBuilder is a CCA-CSDMS Modeling Tool (CMT) compliant component that creates another CMT compliant ROMS component. The new ROMS component is build as per the C-preprocessing options that defines a particular ROMS application. 2. Why ROMSBuilder? ROMS extensively uses the C preprocessor (cpp) during compilation to replace code statements, insert files into the code, and select relevant parts of the code depending on its directives. There are numerous cpp options that can be activated in header files for your specific application. The preprocessor reads the source file (*.F) and builds a target file (*.f90) according to activated cpp options. CPP options can be set through the CMT config tab dialogs. ROMSBuilder creates the header file from user inputs read from the CMT config dialog. It then compiles and builds the new ROMS component specific to the case using the inputs (ROMS has to be compiled using the header file options for each case). 3. How does it work? Backend: ROMSBuilder is written in Python and the main classes are ComponentBuilder.py and ROMSComponentBuilder.py. Default inputs are provided through roms_builder_input.cfg file.Default input is provide through roms_builde_input.cfg file. The three required input for creating the new ROMS component are,
ROMSBuilder creates the new component in user home directory under ‘~/.cmt/components’. It is safer not to edit the directory. Once a component is successfully created the next one goes relatively faster. To open the project user should go to ‘My Project > ROMSBuilder’. The new project can only be seen by the owner. To share the project with the rest of the community please contact CSDMS. Notes:
|