README.previous
author Forrest Hoffman <forrest@climatemodeling.org>
Wed, 26 Sep 2007 17:50:53 -0400
changeset 0 5fda18b64dcb
permissions -rw-r--r--
Initial commit of the Fortran-90 version of the Fractal Realizer.
     1 The Fractal Realizer (FR) code was originally developed under DEC Fortran
     2 under ULTRIX (Yeah, incredible, huh?).
     3 
     4 I have updated the Makefile to work well with the Portland Group Fortran
     5 77 compiler under RedHat 7.2 Linux.
     6 
     7 Since this is a research code, I assume that users have some facility
     8 with compilation and Makefiles.  The FR code consists of a visualization
     9 portion, written in C, and the FR model itself, written in Fortran.
    10 The Fortran portion is a subroutine called by the main C program.
    11 The visualization portion is based on the XPM extension to X windows
    12 (http://koala.ilog.fr/lehors/xpm.html),
    13 written by Arnaud Le Hors.  The XPM extension is already present in
    14 (almost) all recent versions of operating systems which include X windows,
    15 so it is not necessary to get anything new.
    16 
    17 When using non-Portland compilers, change pgf77 in the Makefile to
    18 whatever your installation may have.  Since the C piece is main, many
    19 Fortran compilers need to be given a "nomain" switch, or they get very
    20 confused.  Since the syntax for this switch varies among compilers, you
    21 may have to look up the equivalent switch for your particular compiler.
    22 Since we use a lot of common blocks, a switch to align these on common
    23 boundaries is helpful also.
    24 
    25 Another typical cross-language problem is the number and placement of
    26 underscores in the names.  Some compilers want "_MAIN_", while others
    27 want "_MAIN" or other variants.  Since there is no universal solution,
    28 you may have to mess with these names manually.
    29 
    30 Function prototyping may be a problem, but shouldn't be if you use an
    31 ANSI-compatible C compiler.  We have included a local strdup function,
    32 but that shouldn't be a problem either.
    33 
    34 It should be possible to get g77 to work, but I have not pursued this.
    35 If you get g77 to work, or modify the Makefile to get other compilers to
    36 work, please let me know (hnw@fire.esd.ornl.gov) so that I can incorporate
    37 your improvements back into this distribution.
    38 
    39 If you don't understand any of the above, don't worry -- you probably
    40 don't have to.  JUST TRY IT AND IT WILL PROBABLY WORK.
    41 
    42 
    43 Say "make depend"  and then "make fast"  to get an FR executable called
    44 "realizer"
    45 
    46 If you modify or do further development, you may wish to say "make debug"
    47 or "make profile" to get debug and profile versions of the executable,
    48 respectively.  This is not necessary to run the present version.
    49 
    50 Then try it out with any of the included script files (*.scr) like this:
    51 
    52 ./realizer < whatever.scr
    53 
    54 When the FR runs, it writes an input script called input.scr, so if you
    55 just want to change one or a few things, you can rename and edit input.scr
    56 and rerun it easily.  The order and nature of the question prompts asked
    57 by the FR are answer-driven and input-dependent, so larger manual changes
    58 to input.scr may not work -- rerun ./realizer without redirected input
    59 and answer new questions to regenerate a correct input.scr.
    60 
    61 After the FR runs, it makes two output files called landscape.xpm and
    62 ties.xpm
    63 
    64 You can use the XPM utility sxpm, available on most systems, to view these
    65 (xv will also work).
    66 
    67 sxpm landscape.xpm
    68 
    69 The FR program uses a heap sort to sort the entire map to find the
    70 highest probability sites, so execution time will increase rapidly as
    71 the size of the map is increased.  Execution time also increases with
    72 increasing numbers of categories in the map.  Because of the midpoint
    73 displacement algorithm for generating (pseudo)fractals, the maps must be
    74 square, with sides of (2**n)+1.  However, the use of constraint masks
    75 will permit oddly-shaped and smaller synthetic maps to be generated
    76 while still preserving both p and the fractal dimension of each category.
    77 
    78 We hope that the FR will prove useful (or at least stimulating) to you.
    79 Please be sure to cite our Conservation Ecology paper in all work stemming
    80 from the use of the FR, and be sure to let us know of any improvements
    81 or suggestions that you may have ...
    82 
    83      ____                             Oak Ridge National Laboratory
    84       /  )      /  /      /  /        P.O. Box 2008, M.S. 6407
    85      /--<   o  /  /      /--/         Oak Ridge, TN  37830-6407
    86     /___/__<__/__/_     /  / _        (865) 241-2748
    87    William W. Hargrove                (865) 574-4665 (fax)
    88    FedEx/UPS, use "Bethel Valley Rd." http://research.esd.ornl.gov
    89    hnw@fire.esd.ornl.gov              http://research.esd.ornl.gov/~hnw