def _initialize_netcdf(self):
        """
        Initialize the netCDF file for storage.
        
        """

        # Open NetCDF file for writing
        ncfile = netcdf.Dataset(self.fn_storage, "w")  # for netCDF4

        # Store netcdf file handle.
        self.ncfile = ncfile

        # Set global attributes.
        setattr(ncfile, "title", "Multi-State-Transition-Interface-Sampling")
        setattr(ncfile, "application", "Host-Guest-System")
        setattr(ncfile, "program", "run.py")
        setattr(ncfile, "programVersion", __version__)
        setattr(ncfile, "Conventions", "Multi-State Transition Interface TPS")
        setattr(ncfile, "ConventionVersion", "0.1")

        # initialize arrays used for snapshots
        Snapshot._init_netcdf(self)

        # initialize arrays used for trajectories
        Trajectory._init_netcdf(self)

        # Force sync to disk to avoid data loss.
        ncfile.sync()

        return