12
12
import gov .hhs .aspr .ms .gcm .simulation .nucleus .Experiment ;
13
13
import gov .hhs .aspr .ms .gcm .simulation .nucleus .ExperimentParameterData ;
14
14
import gov .hhs .aspr .ms .gcm .simulation .nucleus .FunctionalDimension ;
15
+ import gov .hhs .aspr .ms .gcm .simulation .nucleus .FunctionalDimensionData ;
15
16
import gov .hhs .aspr .ms .gcm .simulation .nucleus .Plugin ;
16
17
17
18
public final class Example_9_E {
@@ -36,15 +37,16 @@ private static PolicyPluginData getPolicyPluginData() {
36
37
37
38
private static Dimension getR0Dimension () {
38
39
39
- FunctionalDimension .Builder builder = FunctionalDimension .builder ();//
40
+ FunctionalDimensionData .Builder builder = FunctionalDimensionData .builder ();//
40
41
41
42
List <Double > r0Values = new ArrayList <>();
42
43
r0Values .add (1.5 );
43
44
r0Values .add (2.0 );
44
45
r0Values .add (2.5 );
45
46
46
- for (Double r0 : r0Values ) {
47
- builder .addLevel ((context ) -> {
47
+ for (int i = 0 ; i < r0Values .size (); i ++) {
48
+ Double r0 = r0Values .get (i );
49
+ builder .addValue ("Level_" + i , (context ) -> {
48
50
DiseasePluginData .Builder pluginDataBuilder = context
49
51
.getPluginDataBuilder (DiseasePluginData .Builder .class );
50
52
pluginDataBuilder .setR0 (r0 );
@@ -53,14 +55,15 @@ private static Dimension getR0Dimension() {
53
55
return result ;
54
56
});//
55
57
}
56
- builder .addMetaDatum ("r0" );//
57
58
58
- return builder .build ();
59
+ builder .addMetaDatum ( "r0" ); //
59
60
61
+ FunctionalDimensionData functionalDimensionData = builder .build ();
62
+ return new FunctionalDimension (functionalDimensionData );
60
63
}
61
64
62
65
private static Dimension getPolicyDimension () {
63
- FunctionalDimension .Builder builder = FunctionalDimension .builder ();//
66
+ FunctionalDimensionData .Builder builder = FunctionalDimensionData .builder ();//
64
67
65
68
List <Double > schoolClosingInfectionRates = new ArrayList <>();
66
69
schoolClosingInfectionRates .add (0.05 );
@@ -70,9 +73,13 @@ private static Dimension getPolicyDimension() {
70
73
localVaccineDistributionValues .add (false );
71
74
localVaccineDistributionValues .add (true );
72
75
73
- for (Boolean localVaccineDistribution : localVaccineDistributionValues ) {
74
- for (Double schoolClosingInfectionRate : schoolClosingInfectionRates ) {
75
- builder .addLevel ((context ) -> {
76
+ for (int i = 0 ; i < localVaccineDistributionValues .size (); i ++) {
77
+ Boolean localVaccineDistribution = localVaccineDistributionValues .get (i );
78
+
79
+ for (int j = 0 ; j < schoolClosingInfectionRates .size (); j ++) {
80
+ Double schoolClosingInfectionRate = schoolClosingInfectionRates .get (j );
81
+
82
+ builder .addValue ("Level_" + i + j , (context ) -> {
76
83
PolicyPluginData .Builder pluginDataBuilder = context
77
84
.getPluginDataBuilder (PolicyPluginData .Builder .class );
78
85
pluginDataBuilder .setSchoolClosingInfectionRate (schoolClosingInfectionRate );
@@ -85,11 +92,12 @@ private static Dimension getPolicyDimension() {
85
92
});//
86
93
}
87
94
}
95
+
88
96
builder .addMetaDatum ("school_closing_infection_rate" );//
89
97
builder .addMetaDatum ("distribute_vaccine_locally" );//
90
98
91
- return builder .build ();
92
-
99
+ FunctionalDimensionData functionalDimensionData = builder .build ();
100
+ return new FunctionalDimension ( functionalDimensionData );
93
101
}
94
102
95
103
/* start code_ref=experiements_example_9_E|code_cap=Executing the 12 scenarios of the previous experiment with four threads.*/
0 commit comments