Institute of Physics, Polish Academy of Sciences This is a database of computer Programs for ROtational SPEctroscopy
 
 
 
  
About this database
Summary of the available programs
Conditions of use
How to download
Notes on FORTRAN and on the FORTRAN graphics in these programs
Notes on gle graphics used for PostScript output
  
  
Useful Relations for Rotational Spectroscopy

       

Programs for ROtational SPEctroscopy

    

        This is a collection of programs for various aspects of the rotational spectroscopy problem. For those who are already using these programs an upgrade is possible from here. The site is also to serve as a documented archive for the IFPAN group.

        The main reason for creating this site is the experience that the advances in computer power have not been reflected in the quality of software available to a typical rotational spectroscopist. The codes of 1960/1970 are still in use, and many are unparalleled in the beauty of their FORTRAN. However, as handed down to current students, they suffer from very sparse documentation, lack of source commenting and cryptic input/output. Most of the programs listed here offer some advance on these counts.

        The level of the listed programs is very uneven. They range from 'state of the art' solutions to specific problems (e.g. QSTARK, STRFIT), to simple, yet useful tools (EVAL, PLANM). The various spectral fitting programs now face strong competition from the superb SPFIT/SPCAT package of H.M.Pickett. I am still surprised, however, that the older fitting programs have by no means been relegated from use. I hope that this is not entirely due to inertia and familiarity, but also to greater user friendliness and minimal learning curve. Nevertheless, the current importance of SPFIT/SPCAT is such that a separate section is devoted to various add-ons to get even more out of that package.

        The majority of the programs on this site have been written in our group although the number of donated programs is on the increase. Our programs are often based on preceding older code, for which I tried to acknowledge authorship when known. All of our programs are deeply rooted in the 1970's discovery that computing can have a 'human face' and programs can be INTERACTIVE! This is nevertheless not taken too far, as coding is, on the whole, rather conservative. Considerable effort has gone into commenting the source, and intelligible input and output, but interactivity rarely goes beyond simple ASCII menus. With some exceptions mice and GUI's are studiously ignored. The several graphics programs are keycode operated, although help screens are available. All programs contain extensive descriptive headers in the listings.

        Some older programs of other authors (like the classic STARK) are put out here without explicit consent of the authors, who may no longer be reachable. In keeping with the tradition of this field I assumed implicit consent of the original authors to such action. If this is not the case then please let me know. Several programs written by other people have had internal workings unaltered, while changes have been made to input, output, and commenting in the listing.

        Making these programs available publicly is a way of paying my debt to the many predecessors in programming for rotational spectroscopy from whose code I have been able to draw freely. I would be happy to accept programs to add to this site on a deposited basis. The required minimum would be the listing, specimen data, output for the specimen data and, as importantly, concise but clear documentation, including a suggested reference for example of use as well as citation.

        Comments on the programs already put up are also appreciated but I cannot promise a rapid reaction time unless some really grave error is spotted.

        Zbigniew Kisiel, kisiel@ifpan.edu.pl

An introductory description of this site was given on p.103 of the paper below, which is also the recommended reference if you want to cite this site as a whole:
Z.Kisiel, in: J.Demaison et al. (Eds.), Spectroscopy from Space,  Kluwer Academic Publishers, Dordrecht, 2001, pp.91-106.PROSPE paper

       

GROUPS of programs
 
 
 

       

Summary of the available programs:

 

  Analysis of spectra
AABS The AABS package for Assignment and Analysis of Broadband Spectra: consists of linked viewers of spectra and predictions, which are integrated with several programs for fitting/prediction

Several other programs for analysis of broadband spectra are also available - you will find a brief comparison and links here

  Asymmetric rotor
ASFIT To fit rotational transitions in an asymmetric top with various versions of Watson's asymmetric top Hamiltonian, tailored for repetitive online operation 
ASROT Predictive program complementing ASFIT 
ASCP Graphical program to display spectral predictions from ASROT and from Pickett's program SPCAT
PICKETT A family of postprocessing programs: PISORT, PIFORM, PISLIN, PICHAM to deal with output from H.M.Pickett's programs SPFIT/SPCAT + a Crib-sheet to SPFIT/SPCAT
CONVC Conversions between various types of asymmetric rotor constants
PLANM Planar moments of inertia and associated quantities
PLAN Quadratic, quartic and sextic planarity relations among asymmetric rotor constants
  Symmetric rotor
SYMF Interactive symmetric top, ground state fitting program along the lines of ASFIT 
SYMTOP Simple SYMmetric TOP predictive program 
LFITD Interactive fitting program for v=1 state of E-symmetry mode in a C3v symmetric top
V2E Fitting program for v=2 state of E-symmetry mode in a C3v symmetric top
  Linear rotor
