forrest@0: The Fractal Realizer (FR) code was originally developed under DEC Fortran
forrest@0: under ULTRIX (Yeah, incredible, huh?).
forrest@0: 
forrest@0: I have updated the Makefile to work well with the Portland Group Fortran
forrest@0: 77 compiler under RedHat 7.2 Linux.
forrest@0: 
forrest@0: Since this is a research code, I assume that users have some facility
forrest@0: with compilation and Makefiles.  The FR code consists of a visualization
forrest@0: portion, written in C, and the FR model itself, written in Fortran.
forrest@0: The Fortran portion is a subroutine called by the main C program.
forrest@0: The visualization portion is based on the XPM extension to X windows
forrest@0: (http://koala.ilog.fr/lehors/xpm.html),
forrest@0: written by Arnaud Le Hors.  The XPM extension is already present in
forrest@0: (almost) all recent versions of operating systems which include X windows,
forrest@0: so it is not necessary to get anything new.
forrest@0: 
forrest@0: When using non-Portland compilers, change pgf77 in the Makefile to
forrest@0: whatever your installation may have.  Since the C piece is main, many
forrest@0: Fortran compilers need to be given a "nomain" switch, or they get very
forrest@0: confused.  Since the syntax for this switch varies among compilers, you
forrest@0: may have to look up the equivalent switch for your particular compiler.
forrest@0: Since we use a lot of common blocks, a switch to align these on common
forrest@0: boundaries is helpful also.
forrest@0: 
forrest@0: Another typical cross-language problem is the number and placement of
forrest@0: underscores in the names.  Some compilers want "_MAIN_", while others
forrest@0: want "_MAIN" or other variants.  Since there is no universal solution,
forrest@0: you may have to mess with these names manually.
forrest@0: 
forrest@0: Function prototyping may be a problem, but shouldn't be if you use an
forrest@0: ANSI-compatible C compiler.  We have included a local strdup function,
forrest@0: but that shouldn't be a problem either.
forrest@0: 
forrest@0: It should be possible to get g77 to work, but I have not pursued this.
forrest@0: If you get g77 to work, or modify the Makefile to get other compilers to
forrest@0: work, please let me know (hnw@fire.esd.ornl.gov) so that I can incorporate
forrest@0: your improvements back into this distribution.
forrest@0: 
forrest@0: If you don't understand any of the above, don't worry -- you probably
forrest@0: don't have to.  JUST TRY IT AND IT WILL PROBABLY WORK.
forrest@0: 
forrest@0: 
forrest@0: Say "make depend"  and then "make fast"  to get an FR executable called
forrest@0: "realizer"
forrest@0: 
forrest@0: If you modify or do further development, you may wish to say "make debug"
forrest@0: or "make profile" to get debug and profile versions of the executable,
forrest@0: respectively.  This is not necessary to run the present version.
forrest@0: 
forrest@0: Then try it out with any of the included script files (*.scr) like this:
forrest@0: 
forrest@0: ./realizer < whatever.scr
forrest@0: 
forrest@0: When the FR runs, it writes an input script called input.scr, so if you
forrest@0: just want to change one or a few things, you can rename and edit input.scr
forrest@0: and rerun it easily.  The order and nature of the question prompts asked
forrest@0: by the FR are answer-driven and input-dependent, so larger manual changes
forrest@0: to input.scr may not work -- rerun ./realizer without redirected input
forrest@0: and answer new questions to regenerate a correct input.scr.
forrest@0: 
forrest@0: After the FR runs, it makes two output files called landscape.xpm and
forrest@0: ties.xpm
forrest@0: 
forrest@0: You can use the XPM utility sxpm, available on most systems, to view these
forrest@0: (xv will also work).
forrest@0: 
forrest@0: sxpm landscape.xpm
forrest@0: 
forrest@0: The FR program uses a heap sort to sort the entire map to find the
forrest@0: highest probability sites, so execution time will increase rapidly as
forrest@0: the size of the map is increased.  Execution time also increases with
forrest@0: increasing numbers of categories in the map.  Because of the midpoint
forrest@0: displacement algorithm for generating (pseudo)fractals, the maps must be
forrest@0: square, with sides of (2**n)+1.  However, the use of constraint masks
forrest@0: will permit oddly-shaped and smaller synthetic maps to be generated
forrest@0: while still preserving both p and the fractal dimension of each category.
forrest@0: 
forrest@0: We hope that the FR will prove useful (or at least stimulating) to you.
forrest@0: Please be sure to cite our Conservation Ecology paper in all work stemming
forrest@0: from the use of the FR, and be sure to let us know of any improvements
forrest@0: or suggestions that you may have ...
forrest@0: 
forrest@0:      ____                             Oak Ridge National Laboratory
forrest@0:       /  )      /  /      /  /        P.O. Box 2008, M.S. 6407
forrest@0:      /--<   o  /  /      /--/         Oak Ridge, TN  37830-6407
forrest@0:     /___/__<__/__/_     /  / _        (865) 241-2748
forrest@0:    William W. Hargrove                (865) 574-4665 (fax)
forrest@0:    FedEx/UPS, use "Bethel Valley Rd." http://research.esd.ornl.gov
forrest@0:    hnw@fire.esd.ornl.gov              http://research.esd.ornl.gov/~hnw