A set of programs designed to create a database of CIF cell parameters in the form of a human-readable text file for a research group or individual. The interface to the program is the command line (terminal or cmd).

  • InitialiseDB allows the user to import a list of CIFs at once to set up the database
  • DBBuild allows the user to add additional CIFs to their database
  • DBCheck allows the user to compare of a set of cell parameters (a, b, c, alpha,  beta, gamma, volume) to all of those in the database and list any potential matches

Please Cite CIFDB if you use it!


Written in Fortran 90/95 and provided as compiled files and source code. If compiling from source then ensure the output file names are the same as the input file names (minus the .f95 extension) and comment out either lines 31 or 32 in InitialiseDB.f95 depending on whether you are using a DOS or Unix system. No extra libraries are required other than gfortran (sudo apt install gcc) (or minGW for windows users). This work uses functions from String_Functions by David Frank and Paul van Delst.

Please ensure all three programs are in the same directory as one another.


To run the program on a unix system type

  • ./InitialiseDB (CIFListFile) (NumberOfCIFs)
    • CIFListFile is a file containing a list of paths of the CIFs you want to add
  • ./DBBuild (NewCIFFile) (DatabaseFile) <QuickAdd (y or n)>
  • ./DBCheck (DatabaseFile) (a) (b) (c) (alpha) (beta) (gamma) (volume)

or on a DOS system type

  • InitialiseDB (CIFListFile) (NumberOfCIFs)
    • CIFListFile is a file containing a list of paths of the CIFs you want to add
  • DBBuild (NewCIFFile) (DatabaseFile) <QuickAdd (y or n)>
    • QuickAdd command skips checking for similar CIFs
  • CIFDBCheck (DatabaseFile) (a) (b) (c) (alpha) (beta) (gamma) (volume)

Items with brackets () are required arguments which should not be bracketed when entered into the program. Items with <> are optional and again should not be wrapped by <>.


Currently standard errors are not supported by CIFDB, they are still read but are not stored. This will be supported in a future release.

This work is provided with no support or technical assistance, however please report any bugs you find or suggestions that you may have and I will try my best to address them.


search previous next tag category expand menu location phone mail time cart zoom edit close