OCS Calculation of OCS calibration spectra from data for most known isotopologues and excited states, results are intended to be merged and previewed with ASCP
  Internal rotation
XIAM IAM internal rotation program of Holger Hartwig from the Kiel group for up to three symmetric internal rotors and up to one quadrupolar nucleus
ERHAM Peter Groner's Effective Rotational HAMiltonian program for molecules with up to two-periodic large-amplitude motions
BELGI The BELGian Internal Rotor program of Isabelle Kleiner et al. for a C3v rotor attached to a Cs or a C1 framework
MOIAM

IAMCALC

These two programs of H.M.Pickett are hosted on the jpl site, are based on the IAM approach, and allow generation of an input deck to use SPFIT for fitting internal rotation. Documentation is, alas, limited to that in moiam.c and iamcalc.c source codes.
  Nuclear quadrupole coupling
NSYM To predict hyperfine splitting in a linear/symmetric top with one quadrupolar nucleus
ASQ1P To predict hyperfine splitting in an asymmetric top with one quadrupolar nucleus - first order calculation only but produces handy plots of expected splitting patterns
Q2FIT To fit rotational transitions for an asymmetric top with up to two quadrupolar nuclei in the I,F coupling scheme.
QDIAG Diagonalization of the inertial quadrupole tensor with errors
QPRINC Rotation of the quadrupole tensor from its principal to inertial axes
  Electric dipole moment
STARK Ribeaud's venerable STARK to predict first, second and mixed order Stark shifts in an asymmetric rotor without nuclear coupling
SZK Modified version of Pickett's STARK to do basically the same thing as above, but from an .STK file produced by SPCAT
QSTARK To fit Stark shifts in rotational transitions for a rotor with up to one quadrupolar nucleus by direct matrix diagonalization for each value of the electric field and M
  Structural calculations
PMIFST Graphical molecule display program tailored to the needs of rotational spectroscopy - the name comes from calculation of Principal Moments of Inertia from STRucture 
STRFIT General STRucture FITting program to fit internal coordinates directly to moments of inertia of multiple isotopic species
KRA Substitution coordinates from Kraitchman's formulae for single isotopic substitution 
EVAL Evaluation of internal coordinates from Cartesians
CORSCL Scaling of trial molecular geometry for better prediction of isotopic spectra
RGDFIT Fitting of coordinates of a Rare-Gas atom in a molecule-Rg dimer
  Vibrational calculations
VIBCA Calculation of miscellaneous quantities from the harmonic force field including quartic centrifugal distortion constants, Coriolis coefficients, vibrational contributions to moments of inertia...
VECTOR Graphical display of normal coordinate displacement vectors from VIBCA
FCONV Force constant conversions, which include setting up of a VIBCA data set from results of a GAMESS force field run
ANHARM Energies, eigenvectors and vibrational transitions for a reduced anharmonic potential
  Handling of spectra (some of these programs are only  intended for local use and are of limited general applicability)
RECSPE
The RECSPE package for RECovery of legacy paper SPEctra: consists of a family of programs that allow conversion of a paper spectrum scanned into bitmap images to a calibrated digital spectrum for use in analysis or just for display
SVIEW Generalised viewer for frequency domain spectra
MODSPE Spectral transformation program for broadband MM-wave spectra 
SLIST Listing and sorting program for IFPAN MMW spectra
FM File Manager for IFPAN FTMW spectral files, compresses individual spectra into archives and allows various maintenance operations on such archives
VIEWM Viewer for IFPAN FTMW spectral archives
VIEWF Viewer for IFPAN FTMW spectral files in the current directory
VKIEL Viewer for FTMW files recorded in the KIEL standard
  Molecular modeling
RGDMIN Structures of molecule..Rg dimers from a simple distributed model for the dispersive interaction
MIN16 Structures of hydrogen bonded dimers from the electrostatic model of Buckingham and Fowler
 
 
      
     The sections below discuss some general issues associated with using these programs, downloading, compilation and gle graphics.

   

 
 
      
  Use of these programs
 

        License: This site was established before the current practice of licensing was established.  Some of the programs are old enough to precede the licensing concept altogether.  All of these programs were developed in the academic environment, as part of non-profit, scientific research.  The general licensing conditions (unless otherwise stated in connection with a specific program) are laid out below.  Your use of the programs from this site is assumed to constitute agreement to the following conditions:

        The use of these programs is free.

        The copyright for a given program is assumed to belong to its author, who is clearly identified in the description of the program on this site, or in the header printed by the program.

        There is no objection to modification of those programs for which the source code has been made available.   Nevertheless, in order to avoid confusion:  1/ please change the program name 2/ insert appropriate comments at the top of the listing 3/ preserve or add comments acknowledging the original source.

        If a program is found useful in publishable research and you want to acknowledge it, then please cite the paper suggested in the description of the program - in particular if the program is not one of mine.

        If there is no suggested publication for a program and/or you wish to acknowledge the use of this site then please cite this publication.  You might, optionally, also cite the link to this site as:  "Z.Kisiel, PROSPE - Programs for ROtational SPEctroscopy, http://info.ifpan.edu.pl/~kisiel/prospe.htm."

