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