Skip to main content
Jump to: navigation, search

ICE Developer Documentation

This page is for programmers who would like to know the internal workings of ICE and/or intend to modify the code. For regular users, the ICE main page would probably be more helpful.

We now recommend that all ICE developers hack the code from ICE itself. See Getting ICE to download it.


Forking Eclipse ICE - Describes the process of contributing to the ICE project from your own repository.

ICE Build Instructions - Details on how to download, install and run ICE from the source code.

ICE Development Process and Guidelines - How we "make it do what it do".

Analyzing ICE with SonarQube - Instructions on how to analyze and view ICE code quality results using SonarQube

Contributing to ICE - How to contribute code to ICE.

Bug Reports (GitHub) - The ICE bug tracker.

Developer Tutorials


Part 1: Extending ICE with custom Items

Part 2: Using the Job Profile Editor to create Job Launchers

Part 3: Creating a Java-based Job Launcher with an OSGi ICE plug-in

Part 4: Extending your plug-in to generate input files

Creating an ICE XML File From Schema - A Tutorial for creating XML files with the ICE file schema.

Creating RELAP7 Input Files with ICE - A Tutorial for creating RELAP7 input files in ICE.

Creating MARMOT Input Files with ICE - A tutorial for creating MOOSE MARMOT input files in ICE.

Creating OSGi Bundles from Third-Party JARs - Information on creating OSGi bundles based on pre-existing Java JARs.

Running AMP with ICE - A tutorial for using Advanced Multi-Physics with ICE.

Running DenovoMP Plugin with ICE - A tutorial for using Denovo's Multi-Physics plugin with ICE.


The following section includes information about ICE features that may still be in active development, so be warned: "Here there be dragons!"

Algorithms for Clustering data - This details the algorithms used to cluster the nuclear reactor simulation data.

Anomaly Detection Tool Test Cases - Details of the test cases use for clustering algorithm.

Basic Statistical Analysis of LWR Pin Power Data - Details concerning basic statistical analysis of LWR pin power dataset comparisons.

Clustering with Hadoop - Data analysis with large scale nuclear simulation data.

DenovoMP Dependencies List - Dependencies for DenovoMP.

Getting Data Into ICE through ICE-IO - Details for using the C++ ICE-IO package to integrate an HDF5 file.

ICE and OSGi - Instructions for using OSGi services with ICE.

ICE Android Development - Information about ICE in Android.

ICE Eclipse Icons - We use these icons for ICE.

ICE Error Codes - List of standard ICE error codes

ICE License and Copyright - License and Copyright information for the ICE project.

Enabling Real-time Simulation Updates with ICEUpdater - Details on how to build and utilize the ICEUpdater library.

Javadoc - The JavaDoc reference manual for ICE.

Migrating ICE to Eclipse 4 - Details on the migration from Eclipse 3.7.2 to Eclipse 4.2.2.

References for KDD work - A list of the references for KDD work, including the work on Map-Reduce.

SDC Administration For ICE - Details on the use of Secure Delivery Center to deploy pre-configured IDEs.

ICE Data Structures

Overview of ICE Data Structures - An overview of ICE's data structures and the philosophy behind them.

About ICE Data Structures - A description of each of the more commonly used ICE data structures, and their purpose.

CAEBAT in ICE - Description of the structure and usage of CAEBAT in ICE.

ICE Geometry Editor - A partial list of features and requirements for the ICE Geometry Editor.

ICE Job Profile - Information on creating Job Profiles in ICE.

Nek5000 Notes - Basic information on Nek5000, plugin development, and usage.

ICE LWR Object Model - A description of the LWR model in ICE.

ICE SFR Object Model - A description of the SFR model in ICE.

Painfully Simple Form - Documentation on ICE's "Painfully Simple Forms" and its associated file format.

Resources for TableViewer - Documentation and references on TableViewer.

SHARP Input Model - A description of the SHARP model for coupling physics modules.

XML in ICE - Documentation for XML file parsing.

Additional Tools in ICE

Logging - Instructions on proper logging in Eclipse ICE code.

AMP Fuel Plugin - Tutorial for the AMP Fuel Plugin for the AMP Fuel simulator in NEAMS.

Better Exception Testing in ICE with J-Unit - Tutorial for developing better unit testing practices using J-Unit.

Challenges Using HDF5 and Java with ICE - Description of technical challenges and their solutions using HDF5 and Java.

Flyway Integration- Integrating Flyway with ICE.

JAXB in ICE - Details on using JAXB in ICE.

Fedora AMD Graphics Drivers - Information on installing graphics drivers for jMonkey.

ICE and HDF5 - Provides a basic explanation of HDF5 and its role in ICE.

ICE Mesh Editor Prototype - Information about the design of the mesh editor.

ICE-VR - Information on ICE's support for Virtual Reality environments.

Persistence in ICE - Article discussing various database connections and XML Parsing in ICE.

Replacing the jME3 Bundle in ICE - Instructions for replacing the JARs responsible for rendering 3D geometry in ICE.


Contributing to the ICE Website - Instructions on how to access and commit to the repository for the ICE website.

Archives - A collection of links to articles that are either no longer relevant or in dire need of revision.

Back to the top