- - -

        Version date: Each of my programs displays this on the header printed at the beginning of operation, and also carries it near the top of the listing. Many of the programs are in continuous use, and new capabilities are put in as required. The more significant changes are pointed out in the PROSPE latest listing, but incremental changes are only identified by the version  number and the associated comment in the source code listing.

        Internal documentation: Sufficient documentation for each program should normally be available on its web-page. However, please note that many programs carry additional/duplicate documentation at the top of their .FOR source listing. It is recommended that this be inspected, even if you are not FORTRAN literate.

      

 
 
      
  Downloading
    

       All programs are available both as FORTRAN source (see the notes below) and as DOS/Windows executables. If an explicit link to the executable is not provided, just change the ending of the link to the FORTRAN listing from .FOR to .EXE.

       Some rare, but recurring, problems may arise due to differences in handling of text files by various systems:

       Line termination:  This web site is on a UNIX machine and all text files (i.e. FORTRAN listings, data and output files) are in the UNIX ASCII format. In this format each line is terminated only with the LF character, whereas in WINDOWS/DOS, in particular, lines have to end with both LF and CR characters. Thus there may be compatibility problems on direct downloading to file onto WINDOWS/DOS machines. The easiest way to ensure that the text files, such as program listings, are compatible with your system is to read the file first into the viewer and then to save it using the FILE / SAVE AS options.

       If ASCII file type conversion is necessary it can be made with a suitable text editor.  In addition, the unix2dos utility, which is native to UNIX environments, is also available for DOS. If you have no better ideas, try this University of Vaasa site - download the file dtuc11.zip and use the program UTDC.EXE contained therein.

       Encoding:   An associated problem with text files is that of encoding.  The name ASCII is, in fact, the name for a specific way of encoding characters by using one byte of storage for one character.  One byte character encoding is now a subset of many different character encoding schemes, which may also use multiple bytes per character.
 
      One byte character storage is still the safest way for text input files to programs on this website.  An easy way to check whether you do not have multibyte encoding is to load the file into a text editor, make it count the number of characters in the file, and compare that with the size of that file on disk.  If the numbers differ by a factor close to 2 or 4 then your encoding is not single byte.  Many text editing programs allow you to convert to single byte encoding.

      

 
 
      
  Notes on FORTRAN
      

General:

        All programs are in FORTRAN of basically F-77 vintage and, unless they contain graphics, compile in standard manner in DOS/WIN, UNIX, and MAC environments. The expected reply to YES/NO type of question is 1/0, unless Y/N is explicitly suggested in the prompt. Pressing just the ENTER key often suffices for 0.

       Most contemporary compilers no longer use default static memory allocation that preserves values of variables previously set in some subroutine. Many programs assume this to be the case so that you need to use an appropriate keyword to enforce static allocation. For example on the f77 compiler on SGI machines this is the -static option, whereas with Intel Visual Fortran you have to use option -Qsave. Note that with some compilers optimization options used not to be safe. With good compilers this is no longer the case, but if problems crop up it is still good to check by disabling optimization.

        Minimal tweaking may be necessary for several trivial issues such as

  • the edit descriptor in FORMAT statements used to halt carriage control - I generally use the $ character for this, but the occasional backslash character \ may have slipped in and this is less widely recognized
  • the bell signal is hard coded as CHAR(7) and many systems will probably just ignore it

