def record_constants(self, constants):
        """ Record constant data. """

        info = self.get_simulation_info(constants)

        simulation_info_grp = create_group(self.hdf5_main_file_object, "simulation_info")
        simulation_info_grp = self.hdf5_main_file_object.create_group("simulation_info")

        # Can get away with setting the length because all processes participate in the writing of these.
        # TODO: Should do that for all of these values. Just doing it for the graphs since they can get really big
        dset = create_dataset(simulation_info_grp, 'comp_graph', (), dtype=np.dtype((np.str, len(info['comp_graph']))))
        dset = simulation_info_grp.create_dataset('comp_graph', (), dtype=np.dtype((np.str, len(info['comp_graph']))))
        dset = create_dataset(simulation_info_grp, 'graph', (), dtype=np.dtype((np.str, len(info['graph']))))
        dset = simulation_info_grp.create_dataset('graph', (), dtype=np.dtype((np.str, len(info['graph']))))
        write_groups_to_hdf5( simulation_info_grp, 'OpenMDAO_Version', info['OpenMDAO_Version'])
        write_groups_to_hdf5( simulation_info_grp, 'uuid', info['uuid'])
        write_groups_to_hdf5( simulation_info_grp, 'name', info['name'])

        #TODO: should only rank 0 write these data? Can rank 0 be the only one to write this file? Do we even need to open it mpio?
        write_to_hdf5( simulation_info_grp, 'OpenMDAO_Version', info['OpenMDAO_Version'])
        write_to_hdf5( simulation_info_grp, 'comp_graph', info['comp_graph'])
        write_to_hdf5( simulation_info_grp, 'graph', info['graph'])
        write_to_hdf5( simulation_info_grp, 'uuid', info['uuid'])
        write_to_hdf5( simulation_info_grp, 'name', info['name'])

        # Constants
        constants_grp = create_group(simulation_info_grp, "constants")
        constants_grp = simulation_info_grp.create_group("constants")
        for k,v in info['constants'].items():
            write_groups_to_hdf5( constants_grp, k, v )
            write_to_hdf5( constants_grp, k, v )

       #Expressions
        expressions_grp = create_group(simulation_info_grp, "expressions")
        expressions_grp = simulation_info_grp.create_group("expressions")
        for k,v in info['expressions'].items():
            write_groups_to_hdf5( expressions_grp, k, v )

        for k,v in info['expressions'].items():
           write_to_hdf5( expressions_grp, k, v )

        # Variable metadata
        variable_metadata_grp = create_group(simulation_info_grp, "variable_metadata")
        variable_metadata_grp = simulation_info_grp.create_group("variable_metadata")

        for k in sorted(info['variable_metadata']):
            v = info['variable_metadata'][k]
            write_groups_to_hdf5( variable_metadata_grp, k, v )

        for k,v in info['variable_metadata'].items():
            write_to_hdf5( variable_metadata_grp, k, v )

        # Drivers
        for i, info in enumerate(self.get_driver_info()):
            driver_info_name = 'driver_info_%s' % (i/1)
            driver_info_group = create_group(self.hdf5_main_file_object, driver_info_name)
            driver_info_group = self.hdf5_main_file_object.create_group(driver_info_name)
            for k,v in info.items():
                write_groups_to_hdf5( driver_info_group, k, v )
                write_to_hdf5( driver_info_group, k, v )
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.lib/src/openmdao/lib/casehandlers/hdf5case.py/HDF5CaseRecorder.record_constants/operator `+` -> `/`