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   8 use v5.14;
  1         2  
  1         32  
7             # use v5.20;
8 1     1   4 use Exporter;
  1         1  
  1         31  
9 1     1   3 use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS );
  1         1  
  1         49  
10 1     1   4 use Math::Trig;
  1         1  
  1         134  
11 1     1   4 use Math::Round;
  1         1  
  1         36  
12 1     1   4 use List::Util qw[ min max reduce shuffle];
  1         4  
  1         48  
13 1     1   4 use List::MoreUtils qw(uniq);
  1         2  
  1         4  
14 1     1   321 use List::AllUtils qw(sum);
  1         1  
  1         41  
15 1     1   7 use Statistics::Basic qw(:all);
  1         1  
  1         5  
16 1     1   362 use Set::Intersection;
  1         1  
  1         40  
17 1     1   3 use List::Compare;
  1         1  
  1         14  
18 1     1   4 use IO::Tee;
  1         0  
  1         28  
19 1     1   3 use Sim::OPT;
  1         1  
  1         38  
20 1     1   4 use Sim::OPT::Morph;
  1         1  
  1         16  
21 1     1   3 use Sim::OPT::Sim;
  1         1  
  1         15  
22 1     1   412 use Sim::OPT::Report;
  1         3  
  1         63  
23 1     1   6 use Sim::OPT::Descend;
  1         2  
  1         34  
24 1     1   4 use Sim::OPT::Takechance;
  1         1  
  1         30  
25 1     1   4 use Data::Dumper;
  1         2  
  1         34  
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         2  
  1         32  
30 1     1   4 use feature 'say';
  1         1  
  1         59  
31 1     1   5 no strict;
  1         1  
  1         25  
