File Coverage

blib/lib/Sim/OPT/Retrieve.pm
Criterion Covered Total %
statement 69 296 23.3
branch 0 30 0.0
condition n/a
subroutine 23 29 79.3
pod 0 5 0.0
total 92 360 25.5


line stmt bran cond sub pod time code
1             package Sim::OPT::Retrieve;
2             # Copyright (C) 2008-2014 by Gian Luca Brunetti and Politecnico di Milano.
3             # This is the module Sim::OPT::Retrieve of Sim::OPT, a program for detailed metadesign managing parametric explorations through the ESP-r building performance simulation platform and performing optimization by block coordinate descent.
4             # This is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
5              
6 1     1   9 use v5.14;
  1         2  
  1         34  
7             # use v5.20;
8 1     1   3 use Exporter;
  1         2  
  1         32  
9 1     1   3 use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS );
  1         1  
  1         62  
10 1     1   13 use Math::Trig;
  1         2  
  1         184  
11 1     1   6 use Math::Round;
  1         1  
  1         46  
12 1     1   4 use List::Util qw[ min max reduce shuffle];
  1         1  
  1         53  
13 1     1   5 use List::MoreUtils qw(uniq);
  1         1  
  1         5  
14 1     1   343 use List::AllUtils qw(sum);
  1         2  
  1         50  
15 1     1   5 use Statistics::Basic qw(:all);
  1         2  
  1         5  
16 1     1   370 use Set::Intersection;
  1         2  
  1         43  
17 1     1   4 use List::Compare;
  1         1  
  1         13  
18 1     1   3 use IO::Tee;
  1         1  
  1         27  
19 1     1   4 use Sim::OPT;
  1         1  
  1         63  
20 1     1   4 use Sim::OPT::Morph;
  1         1  
  1         18  
21 1     1   3 use Sim::OPT::Sim;
  1         2  
  1         17  
22 1     1   466 use Sim::OPT::Report;
  1         3  
  1         75  
23 1     1   7 use Sim::OPT::Descend;
  1         2  
  1         34  
24 1     1   4 use Sim::OPT::Takechance;
  1         1  
  1         33  
25 1     1   5 use Data::Dumper;
  1         1  
  1         37  
26             #$Data::Dumper::Indent = 0;
27             #$Data::Dumper::Useqq = 1;
28             #$Data::Dumper::Terse = 1;
29 1     1   4 use Data::Dump qw(dump);
  1         1  
  1         34  
30 1     1   4 use feature 'say';
  1         1  
  1         65  
31 1     1   3 no strict;
  1         2  
  1         27  
32 1     1   4 no warnings;
  1         1  
  1         2920  
