/**********************************************************************
 * TDRP params for Tracks2Ascii
 **********************************************************************/

//======================================================================
//
// Program name: Tracks2Ascii.
//
// Tracks2Ascii prints out storm and track data to stdout in columm 
//   ASCII format, suitable for use by spread-sheet, data-base or similar 
//   application. Storm properties are seleted using the TRACK_ENTRY 
//   option, while aggregate track propertes are selected using the 
//   COMPLETE_TRACK option.
//
//======================================================================
 
//======================================================================
//
// DEBUG AND PROCESS CONTROL.
//
//======================================================================
 
///////////// debug ///////////////////////////////////
//
// Debug option.
// If set, debug messages will be printed appropriately.
//
// Type: enum
// Options:
//     DEBUG_OFF
//     DEBUG_NORM
//     DEBUG_VERBOSE
//

debug = DEBUG_OFF;

///////////// instance ////////////////////////////////
//
// Process instance.
// Used for registration with procmap.
// Type: string
//

instance = "Test";

//======================================================================
//
// DATA INPUT.
//
//======================================================================
 
///////////// input_dir ///////////////////////////////
//
// Directory path for input data.
// This is used if start and end times are specified on the command 
//   line. It is ignored if you specify a file list using -f on the 
//   command line.
// Type: string
//

//input_dir = "$(RAP_DATA_DIR)/titan/storms";
//input_dir = "/home/Radar_Data/AHSP_TITAN_Backup_2/projDir.olds/data/titan/stormsnew";
//input_dir = "/home/Radar_Data/AHSP_TITAN_Backup_2/projDir.olds/data/titan/storms";
//input_dir = "/home/Radar_Data/AHSP_TITAN_Backup_2/projDir.olds/data/titan/storm_headers_4kmvil";
//input_dir = "/home/Radar_Data/AHSP_TITAN_Backup_2/projDir.olds/data/titan/storms_ops";
//input_dir = "/home/Radar_Data/AHSP_TITAN_Backup_2/projDir.olds/data/titan/storms_vilall";
//input_dir = "/home/Radar_Data/AHSP_TITAN_Backup_2/projDir.olds/data/titan/storms_vilml";
input_dir = "/home/Radar_Data/AHSP_TITAN_Backup_2/projDir.olds/data/titan/storms";


///////////// target_entity ///////////////////////////
//
// Entity for which data is sought.
// COMPLETE_TRACK - properties for the whole track. Where more than one 
//   part exists at a time the properties are aggregated from the parts. 
//   TRACK_ENTRY - instantaneous storm and track properties for each part 
//   of the tracks at regular intervals. INITIAL_PROPS - properties at the 
//   start of the track, used for selecting storms similar to seeded cases 
//   in weather mod activities.
//
// Type: enum
// Options:
//     COMPLETE_TRACK
//     TRACK_ENTRY
//     INITIAL_PROPS
//

target_entity = TRACK_ENTRY;
//target_entity = COMPLETE_TRACK;

///////////// use_complex_tracks //////////////////////
//
// Option to process complex tracks.
// If set, tracks with mergers and splits will be processed.
// Type: boolean
//

use_complex_tracks = TRUE;

///////////// use_simple_tracks ///////////////////////
//
// Option to process simple tracks.
// If set, tracks without mergers and splits will be processed.
// Type: boolean
//

use_simple_tracks = TRUE;

///////////// count_only //////////////////////////////
//
// Option to only count storms to get total number.
// Suppresses normal print output.
// Type: boolean
//

count_only = FALSE;

///////////// sample_interval /////////////////////////
//
// Sampling interval (secs).
// TRACK_ENTRY entity only. The track entry properties are printed out 
//   at this interval. If set to -1, all entries are printed.
// Type: int
//

sample_interval = -1;

///////////// scan_interval ///////////////////////////
//
// Volume scan interval (secs).
// Used in conjunction with sample_interval to determine whether to 
//   print the entry for a given scan. It is a temporal search region. If 
//   no entries lie within this interval on either side of the search 
//   time, no analysis is done for this time.
// Type: int
//

scan_interval = 360;

///////////// min_duration ////////////////////////////
//
// Minimum track duration (secs).
// Only tracks which exceed this duration are processed.
// Type: int
//

min_duration = 900;

///////////// use_box_limits //////////////////////////
//
// Option to limit analysis to a bounding box.
// If set, only tracks which pass through the box will be processed.
// Type: boolean
//

use_box_limits = FALSE;

