NOTE: The most up-to-date version of cloudtracker may be found at 

https://github.com/freedryk/cloudtracker

-----------------------------------

To run cloudtracker, the following Python modules must be installed:

numpy
networkx

And *either*:

netcdf4-python or pupynere

---------------------------

The model_config.cfg file contains model-specific parameters that need to 
be set for your model, and the location of a directory containing the input 
NetCDF files.

--------------------------

cloudtracker takes a set of NetCDF files as input.  There should be one
file per model time step, and the files should be named so that an ASCII 
sort will put them in order of increasing time.  The easiest way to do 
this is simply by appending an index to the files, like so:

file_0000001.nc
file_0000002.nc
file_0000003.nc
...

cloudtracker will treat every file in the input directory as a valid 
input file, so ensure only the NetCDF files for processing are present
in the directory.

Each NetCDF file should contain the following integer variables:

core: 1 for buoyant, upward moving model points with condensed liquid water,
      0 otherwise
condensed: 1 for model points with condensed liquid water 
      0 otherwise
plume: 1 for model points conforming to the tracer criteria defined in 
       Couvreax et al. (2010)
      0 otherwise

And the following floating point variables:
u: east-west velocity
v: north-south velocity
w: up-down velocity

All variables should be of size (nz, ny, nx), as defined in model_config.cfg.

-------------------------

A small set of example input files is included in the example_input directory.
The model_config.cfg file is set to work with these files.

To test cloudtracker, type the following at a command line:

./track_clouds.py model_config.cfg

The following output should appear:

generate cloudlets; time step: 0
	179 core cloudlets
	124 condensed cloudlets
	651 plume cloudlets
generate cloudlets; time step: 1
	190 core cloudlets
	103 condensed cloudlets
	650 plume cloudlets
cluster cloudlets; time step: 0
	135 clusters
cluster cloudlets; time step: 1
	146 clusters
make graph
	Found 35 clouds
output cloud data, time step: 0
Timestep: 0
Number of Clouds at Current Timestep:  36
output cloud data, time step: 1
Timestep: 1
Number of Clouds at Current Timestep:  36

cloudtracker will create an output directory and place the results of the 
cloud tracking there.  The output consists of a set of text files, one 
for each model input files,  containing of a set of entries for each 
grid point belonging to a cloud with the following form:

(id, type, z, y, x)

id is a unique integer identifying a tracked cloud.
type is one of 'core', 'condensed', 'plume', indicating the type of point
z, y, x are the model grid indexes

cloudtracker will also create a pkl directory, containing temporary saved
data used as the algorithm runs in python pkl format.
