Chapter

Chapter 5.4 CIFtbx: Fortran tools for manipulating CIFs

Definition and exchange of crystallographic data

First Online Edition (2006)

Part 5. Applications

  1. H. J. Bernstein1,
  2. S. R. Hall2

Published Online: 1 JAN 2006

DOI: 10.1107/97809553602060000754

International Tables for Crystallography

International Tables for Crystallography

How to Cite

Bernstein, H. J. and Hall, S. R. 2006. CIFtbx: Fortran tools for manipulating CIFs. International Tables for Crystallography. G:5:5.4:526–538.

Author Information

  1. 1

    Department of Mathematics and Computer Science, Kramer Science Center, Dowling College, Idle Hour Blvd, Oakdale, NY 11769, USA

  2. 2

    School of Biomedical and Chemical Sciences, University of Western Australia, Crawley, Perth, WA 6009, Australia

Publication History

  1. Published Online: 1 JAN 2006

SEARCH

Abstract

CIFtbx is a Fortran function library for programmers developing CIF applications or adapting existing Fortran applications to work with CIF. This chapter documents the use of CIFtbx, describing the availability of functions, subroutines and variables to: initialize file handling; read CIF data; write CIF data; and monitor and control program execution. Commands are described by function; each section lists type, argument list and return values, and supplies a concise description of the purpose of the command or variable. There is a description of the mechanism for handling data‐name aliases and a description of the source‐file contents. Sample programs are supplied to illustrate the use of the library. Error messages are documented. A section on internals and programming style instructs the less‐experienced programmer in techniques of memory management, value passing, file management and other details that are possibly not obvious to programmers with particular experience in numerical computation.

Keywords:

  • CIFtbx;
  • CIF software;
  • Crystallographic Information File software;
  • computer programs;
  • object‐oriented CIF libraries;
  • software design considerations