32 1     1   3 no warnings;
  1         2  
  1         2680  
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            
187 0           my @retrdata = @$swap;
188            
189             #my $existingfile = "$resfile-$theme.grt";
190             #if (-e $existingfile) { print `chmod 777 $existingfile\n`;}
191             #print $_toshell_ "chmod 777 $existingfile\n";
192             #if (-e $existingfile) { print `rm $existingfile\n` ;}
193             #print $_toshell_ "rm $existingfile\n";
194             #if ($exeonfiles eq "y") { print `rm -f $existingfile*par\n`; }
195             #print $_toshell_ "rm -f $existingfile*par\n";
196            
197 0           say "INRETRIEVE0\$countcase : " . dump($countcase);
198 0           say "INRETRIEVE1\@rootnames : " . dump(@rootnames);
199 0           say "INRETRIEVE1\$countblock : " . dump($countblock);
200 0           say "INRETRIEVE1\@sweeps : " . dump(@sweeps);
201 0           say "INRETRIEVE1\@varinumbers : " . dump(@varinumbers);
202 0           say "INRETRIEVE1\@miditers : " . dump(@miditers);
203 0           say "INRETRIEVE1\@winneritems : " . dump(@winneritems);
204 0           say "INRETRIEVE1\@morphcases : " . dump(@morphcases);
205 0           say "INRETRIEVE1\@morphstruct : " . dump(@morphstruct);
206              
207 0 0         unless (-e "$retfile-")
208             {
209 0           my $printthis =
210             "res -file $resfile -mode script<
211              
212             3
213             $retrdata[0]
214             $retrdata[1]
215             $retrdata[2]
216             c
217             g
218             a
219             a
220             b
221             a
222             b
223             e
224             b
225             f
226             >
227             a
228             $retfile
229             !
230             -
231             -
232             -
233             -
234             -
235             -
236             -
237             -
238             YYY
239             ";
240 0 0         if ($exeonfiles eq "y")
241             {
242 0           say "Retrieving temperature results.";
243 0           say TOSHELL "#Retrieving temperature results.";
244 0           print `$printthis`;
245             }
246 0           print TOSHELL "
247             #Retrieving results for case " . ($countcase + 1) . ", block " . ($countblock + 1) . ", simulation period $counttheme, retrieve period $countreport\n
248             $printthis";
249             #if (-e $existingfile) { print `rm -f $existingfile*par`;}
250             #print $_toshell_ "rm -f $existingfile*par\n";
251             }
252             }
253              
254             sub retrieve_comfort_results
255             {
256 0     0 0   my ( $result, $resfile, $swap, $reporttitle, $stripcheck, $theme, $counttheme, $countreport, $retfile ) = @_;
257            
258 0           my @retrdata = @$swap;
259            
260             #my $existingfile = "$resfile-$theme.grt";
261             #if (-e $existingfile) { print `chmod 777 $existingfile\n`;}
262             #print $_toshell_ "chmod 777 $existingfile\n";
263             #if (-e $existingfile) { print `rm $existingfile\n` ;}
264             #print $_toshell_ "rm $existingfile\n";
265             #if ($exeonfiles eq "y") { print `rm -f $existingfile*par\n`;}
266             #print $_toshell_ "rm -f $existingfile*par\n";
267              
268 0 0         unless (-e "$retfile-")
269             {
270 0           my $printthis =
271             "res -file $resfile -mode script<
272              
273             3
274             $retrdata[0]
275             $retrdata[1]
276             $retrdata[2]
277             c
278             g
279             c
280             a
281              
282             b
283              
284              
285             a
286             >
287             a
288             $retfile
289             !
290             -
291             -
292             -
293             -
294             -
295             -
296             -
297             -
298             ZZZ
299             ";
300 0 0         if ($exeonfiles eq "y")
301             {
302 0           say "Retrieving comfort results.";
303 0           say TOSHELL "#Retrieving comfort results.";
304 0           print `$printthis`;
305             }
306 0           print TOSHELL "
307             #Retrieving results for case " . ($countcase + 1) . ", block " . ($countblock + 1) . ", simulation period $counttheme, retrieve period $countreport\n
308             $printthis";
309             #if (-e $existingfile) { print `rm -f $existingfile*par\n`;}
310             #print $_toshell_ "rm -f $existingfile*par\n";
311             }
312             }
313              
314             sub retrieve_loads_results
315             {
316 0     0 0   my ( $result, $resfile, $swap, $reporttitle, $theme, $counttheme, $countreport, $retfile ) = @_;
317 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";
318            
319 0           my @retrdata = @$swap; #say TOSHELL "\@retrdata " . dump(@retrdata);
320            
321             #my $existingfile = "$resfile-$theme.grt";
322             #if (-e $existingfile) { print `chmod 777 $existingfile\n`;}
323             #print $_toshell_ "chmod 777 $existingfile\n";
324             #if (-e $existingfile) { print `rm $existingfile\n` ;}
325             #print $_toshell_ "rm $existingfile\n";
326              
327 0 0         unless (-e "$retfile-")
328             {
329 0           my $printthis =
330             "res -file $resfile -mode script<
331              
332             3
333             $retrdata[0]
334             $retrdata[1]
335             $retrdata[2]
336             d
337             >
338             a
339             $retfile
340             $retfile
341             l
342             a
343             -
344             -
345             -
346             -
347             -
348             TTT
349             ";
350 0 0         if ($exeonfiles eq "y")
351             {
352 0           say "Retrieving loads results.";
353 0           say TOSHELL "#Retrieving loads results.";
354 0           print `$printthis`;
355             }
356 0           print TOSHELL "
357             #Retrieving results for case " . ($countcase + 1) . ", block " . ($countblock + 1) . ", simulation period $counttheme, retrieve period $countreport\n
358             $printthis
359             ";
360              
361             #print RETLIST "$retfile ";
362             #my $newretfile = "$retfile" . "-";
363             #open (CHECKDATUM, "$retfile") or die;
364             #open (STRIPPED, ">>$newretfile") or die;
365             #my @lines = ;
366             #foreach my $line (@lines)
367             #{
368             # $line =~ s/^\s+//;
369             # @lineelms = split(/\s+|,/, $line);
370             # if ($lineelms[0] eq $stripcheck)
371             # {
372             # print STRIPPED "$line";
373             # }
374             #}
375             #close STRIPPED;
376             #close CHECKDATUM;
377             }
378             }
379              
380             sub retrieve_temps_stats
381             {
382 0     0 0   say TOSHELL "\nNow in Sim::OPT::Retrieve. IN TEMPSSTATS";
383 0           my ( $result, $resfile, $swap, $reporttitle, $theme, $counttheme, $countreport, $retfile ) = @_;
384 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";
385            
386 0           my @retrdata = @$swap; say "@retrdata " . dump(@retrdata);
  0            
387            
388             #my $existingfile = "$resfile-$theme.grt";
389             #if (-e $existingfile) { print `chmod 777 $existingfile\n`; }
390             #print $_toshell_ "chmod 777 $existingfile\n";
391             #if (-e $existingfile) { print `rm $existingfile\n` ;}
392             #print $_toshell_ "rm $existingfile\n";
393             #if (-e $existingfile) { print `rm -f $existingfile*par\n`;}
394             #print $_toshell_ "rm -f $existingfile*par\n";
395              
396 0 0         unless (-e "$retfile-")
397             {
398 0           my $printthis =
399             "res -file $resfile -mode script<
400              
401             3
402             $retrdata[0]
403             $retrdata[1]
404             $retrdata[2]
405             d
406             >
407             a
408             $retfile
409             $retfile
410             m
411             -
412             -
413             -
414             -
415             TTT
416             ";
417              
418 0 0         if ($exeonfiles eq "y")
419             {
420 0           say "Retrieving temperature statistics.";
421 0           say TOSHELL "#Retrieving statistics.";
422 0           print `$printthis`;
423             #print OUTFILE "CALLED RETRIEVE TEMPS STATS\n";
424             #print OUTFILE "\$resfile: $resfile, \$retrdata[0]: $retrdata[0], \$retrdata[1]: $retrdata[1], \$retrdata[2]:$retrdataloads[2]\n";
425             #print OUTFILE "\$reporttitle: $reporttitle, \$theme: $theme\n";
426             #print OUTFILE "\$resfile-\$reporttitle-\$theme: $resfile-$reporttitle-$theme";
427             }
428 0           print TOSHELL "
429             #Retrieving results for case " . ($countcase + 1) . ", block " . ($countblock + 1) . ", simulation period $counttheme, retrieve period $countreport\n
430             $printthis";
431              
432             #if ($exeonfiles eq "y") { print `rm -f $existingfile*par\n`;}
433             #print $_toshell_ "rm -f $existingfile*par\n";
434             #print RETLIST "$resfile-$reporttitle-$theme--$countcase-$countblock.grt ";
435            
436             #my $newretfile = "$retfile" . "-";
437             #open (CHECKDATUM, "$retfile") or die;
438             #open (STRIPPED, ">>$newretfile") or die;
439             #my @lines = ;
440             #foreach my $line (@lines)
441             #{
442             # $line =~ s/^\s+//;
443             # #@lineelms = split(/\s+|,/, $line);
444             # #if ($lineelms[0] eq $stripcheck)
445             # #{
446             # print STRIPPED "$line";
447             # #}
448             #}
449             #close STRIPPED;
450             #close CHECKDATUM;
451             }
452             }
453            
454             #say TOSHELL "\nNow in Sim::OPT::Retrieve. INSIDE";
455 0           my $resfile = $simstruct[$countcase][$countblock][$countinstance]; #$simcases[$countinstance]; ### HERE!!! ZZZ
456             #say TOSHELL "SAY\@simcases " . dump(@simcases); say TOSHELL "SAY\@simstruct " . dump(@simstruct);
457            
458 0           my $counttheme = 0;
459 0           foreach my $retrievedatum (@retrievedata)
460             {
461             #say TOSHELL "\nNow in Sim::OPT::Retrieve. IN THEMES";
462             #say TOSHELL "dumpINRETRIEVE(\@themereports): " . dump(@themereports);
463             #say TOSHELL "dumpINRETRIEVE(\@simtitles): " . dump(@simtitles);
464             #say TOSHELL "dump(\$dat{morphlist}): " . dump($dat{morphlist});
465             #say TOSHELL "dump(\$simlist): " . dump($simlist);
466              
467 0           my @themereports = @{$themereports[$counttheme]}; #say TOSHELL "\@themereports " . dump(@themereports);
  0            
468 0           my $reporttitlesref = $reporttitles[$counttheme];
469 0           my @reporttitles = @{$reporttitlesref}; #say TOSHELL "\@reporttitles " . dump(@reporttitles);
  0            
470 0           my $retrievedatarefsdeep = $retrievedata[$counttheme];
471 0           my @retrievedatarefs = @{$retrievedatum};
  0            
472 0           my $simtitle = $simtitles[$counttheme]; #say TOSHELL "\$simtitle " . dump($simtitle);
473 0           my @sims = @{$simdata[$countheme]}; #say TOSHELL "\@sims " . dump(@sims);
  0            
474            
475 0           my $countreport = 0;
476 0           foreach my $retrievedataref (@retrievedatarefs)
477             {
478             #say TOSHELL "\nNow in Sim::OPT::Retrieve. IN RESULTS";
479 0           my $theme = $themereports[$countreport]; #say TOSHELL "\$theme: " . dump($theme);
480 0           my $reporttitle = $reporttitles[$countreport]; #say TOSHELL "\$reporttitle " . dump($reporttitle);
481 0           my @retrdata = @$retrievedataref; #say TOSHELL "\@retrdata " . dump(@retrdata);
482 0           my $sim = $sims[$countreport]; #say TOSHELL "\$sim-RESFILE" . dump($sim);
483 0           my $targetprov = $sim;
484 0           $targetprov =~ s/$mypath\///;
485 0           my $result = "$mypath" . "/$targetprov"; #say TOSHELL "\$result " . dump($result);
486            
487             #if ( fileno (RETLIST) )
488             #if (not (-e $retlist ) )
489             #{
490             # if ( $countblock == 0 )
491             # {
492 0           open ( RETLIST, ">>$retlist"); # or die;
493             # }
494             # else
495             # {
496             # open ( RETLIST, ">>$retlist"); # or die;
497             # }
498             #}
499            
500             #if ( fileno (RETLIST) ) # SAME LEVEL OF RETLIST. JUST ANOTHER CONTAINER.
501             #if (not (-e $retblock ) )
502             #{
503             # if ( $countblock == 0 )
504             # {
505 0           open ( RETBLOCK, ">>$retblock"); # or die;
506             # }
507             # else
508             # {
509             # open ( RETBLOCK, ">>$retblock"); # or die;
510             # }
511             #}
512            
513 0           my $retfile = "$resfile-$theme-$reporttitle-t$counttheme-r$countreport.grt";
514 0           say TOSHELL "\$retfile " . dump($retfile);
515            
516 0           push ( @{ $retstruct[$countcase][$countblock][$counttheme][$countreport] }, $retfile );
  0            
517 0           print RETBLOCK "$retfile\n";
518            
519 0 0         if ( not ($retfile ~~ @retcases ) )
520             {
521 0           push ( @retcases, $retfile );
522 0           say RETLIST "$retfile";
523             }
524            
525 0 0         if ( $theme eq "temps" ) { &retrieve_temperatures_results($result, $resfile, \@retrdata, $reporttitle, $theme, $counttheme, $countreport, $retfile ); }
  0            
526 0 0         if ( $theme eq "comfort" ) { &retrieve_comfort_results($result, $resfile, \@retrdata, $reporttitle, $theme, $counttheme, $countreport, $retfile ); }
  0            
527 0 0         if ( $theme eq "loads" ) { &retrieve_loads_results($result, $resfile, \@retrdata, $reporttitle, $theme, $counttheme, $countreport, $retfile ); }
  0            
528 0 0         if ( $theme eq "tempsstats" ) { &retrieve_temps_stats($result, $resfile, \@retrdata, $reporttitle, $theme, $counttheme, $countreport, $retfile ); }
  0            
529             #print TOSHELL "\$sim: $sim, \$resfile: $resfile, \$result: $result, \@retrievedata: @retrievedata, \$reporttitle: $reporttitle, \$theme: $theme, \$counttheme: $counttheme, \$countreport, $countreport, \$retfile : $retfile \n";
530            
531 0           $countreport++;
532             }
533 0           $counttheme++;
534             }
535 0           $countinstance++;
536             }
537 0           print `rm -f $mypath/*.par`;
538 0           print TOSHELL "rm -f $mypath/*.par\n";
539 0           close OUTFILE;
540 0           close TOSHELL;
541 0           close RETLIST;
542 0           close RETBLOCK;
543 0           return (\@retcases, \@retstruct);
544             } # END SUB RETRIEVE
545              
546 0     0     sub report { ; } # NO MORE USED # This function retrieved the results of interest from the text file created by the "retrieve" function
547              
548             1;