README: Version 2012-09-17 Suggestions, comments, and corrections are welcome (mail to kmanning@ucar.edu). I've tried to do some careful documentation in the code of simple_driver.F, in order to be as clear as possible about what I think is going on. I've tried describe particularly the input to and output from SFLX. Please let me know of any necessary corrections. Let me know, as well, if what I think is going on is not what should be happening. Source code: The main driver code is "simple_driver.F". I've tried to be very clear in documenting the code and program flow in the main routine. The Noah LSM code is in file "module_sf_noahlsm.F"; the main interface to this code is the call to subroutine SFLX in the driver. Other source-code files handle utility codes and details of the I/O procedures, and are not really intended for public consumption. But feel free to hack away at those codes if you've got some ideas. Note on NetCDF libraries: This code requires that the NetCDF libraries are installed on your machine. In general, the code provided here should be compiled with the same compiler used to create the NetCDF libraries. Note on the graphics code: This distribution includes a plotting program, written with the NCAR-Graphics low-level utilities, for creating simple plots of the 1d driver output. This is located in subdirectory "graphics". This graphics code requires that the NCAR-Graphics libraries are installed on your machine. Other libraries associated with NCAR-Graphics tend to be pretty specific to your installation. The graphics code is set up to compare two NetCDF output files to the observations found in the file "bondville.val". It is pretty bare-bones stuff, and probably does not do what you want it to. Don't expect much of it. Right now, you are basically on your own for any more sophisticated graphical display of model output. To compile: Edit the user_build_options to choose compiler, compiler options, libraries, etc. Adjust compiler options and library paths as necessary from the default settings provided in user_build_options. Set an environment variable NCARG_ROOT to the top-level path for NCAR-Graphics libraries and include files. Invoke "make" to compile. This should create executable file "driver.exe". Note that the Makefile included here is set up for the GNU make utility. If "make" does not work on your system, try "gmake". To compile the graphics code, change to the "graphihcs" directory and invoke "make". To run: execute: "driver.exe bondville.dat" Input file: The forcing data and initial data are combined in a single file, in this case called "bondville.dat". A namelist section in that file describes site parameters and initial conditions. The namelist is followed by records of forcing fields. Output file: The program is set up to create both ASCII and NetCDF output. Output will go to files "OUTPUT.txt" and "OUTPUT.nc". At the driver level, the code to add or remove variables in the output files is easily adaptable. See (in the driver code) the calls to subroutines output_levels and output_var. If iteration over the same year of data is activated, output files will be called OUPUT..txt and OUTPUT..nc, where is the four-digit iteration number (starting from zero). To create some simple graphical output: To try the graphics code, change to the "graphics" directory, and execute: "graphics.exe -namelist graphics.namelist ../OUTPUT.nc ../OUTPUT.nc". The program creates an NCAR-Graphics gmeta file called "compare.cgm" Some tuning of the graphics is possible via options in the "graphics.namelist" file. The program is set up to compare two files; if one file is named twice, lines are overwritten so you effectively get the results of that one file. To see a few simple options to the graphics program, execute "graphics.exe -help"