///////////// box /////////////////////////////////////
//
// Box parameters.
// The parameters of the bounding box - see 'use_box_limits'. The size 
//   limits are in km relative to the grid origin. min_percent is the 
//   minimum percentage of the tracks which must lie inside the box. 
//   min_nscans is the minimum number of scans for which storms must lie 
//   in the box. If either of these conditions is true, the track is 
//   accepted for analysis.
//
// Type: struct
//   typedef struct {
//      double min_x;
//      double min_y;
//      double max_x;
//      double max_y;
//      double min_percent;
//      int min_nscans;
//   }
//
//

box = {
    min_x = 0,
    min_y = 0,
    max_x = 0,
    max_y = 0,
    min_percent = 0,
    min_nscans = 0
};

///////////// check_too_close /////////////////////////
//
// Option to reject tracks too close to radar.
// This allows rejection of tracks with tops missing because it is too 
//   close to the radar.
// Type: boolean
//

check_too_close = FALSE;

///////////// max_nscans_too_close ////////////////////
//
// Max nscans too close to radar - tops missing.
// Max number of scans per track allowed with missing tops.
// Type: int
//

max_nscans_too_close = 5;

///////////// check_too_far ///////////////////////////
//
// Option to reject tracks at max range.
// This allows rejection of tracks too far from the radar - data missing 
//   because part of the storm is out of range.
// Type: boolean
//

check_too_far = FALSE;

///////////// max_nscans_too_far //////////////////////
//
// Max nscans too far.
// Max number of scans per track allowed at max range.
// Type: int
//

max_nscans_too_far = 5;

///////////// check_vol_at_start //////////////////////
//
// Option to check vol at start of track.
// This allows rejection of tracks which existed at radar startup.
// Type: boolean
//

check_vol_at_start = FALSE;

///////////// max_vol_at_start ////////////////////////
//
// Max vol at start of sampling (km2).
// Tracks with starting vol in excess of this value are rejected.
// Type: double
//

max_vol_at_start = 5;

///////////// check_vol_at_end ////////////////////////
//
// Option to check vol at end of track.
// This allows rejection of tracks which existed at radar shutdown.
// Type: boolean
//

check_vol_at_end = FALSE;

///////////// max_vol_at_end //////////////////////////
//
// Max vol at end of sampling (km2).
// Tracks with ending vol in excess of this value are rejected.
// Type: double
//

max_vol_at_end = 5;

///////////// use_case_tracks_file ////////////////////
//
// Option to only print tracks specified in a case_tracks file.
// The option only applies if target_entity is COMPLETE_TRACK. Cloud 
//   seeding cases are stored in a case_tracks file. If this option is 
//   TRUE, only those tracks in the file will be printed.
// Type: boolean
//

use_case_tracks_file = FALSE;

///////////// case_tracks_file_path ///////////////////
//
// File path for seed/no-seed cases.
// This file indicates the time and track numbers for each seed and 
//   no-seed case. See use_case_tracks_file.
// Type: string
//

case_tracks_file_path = "case_tracks.txt";

//======================================================================
//
// OUTPUT DETAILS.
//
//======================================================================
 
///////////// print_polygons //////////////////////////
//
// Option to print storm polygons.
// TRACK_ENTRY only. If set the storm polygons are printed out for each 
//   track entry.
// Type: boolean
//

print_polygons = FALSE;

///////////// initial_props_nscans ////////////////////
//
// Number of scans used to compute initial props.
// Type: int
//

initial_props_nscans = 5;

///////////// refl_histogram_only /////////////////////
//
// Option to only print out the reflectivity histogram.
// Only applicable if target_entity = TRACK_ENTRY. If this is set, the 
//   reflectivity histogram is written out after the date, time, track 
//   number and location. If refl_histogram_vol is true, you get the 
//   histogram for the volume. If it is false, you get the histogram for 
//   the area.
// Type: boolean
//

refl_histogram_only = FALSE;

///////////// refl_histogram_vol //////////////////////
//
// Select volume for reflectivity histograms.
// If refl_histogram_only is true, and this is true, print out the 
//   reflectivity histogram for the volume. If it is false, print out the 
//   histogram for area.
// Type: boolean
//

refl_histogram_vol = TRUE;

///////////// specify_complex_track_num ///////////////
//
// Option to print out data from only a single complex track.
// Type: boolean
//

//specify_complex_track_num = FALSE;
//specify_complex_track_num = TRUE;

///////////// complex_track_num ///////////////////////
//
// Complex track number.
// See specify_complex_track_num.
// Type: int
//

//complex_track_num = 1;
//complex_track_num = 31;
//complex_track_num = 15;


///////////// specify_simple_track_num ////////////////
//
// Option to print out data from only a single simple track.
// Type: boolean
//

//specify_simple_track_num = FALSE;
//specify_simple_track_num = TRUE;


///////////// simple_track_num ////////////////////////
//
// Simple track number.
// See specify_simple_track_num.
// Type: int
//

//simple_track_num = 1;
//simple_track_num = 15;




