IGNORE THIS FILE... it has not been updated for chemistry yet.

Please see README-BUG instead.

-------

WSM5 (WRF microphysics) test driver for host CPU and GPU, complete with test data sets.

To compile:
        Edit makefile for your system
        make
        (make clean also works)

        Makes 2 execs: rk_scalar_tend_driver_vanilla (host cpu) and
        rk_scalar_tend_driver_chocolate (gpu)

To run:
        CD to run and type runit or run the driver codes individually you
        will be prompted for step number (use 3) and the number of scalars
        to advect (any number >= 1) The driver copies the same scalar data
        into each element of the the 4D scalar arrays.  It does the work,
        and the data structures do increase in size to hold the number
        of scalars, but it's the same input being advected over and over.

        When the code runs, it produces a global mean for each level
        of the last scalar array (which should be the same as the for
        all the other scalar arrays).  Samples of this are included for
        each version in the run directory.  The driver also does ascii
        dumps of the advect_tend array to fort.90 and fort.91 for the
        orig and GPU versions respectively.

To do:
        Add diffusion

Contents:

This directory:

  README                        this file
  makefile                      make and make clean supported
  advect_scalar_pd_00.inc       original pos. def 5th ord advection
  advect_scalar.inc             original 5th ord advection
  cublas.h                      empty file, maybe not needed anymore
  cutil.h                       some redefinitions of macros
  debug.m4                      some debug macros
  libmassv.F                    massv compat library
  microclock.c                  microsecond timer based on gettimeofday
  module_advect_em.F            just includes to advect_scalar*.inc
  module_em.F                   test driver
  part1.inc                     CUDA advection part
  part3.inc                     CUDA pos definite limiter and tend update
  rk_scalar_tend.cu             CUDA host program

  rk_scalar_tend_2D.cu          some old version
  rk_scalar_tend_3D.cu.magnum   some old version
  spt.h                         macros (not used much here)
  spt.pl*                       macro translator (not used much here)

Subdirectory: run

  rk_scalar_tend_in_001001003   input data for step 1
  rk_scalar_tend_in_002001003   input data for step 2
  rk_scalar_tend_in_003001003   input data for step 3
  runit*                        script
  sample_vanilla                sample output from orig program (1 scalar)
  sample_chocolate              sample output from CUDA program (1 scalar)

