Oklahoma State University

CMLS98B Platforms

Purpose | Processes and Assumptions | Installation | Use | Example | References | Acknowledgements
Program Structure | Platform Dependencies | File Structures

PROGRAMMING CONCERNS WHEN CHANGING PLATFORMS

The CMLS98B source code is basically standard ANSI C and should compile with few, if any, problems on any platform with a compiler which supports ANSI C. Although it compiles without error, the program may not work correctly on all platforms. Care should be exercised when moving this code to another computer or operating system. Three specific problems encountered are listed below.

  1. Size of integer variables: The random number generator, ran1(), in FUNGEN.C use 32-bit integers. This is the standard size of "int" on SPARC platforms. However, DOS machines generally use 16-bit integers. The variables associated with ran1() must be changed to "long" integers in DOS. If this is not done the random number generator will have an unacceptably small set of different "random" numbers.
  2. Maximum years to be simulated: Throughout CMLS94, int type variables are used for accessing array elements. If int variables are represented by 16-bits, this limits the number of days that can be simulated to less than 32767 days. This means the DOS version cannot support 100 year simulations as is standard on the SPARC.
  3. Memory limitations: The maximum number of days which can be simulated will depend upon the amount of random access memory available. In DOS machines, the program was compiled and tested for simulations lasting a maximum of 40 years.


Document Actions