| line |
true |
false |
branch |
|
13
|
2 |
2 |
if (not exists $self{'input_file'} || exists $self{'input_text'} or exists $self{'input_file'} and exists $self{'input_text'} or not exists $self{'output_file'}) |
|
29
|
0 |
4 |
unless open my $fh, ">", $self->output_file |
|
42
|
2 |
2 |
if ($self->input_file) { } |
|
|
2 |
0 |
elsif ($self->input_text) { } |
|
43
|
0 |
2 |
unless open my $INPUT, "<", $self->input_file |
|
105
|
4 |
0 |
if (@match) |
|
106
|
4 |
0 |
if ($match[0] =~ /(AL|EP|CP|WP|IO|SH|LS)(\d{2})(\d{4})$/) |
|
111
|
0 |
4 |
unless $storm_number and $storm_year and $storm_basin |
|
121
|
4 |
0 |
if ($storm_year > 2005) { } |
|
128
|
4 |
0 |
if (@match) |
|
133
|
4 |
0 |
if ($storm_year > 2005) { } |
|
154
|
4 |
0 |
if (@match) { } |
|
155
|
4 |
0 |
if ($match[0] =~ /^(.+)\s+FORECAST.+ADVISORY NUMBER\s+(\d{1,3})/) |
|
163
|
0 |
0 |
if ($match[0] =~ /^(.+)\s+ADVISORY NUMBER\s+(\d{1,3})/) |
|
169
|
4 |
0 |
if ($tmp[0] eq 'HURRICANE') { } |
|
|
0 |
0 |
elsif ($tmp[0] eq 'POTENTIAL') { } |
|
|
0 |
0 |
elsif ($tmp[0] eq 'TROPICAL' or $tmp[0] eq 'SUBTROPICAL' or $tmp[0] eq 'REMNANTS' or $tmp[0] eq 'POST-TROPICAL') { } |
|
195
|
4 |
0 |
if (@match) |
|
196
|
4 |
0 |
if ($match[0] =~ /CENTER LOCATED NEAR\s+(\d{1,3}\.\d{1,2})([N|S])\s+(\d{1,3}\.\d{1,2})([E|W])\s+AT/) |
|
202
|
0 |
4 |
if ($match[0] =~ /DISSIPATING NEAR\s+(\d{1,3}\.\d{1,2})([N|S])\s+(\d{1,3}\.\d{1,2})([E|W])\s+AT/) |
|
217
|
4 |
0 |
if (@match) |
|
218
|
4 |
0 |
if ($match[0] =~ /PRESENT MOVEMENT TOWARD THE.+OR\s+(\d{1,3})\s+DEGREES AT\s+(\d{1,2})\s+KT/) |
|
227
|
4 |
0 |
if (@match) |
|
228
|
4 |
0 |
if ($match[0] =~ /^ESTIMATED MINIMUM CENTRAL PRESSURE\s+(.+)\s+MB/) |
|
239
|
4 |
0 |
if (@match) |
|
240
|
4 |
0 |
if ($match[0] =~ /^MAX SUSTAINED WINDS\s+(\d{1,4}) KT WITH GUSTS TO\s+(\d{1,4})/) |
|
254
|
4 |
72 |
if (@{$body_ref;}[$i] =~ /^MAX SUSTAINED WINDS/) |
|
261
|
12 |
4 |
if (@{$body_ref;}[$i] =~ /^(\d{1,2}) KT\.{7}\s{0,}(\d{1,3})[N|S][E|W]\s+(\d{1,3})[N|S][E|W]\s+(\d{1,3})[N|S][E|W]\s+(\d{1,3})[N|S][E|W]/) { } |
|
284
|
0 |
4 |
unless ($isotachs_found) |
|
302
|
32 |
152 |
if (@{$body_ref;}[$i] =~ /^(FORECAST|OUTLOOK) VALID/) |
|
318
|
0 |
32 |
if ($line =~ /DISSIPATED/) |
|
321
|
32 |
0 |
if ($line =~ m[^(FORECAST|OUTLOOK) VALID\s+(\d{2})/(\d{4})Z]) |
|
325
|
32 |
0 |
if ($line =~ /Z\s+(\d{1,2}\.\d{1,2})([N|S])\s+(\d{1,2}\.\d{1,2})([E|W])/) |
|
341
|
32 |
0 |
if ($line =~ /^MAX WIND\s+(\d{1,4}) KT\.\.\.GUSTS\s+(\d{1,4}) KT\./) |
|
350
|
0 |
32 |
if ($forecast_date_time < $nowcast_date_time) |
|
352
|
0 |
0 |
if ($forecast_month > 12) |
|
386
|
64 |
32 |
if (@{$body_ref;}[$i] =~ /^(\d{1,2}) KT\.{3}\s{0,}(\d{1,3})[N|S][E|W]\s+(\d{1,3})[N|S][E|W]\s+(\d{1,3})[N|S][E|W]\s+(\d{1,3})[N|S][E|W]/) { } |
|
409
|
8 |
24 |
unless ($isotachs_found) |