dwells@fits.cx.nrao.edu (Don Wells) (05/12/91)
Archive-name: graphics/formats/fitsio/1991-05-11 Archive-directory: tetra.gsfc.nasa.gov:/pub/fitsio/ [128.183.8.77] Original-posting-by: dwells@fits.cx.nrao.edu (Don Wells) Original-subject: FITSIO Subroutine Package now Available Reposted-by: emv@msen.com (Edward Vielmetti, MSEN) Bill Pence requested that I post this for him. He posted it earlier today on the WGAS-L exploder of the Working Group for Astronomical Software of the American Astronomical Society. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= FITSIO Subroutine Package Now Available This is to announce the availability of the FITSIO package of Fortran-77 subroutines for reading and writing FITS format files. This package provides a relatively simple machine-independent programmer interface for creating or reading FITS files. It supports ASCII table extensions as well as the newly proposed Binary table extensions. Versions of the software are currently available for VAX/VMS machines, SUN workstations, and IBM PCs. A version for IBM mainframes will be available soon. This package was developed at the High Energy Astrophysics Science Archive Research Center (HEASARC) at the Goddard Space Flight Center. It has been used and tested for a couple months, but it is possible that some bugs remain in the code. Users, therefore, should be careful to verify the validity of any FITS files that are produced with this package, including reading the files with an established FITS file reading program. Any bugs, problems, questions, or suggestions related to the FITSIO package should be sent to the author, as described below. To provide more information about the package, and to describe how to get a copy of the software via anonymous ftp, the first few pages of the FITSIO User's Guide (contained in the file fitsio.doc) are attached below. William Pence HEASARC/GSFC 10 May 1991 --------------------------------------------------------------------------- --------------------------------------------------------------------------- FITSIO A Library of Fortran Subroutines to Read and Write FITS Files written by William Pence HEASARC, GSFC Version 2.0 1 May 1991 ------------------------- CONTENTS: I. Introduction II. Description of the FITSIO Library III. How to Build the FITSIO Object Code Library IV. Detailed Description of the Main User-Callable FITSIO Subroutines 1. Open a new or existing FITS file 2. Close a FITS file 3. Write a keyword to a FITS header file 4. Write an arbitrary 80-character record to a FITS header file. 5. Write a numbered sequence of keywords to a FITS header file 6. Read FITS header records into character string buffer 7. Read the name, value, and comment fields of the nth keyword 8. Read the value and comment fields of a given keyword 9. Read the values of a given numbered sequence of keywords 10. Determine the datatype of a FITS value field 11. Read or write the required primary header keywords 12. Write a primary array of data values to the output FITS file 13. Read an array of data values from an input FITS file 14. Skip over a FITS data array or extension 15. Read or write the required header keywords for an ASCII table extension 16. Write rows of data to an ASCII table extension 17. Read rows of characters from an ASCII table extension 18. Read rows of data from an ASCII table extension 19. Read or write required header keywords for a binary table extension 20. Write rows of data to a binary table extension 21. Read rows of data from a binary table extension 22. Close reading or writing of a data section V. Description of FITSIO Utility Subroutines 1. Return the revision number of the FITSIO library 2. Parse binary table column format 3. Parse or make the TDIMnnn keyword value VI. Usage Notes and Hints 1. An alternate method of reading and writing binary tables Appendix A: List of Returned Error Status Codes Appendix B: Example Programs I. INTRODUCTION FITSIO is a machine-independent Fortran-77 subroutine interface for reading or writing data files in the FITS format (Flexible Image Transport System, Astronomy and Astrophysics Supplement, 44, 363). The FITSIO package is very flexible and allows programmers to read or write virtually any type of FITS file. Extensive error checking code has been built into the package to try to ensure that any FITS file created by the package adheres to the recognised FITS standards and recommendations. This allows programmers to read or write legal FITS files without having to be very knowledgeable about the low-level details of the FITS format. Nevertheless, it is essential that the programmer be at least generally familiar with the FITS format requirements, since it is quite possible to create files which violate the FITS standards if the FITSIO subroutines are not called correctly and/or in the proper sequence. The FITSIO package was originally developed for use by the HEASARC (High Energy Astrophysics Science Archive Research Center) at the Goddard Space Flight Center to convert various existing and newly acquired astronomical data sets into FITS format. The HEASARC will continue to support and enhance the FITSIO package and will provide the latest version of the source code and documentation to interested programmers free of charge via anonymous FTP. To get a copy of the documentation, source code, or example programs, type the following command at your computer operating system prompt: ftp tetra.gsfc.nasa.gov or ftp 128.183.8.77 Then type the following responses (comments appear in brackets and should not be typed on the command line): ftp> user anonymous Password: [type your own username as the password] ftp> cd pub [to move to the pub subdirectory] ftp> cd fitsio [to move to the fitsio subdirectory] ftp> ls [to see a list of available files] ftp> get read.me [or whatever other ASCII file you want] ftp> binary [switch to binary file mode; type 'ascii' to switch back to ascii mode] ftp> get fitsvax.olb [or whatever other binary file you want] ftp> exit [close the ftp connection and exit] Any questions, bug reports, or suggested enhancements related to the FITSIO package should be sent to the author: Dr. William Pence HEASARC Code 668 NASA/Goddard Space Flight Center Greenbelt, MD 20771 USA Telephone: (301) 286-4599 (SPAN) LHEAVX::PENCE or 6197::PENCE (Internet) pence@lheavx.gsfc.nasa.gov II. Description of the FITSIO Library A. Current Status The FITSIO package consists of about 5000 lines of Fortran source code divided into more than 100 subroutines. The subroutine names are 6 characters in length (the maximum allowed by Fortran-77) and all begin with the letters 'FT'. This package has been written as far as possible in strict Fortran-77 in order to improve maintainability and to ease porting of the code to other computers. Extensions to the Fortran-77 language have been used when absolutely required, but these have been limited to a small set of isolated machine-specific subroutines. The FITSIO subroutine package has been divided internally into 2 main parts: a set of machine independent subroutines and a smaller set of lower-level I/O subroutines which are specific to a particular computer. The FITSIO package has been ported to run on the following machines: Machine Type Source Code File ------------ ---------------- DEC VAX/VMS FITSVAX.FOR SUN workstations FITSSUN.FOR IBM mainframes FITSIBM.FOR IBM PCs (and compatibles) FITSPC.FOR (for Microsoft Fortran 5.0) B. Future Enhancements The HEASARC plans to continue to support and enhance the FITSIO package in the future. Possible future improvements include: - port the code to run on other machines. Users desiring a port to a particular machine should send the request to the author for consideration. - provide a C-language subroutine interface to the FITSIO library - provide a more flexible interface for reading ASCII and binary table extensions. Currently the table data must be read sequentially, but a much more flexible interface could be developed using direct access I/O to records within the FITS file. - provide support for direct reading and writing of fits files from magnetic tape. Any other suggestions for improvements to this package are welcome and may be sent to the author as described above. ----------------------------------------------------------------------------- -- Donald C. Wells Associate Scientist dwells@nrao.edu National Radio Astronomy Observatory +1-804-296-0277 Edgemont Road Fax= +1-804-296-0278 Charlottesville, Virginia 22903-2475 USA 78:31.1W, 38:02.2N -- comp.archives file verification tetra.gsfc.nasa.gov total 476 -rw-r--r-- 1 300 48 May 10 18:04 version.200 -rw-r--r-- 1 300 1285 May 10 17:50 read.me -rw-r--r-- 1 300 4353 May 10 17:46 example3.for -rw-r--r-- 1 300 4450 May 10 17:46 example2.for -rw-r--r-- 1 300 5711 May 10 17:46 example1.for -rw-r--r-- 1 300 2197 May 10 17:45 release.doc -rw-r--r-- 1 300 73996 May 10 17:45 fitsio.doc -rw-r--r-- 1 300 331 May 10 17:44 fitspc.for -rw-r--r-- 1 300 27223 May 10 17:41 fitssun.f -rw-r--r-- 1 300 32848 May 10 17:39 fitsvax.for -rw-r--r-- 1 300 154624 May 10 17:38 fitsio.olb -rw-r--r-- 1 300 154365 May 10 17:37 fitsio.for found fitsio ok tetra.gsfc.nasa.gov:/pub/fitsio/