Graphics:

        Some graphics is clearly better than none and after early experimentation I selected the graphics package that appeared for the first time with Microsoft Fortran 5.0 (MSF5). This is regrettably tied to the PC DOS/WIN world, but works well enough. Further development has been to combine these graphics with large memory requirements, and the solution came with Microsoft PowerStation Fortran 1.0 (MSPS1). For the NT/WIN95+ systems the same graphics became available in Microsoft PowerStation 4.0 (MSPS4). Microsoft then sold off its Fortran to DIGITAL who were, in turn, acquired by COMPAQ. Another change of ownership then took place, and the current version (10) is under the INTEL brand name. Various compatibility issues are as below:

        MSF5 (Microsoft Fortran 5): this code seems to be the most troublefree, but it has to be run in a full-screen MS-DOS window (or just DOS). Programs use only the low DOS memory, so cannot be too large and screen resolutions higher than VGA are not supported. This version was the only one tested on an Apple (PowerMac) and worked very acceptably on the W3.0 emulator found there, and is able to run on PC's ranging from 286/Hercules to PIV/Windows 2000+.

        MSPS1.0 (Microsoft PowerStation Fortran 1): programs have access to much more memory and to resolutions higher than the VGA. Full screen operation is still by far the best mode, although (extremely slow) operation in a window is possible. A 32-bit DOS extender, DOSXMSF.EXE, is required and the programs are best launched from DOS. For W95/W98 it is necessary to block detection of Windows from DOS, which is done in the properties/advanced section of the MS-DOS window. Furthermore resolutions higher than VGA, which work fine within W3.1, are subject to various problems in W95+. Also note that compilation with the optimization options produces code that crashes very nicely.

        This was for a long time our preferred version, but there are portability problems. I am not clear on the legalese concerning the DOSXMSF.EXE extender (and the associated DOSXNT.386). They may, or may not be available from the Microsoft www page, but they seem to be available from various sites. They are, for example, included in the DOS/Windows3.x version of the ICON-EDiT package available from http://iacrs1.unibe.ch/members/iconedit.html#iconedit. Note that there are various sizes and dates of these files and some are not compatible with W95+.

        MSPS4.0 (Microsoft PowerStation Fortran 4): this produced native NT/W95+ applications which was fine but recompilation of older code with minimal modifications produced results that were inferior in many respects to the code from MSPS1.0. In addition there were many evident bugs in the compiler.

        CVF6 (Compaq Visual Fortran 6): this turned out to be a much more reliable implementation of Fortran for the Windows environment, and most of the old graphics inherited from the MSF5.0 still works. The OpenGL graphics (available since MSPS4.0) is well documented so this version may form a springboard in that direction. Much of the behaviour suspect with MSPS4.0 has been understood. Many of the changes since MSPS4.0 have the robust feeling of DEC Fortran about them, and there has been useful manufacturer support for this version.

        The downsides are relatively few, one being that links with the past have to be broken as the executables will no longer run in Windows 3.x or clean MS-DOS. Also the executables have become three times larger, and the graphics runs many times slower than with MSPS1. It is a sign of the times that nowadays nobody seems to care about such things, since they are usually more than adequately compensated for by advances in the hardware. Finally the number of changes in the code are just a little bit too many to keep a single source compatible with running on older systems, so older graphics versions of my programs are being successively discontinued. This version (6.6B) is currently our preferred version, although the next incarnation (see below) is also used interchangeably.

        IVF11 (Intel Visual Fortran Compiler for Windows): This is the latest incarnation of this indestructible compiler following transfer of the CVF compiler line to INTEL. It is assured to be backwardly compatible with the CVF6 version.

        If you are confused, here's a recap - the ownership trail for this compiler is: MICROSOFT->DEC->COMPAQ(+HP)->INTEL

      

 
 
      
  Notes on gle
 

        Many of the graphics programs on this site, in particular those from the AABS and RECSPE packages, and PMIFST, produce high-quality printouts by outputting files for gle, which can then generate PostScript, EPS or PDF output.

        gle stands for graphics layout engine, and was originally written by Chris Pugmire in the early 1990's. This is a freely available program and its appeal for many computer users is that the control file for the drawing is plain ASCII, so it can be manipulated with any editor. The language is fairly straightforward, yet powerful, so that very sophisticated diagrams can be created in a completely transparent manner. You can peruse these background notes on gle, for additional  historical information.

        It is recommended that you install the currently available version of  gle (gle v.4.2 or above), since this comes with a very useful QGLE viewer/WYSIWYG editor.  You also need to preinstall the GSview/Ghostscript package. After successful installation all you need to do is to click on any  .gle file to view the diagram in QGLE, and proceed from there.  Thus, if you want to obtain a PDF diagram from, say ASCP_L, first generate the appropriate files using the G option of ASCP_L. This will produce several files, only one of which has the extension .gle.  Once that file is loaded into QGLE you can use one of the many export options in File menu of that program.

        The programs on this website mostly stick to the script standard of the 4.0.7 subversion of gle, which was completely backward compatible.  In the current versions some of those scripts may suffer from a small change in the placement of the diagram on the page, which can be remedied by enclosing all of the lines in the script that follow the size command into a translate block:

        begin translate xx yy
           ...
        end translate

where xx and yy are shift parameters in cm units. It is also recommended that you set the script version indicator in QGLE to 3.5 (in the top right subwindow on the taskbar).


 
 
                 
 
 
Institute of Physics, Polish Academy of Sciences
This site is subject to continuous modification...

Use the refresh option of your browser to make sure you are reading the current version.

 
 
              

Webmaster: kisiel@ifpan.edu.pl