This file lists and explains the important parameters to run the program, 
     and identifies the location of the parameters.


!***************************************************************************
1)  Lat/Lon/Epsilon point definitions.
You can specify the points and surrounding rectangle that you wish to have 
subsetted by editing the file ./inputs/Locations.txt.

The lat/lon is specified in degrees, and ranges as follows:
	Longitude (-180 to 180), so 90 West  is -90
	Latitude  (-90  to 90 ), so 45 South is -45

The rectangle surrounding the point is specified in degrees, and is
    specified by a Latitude and Longitude epsilon as follows:
	Latitude  Epsilon is used as follows:
       		North Bound = Latitude  + EpsilonLat
		South Bound = Latitude  - EpsilonLat
	Longitude Epsilon is used as follows:
		 East Bound = Longitude + EpsilonLon
		 West Bound = Longitude - EpsilonLon

The following example explains how the file should be used.  Let's 
say that you would like to subset around a point in Oklahoma
(Lat = 36.63, Lon = -97.50), and a point on the shore of Lake Michigan
(Lat = 41.73, Lon = -87.30).  In addition, lets suppose that you would
like a rectangle of 5 degrees Latitude and 4 degrees Longitude to surround
the points.  Here is how you would set up the file:

2           <-- Specify the number of points.
Oklahoma    <-- Name the first point, this name will be a suffix for output files.
36.63       <-- Latitude  of first point.
-97.50      <-- Longitude of first point.
2.5         <-- Latitude  Epsilon of first point.
2.0         <-- Longitude Epsilon of first point.
LakeMich    <-- Name the second point.
41.73	    <-- Latitude  of second point.
-87.3  	    <-- Longitude of second point.
2.5	    <-- Latitude  Epsilon of second point.
2.0         <-- Longitude Epsilon of second point.


!***************************************************************************
2) Identification of directories to search for granules.
You can specify which directories of granules are to be processed 
by editing the file ./inputs/GranPathList.txt.

As an example, lets say that you would like the program to search 
three directories, then the file would look like this:

3				<-- Number of directories.
/ingest/MOD06/1999/065/		<-- First  directory path.
/ingest/MOD06/1999/066/		<-- Second directory path.
/ingets/MOD06/1999/067/		<-- Third  directory path.


!***************************************************************************
3) Identification of the subsetted Scientific Data Sets(SDS).
The program can be set up to subset all SDS in the HDF file, or you
can specify individual SDS to be subsetted.

You can create this list, or specify all the SDS by editing the
file ./inputs/SDSList.txt.

For example, if you would like to specify 5 SDS to be subsetted, the
file would look like this:

"Brightness_Temperature"	<--First  SDS.
"Surface_Temperature"		<--Second SDS.
"Surface_Pressure"		<--Third  SDS.
"Radiance_Variance"		<--Fourth SDS.
"Cloud_Optical_Thickness"	<--Fifth  SDS.
""				<--End of list identifier.

If you would like to have all of the SDS subsetted, then the file
would look like this:

"All"		<--All will tell the program that you wish to have all subsetted.
""		<--End of list identifier.


!***************************************************************************
4)  Special flags in the PERL script.
a)  To specify that you do not wish the spatial subsetting to occur, or in 
	other words, just copy the specified SDS over to the new HDF, you
	can set the following flag in the PERL script:
	$SpatialSubsetting = ".true." 	<--Perform the spatial subsetting.
	$SpatialSubsetting = ".false."	<--Copy SDS.

b) There are two print flags, which are set to true to print out the 
	location and granules being processed.  Setting them to false
	will cause the code not to print anything, but setting them to
	true will show you the progress of the code.  These flags are
	named:
		$PrintFlagLocName	<--Location Name print flag.
		$PrintFlagGranName	<--Granule  Name print flag.


!***************************************************************************
5) Special parameters in the PERL script:
a) Sometimes only a portion of the specified lat/lon/epsilon box is contained in
	a granule.  If the portion is too small to be useful, the code can opt
	not to create a subsetted granule.  The size that is considered too small
	is specified in the PERL script as a minimum useful box dimension.  For
	example, if the smallest useful box dimension is 4 pixels:
	$MinBoxDim = 4

b) If a directory contains different MODXY granules, the PERL script allows you
	to specify the beginning of the files that you would like.  It also allows
	you to specify a simple beginning (ex. MOD) to include all the different
	MODXY granules.  

	For example, if a directory contains MOD04 and MOD06 files:
	To consider only the MOD04 files for subsetting, set $MODForm to:
		$MODForm = "MOD04"
	To consider only the MOD06 files for subsetting, set $MODForm to:
		$MODForm = "MOD06"
	To consider both MOD04 and MOD06 files, set $MODForm to:
		$MODForm = "MOD"


!***************************************************************************
6)  Specifying file names and paths.  Contained in the perl script.
a) The directory structure is set up as follows:
		./		<--Main code path.
		./inputs/	<--Contains the input files.
		./output/	<--Contains the output files from a run.
	It is highly suggested that you do not alter this structure, but if it becomes
   	necessary, the following variables can be altered:
		$homeDir	<--Main code path.
		$inputDir	<--Contains the input files.
		$outputDir	<--Contains the output files from a run.

b) The names of the input files containing the inputs listed in sections(1-3) 
	are specified in the PERL script in the following variables.  
		$granPathList = "$inputDir/GranPathList.txt";
		$LocationList = "$inputDir/LocationList.txt";
		$SDSList = "$inputDir/SDSList.txt";
	This allows you to save your inputs for a certain run by renaming these 
	input files, and then you can use them by specifying their name in the
	PERL script.

c) One of the output files is a list of granules that were subsetted, for a given point.
	This file's name starts with the location name, and ends with a base name.
	For example, if the point is named Vermont, and the base is named SubGrans.txt, 
	then the output file will be named VermontSubGrans.txt.  To change the base name,
	alter this variable in the PERL script:
		$BaseSubGranList = "SubGrans.txt";

d) There are two files that are created and used by the F90 code to input the run
	parameters.  There names are as follows:
		$granList = "$inputDir/GranuleFlnms.dat";
			This contains the list of granules to be processed.  This
			name can be altered in case you want to save a particular
			list and use it later.
		$progInputsFile = "$inputDir/F90Inputs.dat";
			This contains the list of run parameters.  This name is 
			hardwired into the F90 code.  If you choose to alter the 
			name, then you must edit the Inputs.f90 code to reflect 
			this change.  Due to this, it is highly recommended that
			no changes be made to this name.
!***************************************************************************