33              
34             @ISA = qw(Exporter); # our @adamkISA = qw(Exporter);
35             #%EXPORT_TAGS = ( DEFAULT => [qw( &opt &prepare )]); # our %EXPORT_TAGS = ( 'all' => [ qw( ) ] );
36             #@EXPORT_OK = qw(); # our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
37              
38             @EXPORT = qw(
39             retrieve retrieve_comfort_results retrieve_loads_results retrieve_temps_stats
40             ); # our @EXPORT = qw( );
41              
42             $VERSION = '0.40.0'; # our $VERSION = '';
43              
44              
45             #########################################################################################
46             # HERE FOLLOWS THE CONTENT OF "Retrieve.pm", Sim::OPT::Retrieve
47             ##############################################################################
48              
49             sub retrieve
50             {
51 0     0 0   my $swap = shift; #say TOSHELL "swapINRETRIEVE: " . dump($swap);
52 0           my %dat = %$swap;
53 0           my @instances = @{ $dat{instances} }; #say "scalar(\@instances): " . scalar(@instances);
  0            
54 0           my $countcase = $dat{countcase}; say TOSHELL "dump(\$countcase): " . dump($countcase); # IT WILL BE SHADOWED. CUT ZZZ
  0            
55 0           my $countblock = $dat{countblock}; say TOSHELL "dump(\$countblock): " . dump($countblock); # IT WILL BE SHADOWED. CUT ZZZ
  0            
56 0           my %dirfiles = %{ $dat{dirfiles} }; #say "dump(\%dirfiles): " . dump(%dirfiles);
  0            
57            
58 0           $configfile = $main::configfile; #say "dump(\$configfile): " . dump($configfile);
59 0           @sweeps = @main::sweeps; say TOSHELL "dump(\@sweeps): " . dump(@sweeps);
  0            
60 0           @varinumbers = @main::varinumbers; #say "dump(\@varinumbers): " . dump(@varinumbers);
61 0           @mediumiters = @main::mediumiters;
62 0           @rootnames = @main::rootnames; #say "dump(\@rootnames): " . dump(@rootnames);
63 0           %vals = %main::vals; #say "dump(\%vals): " . dump(%vals);
64            
65 0           $mypath = $main::mypath; #say TOSHELL "dumpINRETRIEVE(\$mypath): " . dump($mypath);
66 0           $exeonfiles = $main::exeonfiles; say TOSHELL "dumpINRETRIEVE(\$exeonfiles): " . dump($exeonfiles);
  0            
67 0           $generatechance = $main::generatechance;
68 0           $file = $main::file;
69 0           $preventsim = $main::preventsim;
70 0           $fileconfig = $main::fileconfig; say TOSHELL "dumpINRETRIEVE(\$fileconfig): " . dump($fileconfig); # NOW GLOBAL. TO MAKE IT PRIVATE, FIX PASSING OF PARAMETERS IN CONTRAINTS PROPAGATION SECONDARY SUBROUTINES
  0            
71 0           $outfile = $main::outfile;
72 0           $toshell = $main::toshell;
73 0           $report = $main::report;
74 0           $simnetwork = $main::simnetwork;
75            
76 0           $tee = new IO::Tee(\*STDOUT, ">>$toshell"); # GLOBAL ZZZ
77            
78 0 0         open ( OUTFILE, ">>$outfile" ) or die "Can't open $outfile: $!";
79 0 0         open ( TOSHELL, ">>$toshell" ) or die "Can't open $toshell: $!";
80 0           say "\nNow in Sim::OPT::Retrieve.\n";
81 0           say TOSHELL "\n#Now in Sim::OPT::Retrieve.\n";
82            
83 0           %dowhat = %main::dowhat;
84              
85 0           @themereports = @main::themereports; say TOSHELL "dumpINRETRIEVE(\@themereports): " . dump(@themereports);
  0            
86 0           @simtitles = @main::simtitles; say TOSHELL "dumpINRETRIEVE(\@simtitles): " . dump(@simtitles);
  0            
87 0           @reporttitles = @main::reporttitles;
88 0           @simdata = @main::simdata;
89 0           @retrievedata = @main::retrievedata;
90 0           @keepcolumns = @main::keepcolumns;
91 0           @weights = @main::weights;
92 0           @weightsaim = @main::weightsaim;
93 0           @varthemes_report = @main::varthemes_report;
94 0           @varthemes_variations = @vmain::arthemes_variations;
95 0           @varthemes_steps = @main::varthemes_steps;
96 0           @rankdata = @main::rankdata; # CUT ZZZ
97 0           @rankcolumn = @main::rankcolumn;
98 0           @reporttempsdata = @main::reporttempsdata;
99 0           @reportcomfortdata = @main::reportcomfortdata;
100 0           @reportradiationenteringdata = @main::reportradiationenteringdata;
101 0           @report_loadsortemps = @main::report_loadsortemps;
102 0           @files_to_filter = @main::files_to_filter;
103 0           @filter_reports = @main::filter_reports;
104 0           @base_columns = @main::base_columns;
105 0           @maketabledata = @main::maketabledata;
106 0           @filter_columns = @main::filter_columns;
107            
108 0           my @simcases = @{ $dirfiles{simcases} }; say TOSHELL "dump(\@simcases): " . dump(@simcases);
  0            
  0            
109 0           my @simstruct = @{ $dirfiles{simstruct} }; say TOSHELL "dump(\@simstruct): " . dump(@simstruct);
  0            
  0            
110 0           my @morphcases = @{ $dirfiles{morphcases} };
  0            
111 0           my @morphstruct = @{ $dirfiles{morphstruct} };
  0            
112 0           my @retcases = @{ $dirfiles{retcases} };
  0            
113 0           my @retstruct = @{ $dirfiles{retstruct} };
  0            
114 0           my @repcases = @{ $dirfiles{repcases} };
  0            
115 0           my @repstruct = @{ $dirfiles{repstruct} };
  0            
116 0           my @mergecases = @{ $dirfiles{mergecases} };
  0            
117 0           my @mergestruct = @{ $dirfiles{mergestruct} };
  0            
118 0           my @descendcases = @{ $dirfiles{descendcases} };
  0            
119 0           my @descendstruct = @{ $dirfiles{descendstruct} };
  0            
120            
121 0           my $morphlist = $dirfiles{morphlist}; say TOSHELL "dump(\$morphlist): " . dump($morphlist);
  0            
122 0           my $morphblock = $dirfiles{morphblock};
123 0           my $simlist = $dirfiles{simlist}; say TOSHELL "dump(\$simlist): " . dump($simlist);
  0            
124 0           my $simblock = $dirfiles{simblock};
125 0           my $retlist = $dirfiles{retlist};
126 0           my $retblock = $dirfiles{retblock};
127 0           my $replist = $dirfiles{replist};
128 0           my $repblock = $dirfiles{repblock};
129 0           my $descendlist = $dirfiles{descendlist};
130 0           my $descendblock = $dirfiles{descendblock};
131            
132             #my $getpars = shift;
133             #eval( $getpars );
134              
135             #if ( fileno (MORPHLIST)
136            
137 0           my $countinstance = 0;
138 0           foreach my $instance (@instances)
139             {
140 0           say TOSHELL "\nNow in Sim::OPT::Retrieve. INSTANCES\n";
141 0           my %d = %{$instance};
  0            
142 0           my $countcase = $d{countcase}; #say TOSHELL "dump(\$countcase): " . dump($countcase);
143 0           my $countblock = $d{countblock}; #say TOSHELL "dump(\$countblock): " . dump($countblock);
144 0           my @miditers = @{ $d{miditers} }; say TOSHELL "dump(\@miditers): " . dump(@miditers);
  0            
  0            
145 0           my @winneritems = @{ $d{winneritems} }; #say TOSHELL "dumpIN( \@winneritems) " . dump(@winneritems);
  0            
146 0           my $countvar = $d{countvar}; #say TOSHELL "dump(\$countvar): " . dump($countvar);
147 0           my $countstep = $d{countstep}; #say TOSHELL "dump(\$countstep): " . dump($countstep);
148 0           my $to = $d{to}; say TOSHELL "dump(\$to): " . dump($to);
  0            
149 0           my $origin = $d{origin}; #say TOSHELL "dump(\$origin): " . dump($origin);
150 0           my @uplift = @{ $d{uplift} }; #say TOSHELL "dump(\@uplift): " . dump(@uplift);
  0            
151             #eval($getparshere);
152            
153 0           my $rootname = Sim::OPT::getrootname(\@rootnames, $countcase); #say TOSHELL "dump(\$rootname): " . dump($rootname);
154 0           my @blockelts = Sim::OPT::getblockelts(\@sweeps, $countcase, $countblock); #say TOSHELL "dumpIN( \@blockelts) " . dump(@blockelts);
155 0           my @blocks = Sim::OPT::getblocks(\@sweeps, $countcase); #say TOSHELL "dumpIN( \@blocks) " . dump(@blocks);
156 0           my $toitem = Sim::OPT::getitem(\@winneritems, $countcase, $countblock); #say TOSHELL "dump(\$toitem): " . dump($toitem);
157 0           my $from = Sim::OPT::getline($toitem); say TOSHELL "dumpIN(\$from): " . dump($from);
  0            
158 0           my %varnums = Sim::OPT::getcase(\@varinumbers, $countcase); #say TOSHELL "dumpIN---(\%varnums): " . dump(%varnums);
159 0           my %mids = Sim::OPT::getcase(\@miditers, $countcase); #say TOSHELL "dumpIN---(\%mids): " . dump(%mids);
160             #eval($getfly);
161            
162 0           my $stepsvar = Sim::OPT::getstepsvar($countvar, $countcase, \@varinumbers); #say TOSHELL "dump(\$stepsvar): " . dump($stepsvar);
163 0           my $varnumber = $countvar; #say TOSHELL "dump---(\$varnumber): " . dump($varnumber) . "\n\n"; # LEGACY VARIABLE
164            
165             #say "INRETRIEVE0\$countcase : " . dump($countcase);
166             #say "INRETRIEVE0\@rootnames : " . dump(@rootnames);
167             #say "INRETRIEVE0\$countblock : " . dump($countblock);
168             #say "INRETRIEVE0\@sweeps : " . dump(@sweeps);
169             #say "INRETRIEVE0\@varinumbers : " . dump(@varinumbers);
170             #say "INRETRIEVE0\@miditers : " . dump(@miditers);
171             #say "INRETRIEVE0\@winneritems : " . dump(@winneritems);
172             #say "INRETRIEVE0\@morphcases : " . dump(@morphcases);
173             #say "INRETRIEVE0\@morphstruct : " . dump(@morphstruct);
174            
175              
176            
177             #unless (-e "$mypath")
178             #{
179             # print `mkdir $mypath`;
180             # print TOSHELL "mkdir $mypath\n\n";
181             #}
182              
183             sub retrieve_temperatures_results
184             {
185 0     0 0   my ( $result, $resfile, $swap, $reporttitle, $theme, $counttheme, $countreport, $retfile ) = @_;
186 0           my @retrdata = @$swap;
187            
188             #my $existingfile = "$resfile-$theme.grt";
189             #if (-e $existingfile) { print `chmod 777 $existingfile\n`;}
190             #print $_toshell_ "chmod 777 $existingfile\n";
191             #if (-e $existingfile) { print `rm $existingfile\n` ;}
192             #print $_toshell_ "rm $existingfile\n";
193             #if ($exeonfiles eq "y") { print `rm -f $existingfile*par\n`; }
194             #print $_toshell_ "rm -f $existingfile*par\n";
195            
196 0           say "INRETRIEVE0\$countcase : " . dump($countcase);
197 0           say "INRETRIEVE1\@rootnames : " . dump(@rootnames);
198 0           say "INRETRIEVE1\$countblock : " . dump($countblock);
199 0           say "INRETRIEVE1\@sweeps : " . dump(@sweeps);
200 0           say "INRETRIEVE1\@varinumbers : " . dump(@varinumbers);
201 0           say "INRETRIEVE1\@miditers : " . dump(@miditers);
202 0           say "INRETRIEVE1\@winneritems : " . dump(@winneritems);
203 0           say "INRETRIEVE1\@morphcases : " . dump(@morphcases);
204 0           say "INRETRIEVE1\@morphstruct : " . dump(@morphstruct);
205              
206 0 0         unless (-e "$retfile-")
207             {
208 0           my $printthis =
209             "res -file $resfile -mode script<
210              
211             3
212             $retrdata[0]
213             $retrdata[1]
214             $retrdata[2]
215             c
216             g
217             a
218             a
219             b
220             a
221             b
222             e
223             b
224             f
225             >
226             a
227             $retfile
228             !
229             -
230             -
231             -
232             -
233             -
234             -
235             -
236             -
237             YYY
238             ";
239 0 0         if ($exeonfiles eq "y")
240             {
241 0           say "Retrieving temperature results.";
242 0           say TOSHELL "#Retrieving temperature results.";
243 0           print `$printthis`;
244             }
245 0           print TOSHELL "
246             #Retrieving results for case " . ($countcase + 1) . ", block " . ($countblock + 1) . ", simulation period $counttheme, retrieve period $countreport\n
247             $printthis";
248             #if (-e $existingfile) { print `rm -f $existingfile*par`;}
249             #print $_toshell_ "rm -f $existingfile*par\n";
250             }
251             }
252              
253             sub retrieve_comfort_results
254             {
255 0     0 0   my ( $result, $resfile, $swap, $reporttitle, $stripcheck, $theme, $counttheme, $countreport, $retfile ) = @_;
256            
257 0           my @retrdata = @$swap;
258            
259             #my $existingfile = "$resfile-$theme.grt";
260             #if (-e $existingfile) { print `chmod 777 $existingfile\n`;}
261             #print $_toshell_ "chmod 777 $existingfile\n";
262             #if (-e $existingfile) { print `rm $existingfile\n` ;}
263             #print $_toshell_ "rm $existingfile\n";
264             #if ($exeonfiles eq "y") { print `rm -f $existingfile*par\n`;}
265             #print $_toshell_ "rm -f $existingfile*par\n";
266              
267 0 0         unless (-e "$retfile-")
268             {
269 0           my $printthis =
270             "res -file $resfile -mode script<
271              
272             3
273             $retrdata[0]
274             $retrdata[1]
275             $retrdata[2]
276             c
277             g
278             c
279             a
280              
281             b
282              
283              
284             a
285             >
286             a
287             $retfile
288             !
289             -
290             -
291             -
292             -
293             -
294             -
295             -
296             -
297             ZZZ
298             ";
299 0 0         if ($exeonfiles eq "y")
300             {
301 0           say "Retrieving comfort results.";
302 0           say TOSHELL "#Retrieving comfort results.";
303 0           print `$printthis`;
304             }
305 0           print TOSHELL "
306             #Retrieving results for case " . ($countcase + 1) . ", block " . ($countblock + 1) . ", simulation period $counttheme, retrieve period $countreport\n
307             $printthis";
308             #if (-e $existingfile) { print `rm -f $existingfile*par\n`;}
309             #print $_toshell_ "rm -f $existingfile*par\n";
310             }
311             }
312              
313             sub retrieve_loads_results
314             {
315 0     0 0   my ( $result, $resfile, $swap, $reporttitle, $theme, $counttheme, $countreport, $retfile ) = @_;
316 0           print TOSHELL " IN RETRIEVE LOADS: \$sim: $sim, \$resfile: $resfile, \$result: $result, \@retrievedata: @retrievedata, \$reporttitle: $reporttitle, \$theme: $theme, \$counttheme: $counttheme, \$countreport, $countreport, \$retfile : $retfile \n";
317            
318 0           my @retrdata = @$swap; #say TOSHELL "\@retrdata " . dump(@retrdata);
319            
320             #my $existingfile = "$resfile-$theme.grt";
321             #if (-e $existingfile) { print `chmod 777 $existingfile\n`;}
322             #print $_toshell_ "chmod 777 $existingfile\n";
323             #if (-e $existingfile) { print `rm $existingfile\n` ;}
324             #print $_toshell_ "rm $existingfile\n";
325              
326 0 0         unless (-e "$retfile-")
327             {
328 0           my $printthis =
329             "res -file $resfile -mode script<
330              
331             3
332             $retrdata[0]
333             $retrdata[1]
334             $retrdata[2]
335             d
336             >
337             a
338             $retfile
339             $retfile
340             l
341             a
342             -
343             -
344             -
345             -
346             -
347             TTT
348             ";
349 0 0         if ($exeonfiles eq "y")
350             {
351 0           say "Retrieving loads results.";
352 0           say TOSHELL "#Retrieving loads results.";
353 0           print `$printthis`;
354             }
355 0           print TOSHELL "
356             #Retrieving results for case " . ($countcase + 1) . ", block " . ($countblock + 1) . ", simulation period $counttheme, retrieve period $countreport\n
357             $printthis
358             ";
359              
360             #print RETLIST "$retfile ";
361             #my $newretfile = "$retfile" . "-";
362             #open (CHECKDATUM, "$retfile") or die;
363             #open (STRIPPED, ">>$newretfile") or die;
364             #my @lines = ;
365             #foreach my $line (@lines)
366             #{
367             # $line =~ s/^\s+//;
368             # @lineelms = split(/\s+|,/, $line);
369             # if ($lineelms[0] eq $stripcheck)
370             # {
371             # print STRIPPED "$line";
372             # }
373             #}
374             #close STRIPPED;
375             #close CHECKDATUM;
376             }
377             }
378              
379             sub retrieve_temps_stats
380             {
381 0     0 0   say TOSHELL "\nNow in Sim::OPT::Retrieve. IN TEMPSSTATS";
382 0           my ( $result, $resfile, $swap, $reporttitle, $theme, $counttheme, $countreport, $retfile ) = @_;
383 0           print TOSHELL "IN RETRIEVE TEMPSSTATS: \$sim: $sim, \$resfile: $resfile, \$result: $result, \@retrievedata: @retrievedata, \$reporttitle: $reporttitle, \$theme: $theme, \$counttheme: $counttheme, \$countreport, $countreport, \$retfile : $retfile \n";
384            
385 0           my @retrdata = @$swap; say "@retrdata " . dump(@retrdata);
  0            
386            
387             #my $existingfile = "$resfile-$theme.grt";
388             #if (-e $existingfile) { print `chmod 777 $existingfile\n`; }
389             #print $_toshell_ "chmod 777 $existingfile\n";
390             #if (-e $existingfile) { print `rm $existingfile\n` ;}
391             #print $_toshell_ "rm $existingfile\n";
392             #if (-e $existingfile) { print `rm -f $existingfile*par\n`;}
393             #print $_toshell_ "rm -f $existingfile*par\n";
394              
395 0 0         unless (-e "$retfile-")
396             {
397 0           my $printthis =
398             "res -file $resfile -mode script<
399              
400             3
401             $retrdata[0]
402             $retrdata[1]
403             $retrdata[2]
404             d
405             >
406             a
407             $retfile
408             $retfile
409             m
410             -
411             -
412             -
413             -
414             TTT
415             ";
416              
417 0 0         if ($exeonfiles eq "y")
418             {
419 0           say "Retrieving temperature statistics.";
420 0           say TOSHELL "#Retrieving statistics.";
421 0           print `$printthis`;
422             #print OUTFILE "CALLED RETRIEVE TEMPS STATS\n";
423             #print OUTFILE "\$resfile: $resfile, \$retrdata[0]: $retrdata[0], \$retrdata[1]: $retrdata[1], \$retrdata[2]:$retrdataloads[2]\n";
424             #print OUTFILE "\$reporttitle: $reporttitle, \$theme: $theme\n";
425             #print OUTFILE "\$resfile-\$reporttitle-\$theme: $resfile-$reporttitle-$theme";
426             }
427 0           print TOSHELL "
428             #Retrieving results for case " . ($countcase + 1) . ", block " . ($countblock + 1) . ", simulation period $counttheme, retrieve period $countreport\n
429             $printthis";
430              
431             #if ($exeonfiles eq "y") { print `rm -f $existingfile*par\n`;}
432             #print $_toshell_ "rm -f $existingfile*par\n";
433             #print RETLIST "$resfile-$reporttitle-$theme--$countcase-$countblock.grt ";
434            
435             #my $newretfile = "$retfile" . "-";
436             #open (CHECKDATUM, "$retfile") or die;
437             #open (STRIPPED, ">>$newretfile") or die;
438             #my @lines = ;
439             #foreach my $line (@lines)
440             #{
441             # $line =~ s/^\s+//;
442             # #@lineelms = split(/\s+|,/, $line);
443             # #if ($lineelms[0] eq $stripcheck)
444             # #{
445             # print STRIPPED "$line";
446             # #}
447             #}
448             #close STRIPPED;
449             #close CHECKDATUM;
450             }
451             }
452            
453             #say TOSHELL "\nNow in Sim::OPT::Retrieve. INSIDE";
454 0           my $resfile = $simstruct[$countcase][$countblock][$countinstance]; #$simcases[$countinstance]; ### HERE!!! ZZZ
455             #say TOSHELL "SAY\@simcases " . dump(@simcases); say TOSHELL "SAY\@simstruct " . dump(@simstruct);
456            
457 0           my $counttheme = 0;
458 0           foreach my $retrievedatum (@retrievedata)
459             {
460             #say TOSHELL "\nNow in Sim::OPT::Retrieve. IN THEMES";
461             #say TOSHELL "dumpINRETRIEVE(\@themereports): " . dump(@themereports);
462             #say TOSHELL "dumpINRETRIEVE(\@simtitles): " . dump(@simtitles);
463             #say TOSHELL "dump(\$dat{morphlist}): " . dump($dat{morphlist});
464             #say TOSHELL "dump(\$simlist): " . dump($simlist);
465              
466 0           my @themereports = @{$themereports[$counttheme]}; #say TOSHELL "\@themereports " . dump(@themereports);
  0            
467 0           my $reporttitlesref = $reporttitles[$counttheme];
468 0           my @reporttitles = @{$reporttitlesref}; #say TOSHELL "\@reporttitles " . dump(@reporttitles);
  0            
469 0           my $retrievedatarefsdeep = $retrievedata[$counttheme];
470 0           my @retrievedatarefs = @{$retrievedatum};
  0            
471 0           my $simtitle = $simtitles[$counttheme]; #say TOSHELL "\$simtitle " . dump($simtitle);
472 0           my @sims = @{$simdata[$countheme]}; #say TOSHELL "\@sims " . dump(@sims);
  0            
473            
474 0           my $countreport = 0;
475 0           foreach my $retrievedataref (@retrievedatarefs)
476             {
477             #say TOSHELL "\nNow in Sim::OPT::Retrieve. IN RESULTS";
478 0           my $theme = $themereports[$countreport]; #say TOSHELL "\$theme: " . dump($theme);
479 0           my $reporttitle = $reporttitles[$countreport]; #say TOSHELL "\$reporttitle " . dump($reporttitle);
480 0           my @retrdata = @$retrievedataref; #say TOSHELL "\@retrdata " . dump(@retrdata);
481 0           my $sim = $sims[$countreport]; #say TOSHELL "\$sim-RESFILE" . dump($sim);
482 0           my $targetprov = $sim;
483 0           $targetprov =~ s/$mypath\///;
484 0           my $result = "$mypath" . "/$targetprov"; #say TOSHELL "\$result " . dump($result);
485            
486             #if ( fileno (RETLIST) )
487             #if (not (-e $retlist ) )
488             #{
489             # if ( $countblock == 0 )
490             # {
491 0           open ( RETLIST, ">>$retlist"); # or die;
492             # }
493             # else
494             # {
495             # open ( RETLIST, ">>$retlist"); # or die;
496             # }
497             #}
498            
499             #if ( fileno (RETLIST) ) # SAME LEVEL OF RETLIST. JUST ANOTHER CONTAINER.
500             #if (not (-e $retblock ) )
501             #{
502             # if ( $countblock == 0 )
503             # {
504 0           open ( RETBLOCK, ">>$retblock"); # or die;
505             # }
506             # else
507             # {
508             # open ( RETBLOCK, ">>$retblock"); # or die;
509             # }
510             #}
511            
512 0           my $retfile = "$resfile-$theme-$reporttitle-t$counttheme-r$countreport.grt";
513 0           say TOSHELL "\$retfile " . dump($retfile);
514            
515 0           push ( @{ $retstruct[$countcase][$countblock][$counttheme][$countreport] }, $retfile );
  0            
516 0           print RETBLOCK "$retfile\n";
517            
518 0 0         if ( not ($retfile ~~ @retcases ) )
519             {
520 0           push ( @retcases, $retfile );
521 0           say RETLIST "$retfile";
522             }
523            
524 0 0         if ( $theme eq "temps" ) { &retrieve_temperatures_results($result, $resfile, \@retrdata, $reporttitle, $theme, $counttheme, $countreport, $retfile ); }
  0            
525 0 0         if ( $theme eq "comfort" ) { &retrieve_comfort_results($result, $resfile, \@retrdata, $reporttitle, $theme, $counttheme, $countreport, $retfile ); }
  0            
526 0 0         if ( $theme eq "loads" ) { &retrieve_loads_results($result, $resfile, \@retrdata, $reporttitle, $theme, $counttheme, $countreport, $retfile ); }
  0            
527 0 0         if ( $theme eq "tempsstats" ) { &retrieve_temps_stats($result, $resfile, \@retrdata, $reporttitle, $theme, $counttheme, $countreport, $retfile ); }
  0            
528 0           $countreport++;
529             }
530 0           $counttheme++;
531             }
532 0           $countinstance++;
533             }
534 0           print `rm -f $mypath/*.par`;
535 0           print TOSHELL "rm -f $mypath/*.par\n";
536 0           close OUTFILE;
537 0           close TOSHELL;
538 0           close RETLIST;
539 0           close RETBLOCK;
540 0           return (\@retcases, \@retstruct);
541             } # END SUB RETRIEVE
542              
543 0     0     sub report { ; } # NO MORE USED # This function retrieved the results of interest from the text file created by the "retrieve" function
544              
545             1;