Project

General

Profile

Bug #1332 » full-garp.xml

Chad Berkley, 02/09/2004 08:32 AM

 
1
<?xml version="1.0" standalone="no"?>
2
<!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN"
3
    "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd">
4
<entity name="full-garp" class="ptolemy.actor.TypedCompositeActor">
5
    <property name="_createdBy" class="ptolemy.kernel.attributes.VersionAttribute" value="3.0.2">
6
    </property>
7
    <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={0, 22, 1024, 742}}">
8
    </property>
9
    <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[813, 636]">
10
    </property>
11
    <property name="annotation2" class="ptolemy.kernel.util.Attribute">
12
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
13
        </property>
14
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
15
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">user chooses the grid scale </text></svg></configure>
16
        </property>
17
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
18
            <configure>
19
      <svg>
20
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
21
      </svg>
22
    </configure>
23
        </property>
24
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
25
        </property>
26
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
27
        </property>
28
        <property name="_location" class="ptolemy.kernel.util.Location" value="190.0, -175.0">
29
        </property>
30
    </property>
31
    <property name="annotation" class="ptolemy.kernel.util.Attribute">
32
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
33
        </property>
34
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
35
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">select the species which 
36
have adequate sample sizes</text></svg></configure>
37
        </property>
38
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
39
            <configure>
40
      <svg>
41
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
42
      </svg>
43
    </configure>
44
        </property>
45
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
46
        </property>
47
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
48
        </property>
49
        <property name="_location" class="ptolemy.kernel.util.Location" value="390.0, -300.0">
50
        </property>
51
    </property>
52
    <property name="annotation3" class="ptolemy.kernel.util.Attribute">
53
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
54
        </property>
55
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
56
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">scalingMetric is median, 
57
quartile or random</text></svg></configure>
58
        </property>
59
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
60
            <configure>
61
      <svg>
62
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
63
      </svg>
64
    </configure>
65
        </property>
66
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
67
        </property>
68
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
69
        </property>
70
        <property name="_location" class="ptolemy.kernel.util.Location" value="530.0, -135.0">
71
        </property>
72
    </property>
73
    <property name="annotation4" class="ptolemy.kernel.util.Attribute">
74
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
75
        </property>
76
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
77
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">for each species:
78
clipping generates min conv. poly
79
 around occurance pts, then buffers 
80
by n times the area of the poly.  
81
then clip the envlayers to the poly</text></svg></configure>
82
        </property>
83
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
84
            <configure>
85
      <svg>
86
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
87
      </svg>
88
    </configure>
89
        </property>
90
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
91
        </property>
92
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
93
        </property>
94
        <property name="_location" class="ptolemy.kernel.util.Location" value="610.0, -435.0">
95
        </property>
96
    </property>
97
    <property name="annotation5" class="ptolemy.kernel.util.Attribute">
98
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
99
        </property>
100
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
101
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">DiGIR returns all species occurance</text></svg></configure>
102
        </property>
103
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
104
            <configure>
105
      <svg>
106
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
107
      </svg>
108
    </configure>
109
        </property>
110
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
111
        </property>
112
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
113
        </property>
114
        <property name="_location" class="ptolemy.kernel.util.Location" value="205.0, -430.0">
115
        </property>
116
    </property>
117
    <property name="annotation6" class="ptolemy.kernel.util.Attribute">
118
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
119
        </property>
120
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
121
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">we need to iterate each 
122
species</text></svg></configure>
123
        </property>
124
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
125
            <configure>
126
      <svg>
127
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
128
      </svg>
129
    </configure>
130
        </property>
131
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
132
        </property>
133
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
134
        </property>
135
        <property name="_location" class="ptolemy.kernel.util.Location" value="335.0, -355.0">
136
        </property>
137
    </property>
138
    <property name="annotation7" class="ptolemy.kernel.util.Attribute">
139
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
140
        </property>
141
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
142
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">the structure of the dataset is that each row (xml tagged) is a dv followed by ivs.
143
all values must be a single byte
144
there is a specific xml format of input (internal representation)
145
DV=(0|1) default with ENM | (0-254) (255 indicates a value > 254)
146
IVs=1-254</text></svg></configure>
147
        </property>
148
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
149
            <configure>
150
      <svg>
151
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
152
      </svg>
153
    </configure>
154
        </property>
155
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
156
        </property>
157
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
158
        </property>
159
        <property name="_location" class="ptolemy.kernel.util.Location" value="895.0, -345.0">
160
        </property>
161
    </property>
162
    <property name="annotation8" class="ptolemy.kernel.util.Attribute">
163
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
164
        </property>
165
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
166
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">1-254</text></svg></configure>
167
        </property>
168
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
169
            <configure>
170
      <svg>
171
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
172
      </svg>
173
    </configure>
174
        </property>
175
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
176
        </property>
177
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
178
        </property>
179
        <property name="_location" class="ptolemy.kernel.util.Location" value="420.0, -535.0">
180
        </property>
181
    </property>
182
    <property name="annotation9" class="ptolemy.kernel.util.Attribute">
183
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
184
        </property>
185
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
186
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">could be repurposed as general binning util</text></svg></configure>
187
        </property>
188
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
189
            <configure>
190
      <svg>
191
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
192
      </svg>
193
    </configure>
194
        </property>
195
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
196
        </property>
197
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
198
        </property>
199
        <property name="_location" class="ptolemy.kernel.util.Location" value="370.0, -555.0">
200
        </property>
201
    </property>
202
    <property name="annotation10" class="ptolemy.kernel.util.Attribute">
203
        <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
204
        </property>
205
        <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
206
            <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">metadata for rescaling: this can be applied
207
to an envlayer and then parameterize input
208
west 2 of garpPrediction actor</text></svg></configure>
209
        </property>
210
        <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
211
            <configure>
212
      <svg>
213
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
214
      </svg>
215
    </configure>
216
        </property>
217
        <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
218
        </property>
219
        <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
220
        </property>
221
        <property name="_location" class="ptolemy.kernel.util.Location" value="830.0, -600.0">
222
        </property>
223
    </property>
224
    <port name="envLayers" class="ptolemy.actor.TypedIOPort">
225
        <property name="input"/>
226
        <property name="multiport"/>
227
        <property name="_location" class="ptolemy.kernel.util.Location" value="-25.0, -310.0">
228
        </property>
229
    </port>
230
    <port name="DiGIR Query" class="ptolemy.actor.TypedIOPort">
231
        <property name="input"/>
232
        <property name="_location" class="ptolemy.kernel.util.Location" value="-25.0, -365.0">
233
        </property>
234
    </port>
235
    <port name="listOfClimateChangeEnvLayers" class="ptolemy.actor.TypedIOPort">
236
        <property name="input"/>
237
        <property name="_location" class="ptolemy.kernel.util.Location" value="-35.0, -130.0">
238
        </property>
239
    </port>
240
    <port name="output" class="ptolemy.actor.TypedIOPort">
241
        <property name="output"/>
242
        <property name="_location" class="ptolemy.kernel.util.Location" value="1450.0, 315.0">
243
        </property>
244
    </port>
245
    <port name="classifiedMap" class="ptolemy.actor.TypedIOPort">
246
        <property name="input"/>
247
        <property name="_location" class="ptolemy.kernel.util.Location" value="-30.0, -60.0">
248
        </property>
249
    </port>
250
    <entity name="envLayerMDExtraction" class="org.ecoinformatics.seek.workflow.envLayerMDExtraction">
251
        <property name="envLayerMDExtraction" class="org.ecoinformatics.seek.workflow.envLayerMDExtraction$BlankActorPaneFactory">
252
        </property>
253
        <property name="_location" class="ptolemy.kernel.util.Location" value="165.0, -205.0">
254
        </property>
255
        <port name="envLayer" class="ptolemy.actor.TypedIOPort">
256
            <property name="input"/>
257
        </port>
258
        <port name="extractedInfo" class="ptolemy.actor.TypedIOPort">
259
            <property name="output"/>
260
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
261
            </property>
262
        </port>
263
    </entity>
264
    <entity name="GetUserInput" class="ptolemy.actor.TypedCompositeActor">
265
        <property name="_location" class="ptolemy.kernel.util.Location" value="300.0, -205.0">
266
        </property>
267
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
268
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
269
            </property>
270
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
271
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">select from the following:
272
-medians (systematic)
273
-quartiles (systematic)
274
-quartiles (random)
275
-infinite (random)
276
-manual</text></svg></configure>
277
            </property>
278
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
279
                <configure>
280
      <svg>
281
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
282
      </svg>
283
    </configure>
284
            </property>
285
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
286
            </property>
287
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
288
            </property>
289
            <property name="_location" class="ptolemy.kernel.util.Location" value="140.0, 250.0">
290
            </property>
291
        </property>
292
        <property name="annotation2" class="ptolemy.kernel.util.Attribute">
293
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
294
            </property>
295
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
296
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">the env layer MD determines the allowed vals of scaleValue</text></svg></configure>
297
            </property>
298
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
299
                <configure>
300
      <svg>
301
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
302
      </svg>
303
    </configure>
304
            </property>
305
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
306
            </property>
307
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
308
            </property>
309
            <property name="_location" class="ptolemy.kernel.util.Location" value="-10.0, 80.0">
310
            </property>
311
        </property>
312
        <port name="envlayerMD" class="ptolemy.actor.TypedIOPort">
313
            <property name="input"/>
314
            <property name="_location" class="ptolemy.kernel.util.Location" value="25.0, 135.0">
315
            </property>
316
        </port>
317
        <port name="scaleValue" class="ptolemy.actor.TypedIOPort">
318
            <property name="output"/>
319
            <property name="_location" class="ptolemy.kernel.util.Location" value="335.0, 145.0">
320
            </property>
321
        </port>
322
        <port name="minSampleSizeThreshold" class="ptolemy.actor.TypedIOPort">
323
            <property name="output"/>
324
            <property name="_location" class="ptolemy.kernel.util.Location" value="335.0, 205.0">
325
            </property>
326
        </port>
327
        <port name="sub sample method" class="ptolemy.actor.TypedIOPort">
328
            <property name="output"/>
329
            <property name="_location" class="ptolemy.kernel.util.Location" value="335.0, 285.0">
330
            </property>
331
        </port>
332
        <port name="number of garp replicates" class="ptolemy.actor.TypedIOPort">
333
            <property name="output"/>
334
            <property name="_location" class="ptolemy.kernel.util.Location" value="340.0, 350.0">
335
            </property>
336
        </port>
337
    </entity>
338
    <entity name="species selection" class="ptolemy.actor.TypedCompositeActor">
339
        <property name="_location" class="ptolemy.kernel.util.Location" value="485.0, -215.0">
340
        </property>
341
        <property name="annotation3" class="ptolemy.kernel.util.Attribute">
342
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
343
            </property>
344
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
345
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">if the species occ count >= threshold
346
then continue
347
else
348
return</text></svg></configure>
349
            </property>
350
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
351
                <configure>
352
      <svg>
353
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
354
      </svg>
355
    </configure>
356
            </property>
357
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
358
            </property>
359
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
360
            </property>
361
            <property name="_location" class="ptolemy.kernel.util.Location" value="205.6202850341797, 212.14403533935547">
362
            </property>
363
        </property>
364
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={106, 131, 1024, 742}}">
365
        </property>
366
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[813, 636]">
367
        </property>
368
        <port name="DiGIR Single Species result" class="ptolemy.actor.TypedIOPort">
369
            <property name="input"/>
370
            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 70.0">
371
            </property>
372
        </port>
373
        <port name="scalevalue" class="ptolemy.actor.TypedIOPort">
374
            <property name="input"/>
375
            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 150.0">
376
            </property>
377
        </port>
378
        <port name="threshold" class="ptolemy.actor.TypedIOPort">
379
            <property name="input"/>
380
            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
381
            </property>
382
        </port>
383
        <port name="good species" class="ptolemy.actor.TypedIOPort">
384
            <property name="output"/>
385
            <property name="multiport"/>
386
            <property name="_location" class="ptolemy.kernel.util.Location" value="445.0, 190.0">
387
            </property>
388
        </port>
389
        <entity name="Rescale" class="org.ecoinformatics.seek.workflow.Rescale">
390
            <property name="Rescale" class="org.ecoinformatics.seek.workflow.Rescale$BlankActorPaneFactory">
391
            </property>
392
            <property name="_location" class="ptolemy.kernel.util.Location" value="150.6202850341797, 97.14403533935547">
393
            </property>
394
            <port name="data" class="ptolemy.actor.TypedIOPort">
395
                <property name="input"/>
396
            </port>
397
            <port name="dataoutput" class="ptolemy.actor.TypedIOPort">
398
                <property name="output"/>
399
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
400
                </property>
401
            </port>
402
            <port name="scaleValue" class="ptolemy.actor.TypedIOPort">
403
                <property name="input"/>
404
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
405
                </property>
406
            </port>
407
        </entity>
408
        <entity name="SpeciesOccCount" class="org.ecoinformatics.seek.workflow.SpeciesCount">
409
            <property name="SpeciesCount" class="org.ecoinformatics.seek.workflow.SpeciesCount$BlankActorPaneFactory">
410
            </property>
411
            <property name="_location" class="ptolemy.kernel.util.Location" value="255.6202850341797, 97.14403533935547">
412
            </property>
413
            <port name="speciesPresence" class="ptolemy.actor.TypedIOPort">
414
                <property name="input"/>
415
            </port>
416
            <port name="counts" class="ptolemy.actor.TypedIOPort">
417
                <property name="output"/>
418
                <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
419
                </property>
420
            </port>
421
        </entity>
422
        <entity name="Comparator" class="ptolemy.actor.lib.logic.Comparator">
423
            <property name="comparison" class="ptolemy.kernel.util.StringAttribute" value="&gt;">
424
                <property name="style" class="ptolemy.actor.gui.style.ChoiceStyle">
425
                    <property name="gt" class="ptolemy.kernel.util.StringAttribute" value="&gt;">
426
                    </property>
427
                    <property name="ge" class="ptolemy.kernel.util.StringAttribute" value="&gt;=">
428
                    </property>
429
                    <property name="lt" class="ptolemy.kernel.util.StringAttribute" value="&lt;">
430
                    </property>
431
                    <property name="le" class="ptolemy.kernel.util.StringAttribute" value="&lt;=">
432
                    </property>
433
                    <property name="eq" class="ptolemy.kernel.util.StringAttribute" value="==">
434
                    </property>
435
                </property>
436
            </property>
437
            <property name="tolerance" class="ptolemy.data.expr.Parameter" value="0.0">
438
            </property>
439
            <property name="_icon" class="ptolemy.vergil.icon.AttributeValueIcon">
440
                <property name="attributeName" class="ptolemy.kernel.util.StringAttribute" value="comparison">
441
                </property>
442
                <property name="displayWidth" class="ptolemy.data.expr.Parameter" value="6">
443
                </property>
444
            </property>
445
            <property name="_location" class="ptolemy.kernel.util.Location" value="325.0, 190.0">
446
            </property>
447
            <port name="left" class="ptolemy.actor.TypedIOPort">
448
                <property name="input"/>
449
            </port>
450
            <port name="right" class="ptolemy.actor.TypedIOPort">
451
                <property name="input"/>
452
            </port>
453
            <port name="output" class="ptolemy.actor.TypedIOPort">
454
                <property name="output"/>
455
            </port>
456
        </entity>
457
        <relation name="relation4" class="ptolemy.actor.TypedIORelation">
458
        </relation>
459
        <relation name="relation8" class="ptolemy.actor.TypedIORelation">
460
        </relation>
461
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
462
        </relation>
463
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
464
        </relation>
465
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
466
        </relation>
467
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
468
        </relation>
469
        <link port="DiGIR Single Species result" relation="relation2"/>
470
        <link port="scalevalue" relation="relation5"/>
471
        <link port="threshold" relation="relation"/>
472
        <link port="good species" relation="relation3"/>
473
        <link port="Rescale.data" relation="relation2"/>
474
        <link port="Rescale.dataoutput" relation="relation4"/>
475
        <link port="Rescale.scaleValue" relation="relation5"/>
476
        <link port="SpeciesOccCount.speciesPresence" relation="relation4"/>
477
        <link port="SpeciesOccCount.counts" relation="relation8"/>
478
        <link port="Comparator.left" relation="relation8"/>
479
        <link port="Comparator.right" relation="relation"/>
480
        <link port="Comparator.output" relation="relation3"/>
481
    </entity>
482
    <entity name="Sampling" class="org.ecoinformatics.seek.workflow.Sampling">
483
        <property name="Sampling" class="org.ecoinformatics.seek.workflow.Sampling$BlankActorPaneFactory">
484
        </property>
485
        <property name="_location" class="ptolemy.kernel.util.Location" value="620.0, -160.0">
486
        </property>
487
        <port name="species" class="ptolemy.actor.TypedIOPort">
488
            <property name="input"/>
489
        </port>
490
        <port name="scalingMetric" class="ptolemy.actor.TypedIOPort">
491
            <property name="input"/>
492
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
493
            </property>
494
        </port>
495
        <port name="trainingAndIntrinsicTestData" class="ptolemy.actor.TypedIOPort">
496
            <property name="output"/>
497
            <property name="multiport"/>
498
        </port>
499
        <port name="extrinsicTestData" class="ptolemy.actor.TypedIOPort">
500
            <property name="output"/>
501
        </port>
502
    </entity>
503
    <entity name="Clipping" class="org.ecoinformatics.seek.workflow.Clipping">
504
        <property name="Clipping" class="org.ecoinformatics.seek.workflow.Clipping$BlankActorPaneFactory">
505
        </property>
506
        <property name="_location" class="ptolemy.kernel.util.Location" value="675.0, -300.0">
507
        </property>
508
        <port name="envlayer" class="ptolemy.actor.TypedIOPort">
509
            <property name="input"/>
510
        </port>
511
        <port name="species" class="ptolemy.actor.TypedIOPort">
512
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
513
            </property>
514
        </port>
515
        <port name="clippedLayersPerSpecies" class="ptolemy.actor.TypedIOPort">
516
            <property name="output"/>
517
        </port>
518
    </entity>
519
    <entity name="DiGIRQuery" class="org.ecoinformatics.seek.workflow.DiGIRQuery">
520
        <property name="DiGIRQuery" class="org.ecoinformatics.seek.workflow.DiGIRQuery$BlankActorPaneFactory">
521
        </property>
522
        <property name="_location" class="ptolemy.kernel.util.Location" value="315.0, -365.0">
523
        </property>
524
        <port name="queryString" class="ptolemy.actor.TypedIOPort">
525
            <property name="input"/>
526
        </port>
527
        <port name="resultset" class="ptolemy.actor.TypedIOPort">
528
            <property name="output"/>
529
        </port>
530
    </entity>
531
    <entity name="GarpDataVector(GarpPresampleLayers)" class="org.ecoinformatics.seek.garp.GarpPresampleLayers">
532
        <doc>Presample layer files for use with the GarpAlgorithm Actor.</doc>
533
        <property name="_location" class="ptolemy.kernel.util.Location" value="810.0, -220.0">
534
        </property>
535
        <port name="layersetFilename" class="ptolemy.actor.TypedIOPort">
536
            <property name="input"/>
537
        </port>
538
        <port name="dataPointFileName" class="ptolemy.actor.TypedIOPort">
539
            <property name="input"/>
540
        </port>
541
        <port name="cellSetFileName" class="ptolemy.actor.TypedIOPort">
542
            <property name="input"/>
543
        </port>
544
        <port name="cellSetFileNameOutput" class="ptolemy.actor.TypedIOPort">
545
            <property name="output"/>
546
        </port>
547
    </entity>
548
    <entity name="GarpPrediction" class="org.ecoinformatics.seek.garp.GarpPrediction">
549
        <doc>Create a prediction based on the output of a GarpAlgorithm actor.</doc>
550
        <property name="_location" class="ptolemy.kernel.util.Location" value="1005.0, -125.0">
551
        </property>
552
        <port name="ruleSetFilename" class="ptolemy.actor.TypedIOPort">
553
            <property name="input"/>
554
        </port>
555
        <port name="layersetFilename" class="ptolemy.actor.TypedIOPort">
556
            <property name="input"/>
557
        </port>
558
        <port name="outputASCII" class="ptolemy.actor.TypedIOPort">
559
            <property name="input"/>
560
        </port>
561
        <port name="outputBMP" class="ptolemy.actor.TypedIOPort">
562
            <property name="input"/>
563
        </port>
564
        <port name="outputASCIIFileName" class="ptolemy.actor.TypedIOPort">
565
            <property name="output"/>
566
        </port>
567
        <port name="outputBMPFileName" class="ptolemy.actor.TypedIOPort">
568
            <property name="output"/>
569
        </port>
570
    </entity>
571
    <entity name="GarpAlgorithm" class="org.ecoinformatics.seek.garp.GarpAlgorithm">
572
        <doc>Run the GARP algorithm</doc>
573
        <property name="_location" class="ptolemy.kernel.util.Location" value="930.0, -180.0">
574
        </property>
575
        <port name="cellSetFileName" class="ptolemy.actor.TypedIOPort">
576
            <property name="input"/>
577
        </port>
578
        <port name="ruleSetFilename" class="ptolemy.actor.TypedIOPort">
579
            <property name="input"/>
580
        </port>
581
        <port name="ruleSetFilenameOutput" class="ptolemy.actor.TypedIOPort">
582
            <property name="output"/>
583
        </port>
584
    </entity>
585
    <entity name="HaltIteration" class="ptolemy.actor.TypedCompositeActor">
586
        <property name="_location" class="ptolemy.kernel.util.Location" value="770.0, -10.0">
587
        </property>
588
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
589
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
590
            </property>
591
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
592
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">when the loop is still running, it passes origInput through origOutput. 
593
when it is done, it passes true out the done output</text></svg></configure>
594
            </property>
595
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
596
                <configure>
597
      <svg>
598
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
599
      </svg>
600
    </configure>
601
            </property>
602
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
603
            </property>
604
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
605
            </property>
606
            <property name="_location" class="ptolemy.kernel.util.Location" value="115.0, 75.0">
607
            </property>
608
        </property>
609
        <port name="incrementCounter" class="ptolemy.actor.TypedIOPort">
610
            <property name="input"/>
611
            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
612
            </property>
613
        </port>
614
        <port name="maxCount" class="ptolemy.actor.TypedIOPort">
615
            <property name="input"/>
616
            <property name="_location" class="ptolemy.kernel.util.Location" value="25.0, 295.0">
617
            </property>
618
        </port>
619
        <port name="origOutput" class="ptolemy.actor.TypedIOPort">
620
            <property name="output"/>
621
            <property name="multiport"/>
622
            <property name="_location" class="ptolemy.kernel.util.Location" value="535.0, 195.0">
623
            </property>
624
        </port>
625
        <port name="origInput" class="ptolemy.actor.TypedIOPort">
626
            <property name="input"/>
627
            <property name="_location" class="ptolemy.kernel.util.Location" value="30.0, 125.0">
628
            </property>
629
        </port>
630
        <port name="loopDone" class="ptolemy.actor.TypedIOPort">
631
            <property name="output"/>
632
            <property name="multiport"/>
633
            <property name="_location" class="ptolemy.kernel.util.Location" value="540.0, 320.0">
634
            </property>
635
        </port>
636
        <entity name="Counter" class="ptolemy.actor.lib.Counter">
637
            <property name="_location" class="ptolemy.kernel.util.Location" value="240.0, 235.0">
638
            </property>
639
            <port name="increment" class="ptolemy.actor.TypedIOPort">
640
                <property name="input"/>
641
            </port>
642
            <port name="decrement" class="ptolemy.actor.TypedIOPort">
643
                <property name="input"/>
644
            </port>
645
            <port name="output" class="ptolemy.actor.TypedIOPort">
646
                <property name="output"/>
647
            </port>
648
        </entity>
649
        <entity name="Equals" class="ptolemy.actor.lib.logic.Equals">
650
            <property name="_location" class="ptolemy.kernel.util.Location" value="355.0, 295.0">
651
            </property>
652
            <port name="input" class="ptolemy.actor.TypedIOPort">
653
                <property name="input"/>
654
                <property name="multiport"/>
655
            </port>
656
            <port name="output" class="ptolemy.actor.TypedIOPort">
657
                <property name="output"/>
658
            </port>
659
        </entity>
660
        <entity name="IsPresent" class="ptolemy.actor.lib.logic.IsPresent">
661
            <property name="_location" class="ptolemy.kernel.util.Location" value="455.0, 195.0">
662
            </property>
663
            <port name="input" class="ptolemy.actor.TypedIOPort">
664
                <property name="input"/>
665
                <property name="multiport"/>
666
            </port>
667
            <port name="output" class="ptolemy.actor.TypedIOPort">
668
                <property name="output"/>
669
                <property name="multiport"/>
670
            </port>
671
        </entity>
672
        <relation name="relation" class="ptolemy.actor.TypedIORelation">
673
        </relation>
674
        <relation name="relation2" class="ptolemy.actor.TypedIORelation">
675
        </relation>
676
        <relation name="relation3" class="ptolemy.actor.TypedIORelation">
677
        </relation>
678
        <relation name="relation5" class="ptolemy.actor.TypedIORelation">
679
        </relation>
680
        <link port="incrementCounter" relation="relation"/>
681
        <link port="maxCount" relation="relation3"/>
682
        <link port="Counter.increment" relation="relation"/>
683
        <link port="Counter.output" relation="relation2"/>
684
        <link port="Equals.input" relation="relation2"/>
685
        <link port="Equals.input" relation="relation3"/>
686
        <link port="Equals.output" relation="relation5"/>
687
        <link port="IsPresent.input" relation="relation5"/>
688
    </entity>
689
    <entity name="RescaleValues" class="org.ecoinformatics.seek.workflow.Rescale">
690
        <property name="Rescale" class="org.ecoinformatics.seek.workflow.Rescale$BlankActorPaneFactory">
691
        </property>
692
        <property name="_location" class="ptolemy.kernel.util.Location" value="460.0, -470.0">
693
        </property>
694
        <port name="envLayer" class="ptolemy.actor.TypedIOPort">
695
            <property name="input"/>
696
        </port>
697
        <port name="scaledEnvLayer" class="ptolemy.actor.TypedIOPort">
698
            <property name="output"/>
699
            <property name="multiport"/>
700
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
701
            </property>
702
        </port>
703
        <port name="scalingMetadata" class="ptolemy.actor.TypedIOPort">
704
            <property name="output"/>
705
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="EAST">
706
            </property>
707
        </port>
708
    </entity>
709
    <entity name="ErrorMatrixGenerator" class="org.ecoinformatics.seek.workflow.ErrorMatrixGenerator">
710
        <property name="ErrorMatrixGenerator" class="org.ecoinformatics.seek.workflow.ErrorMatrixGenerator$BlankActorPaneFactory">
711
        </property>
712
        <property name="_location" class="ptolemy.kernel.util.Location" value="1150.0, -80.0">
713
        </property>
714
        <port name="occurrencegrid" class="ptolemy.actor.TypedIOPort">
715
            <property name="input"/>
716
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
717
            </property>
718
        </port>
719
        <port name="extrinsicTestData" class="ptolemy.actor.TypedIOPort">
720
            <property name="input"/>
721
            <property name="_cardinal" class="ptolemy.kernel.util.StringAttribute" value="WEST">
722
            </property>
723
        </port>
724
        <port name="iterationMetadata" class="ptolemy.actor.TypedIOPort">
725
            <property name="output"/>
726
        </port>
727
    </entity>
728
    <entity name="modelFilter" class="ptolemy.actor.TypedCompositeActor">
729
        <property name="_location" class="ptolemy.kernel.util.Location" value="820.0, 90.0">
730
        </property>
731
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
732
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
733
            </property>
734
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
735
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">-save the iteration matrix
736
-select the runs that meet the threshhold of min ommission (params in DTGarp (middle panel))
737
-calc the medium commission of the min ommission models
738
-select the user-defined percentage of the min ommission models that are closest to the median commission (from prev step)
739
</text></svg></configure>
740
            </property>
741
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
742
                <configure>
743
      <svg>
744
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
745
      </svg>
746
    </configure>
747
            </property>
748
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
749
            </property>
750
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
751
            </property>
752
            <property name="_location" class="ptolemy.kernel.util.Location" value="-15.0, 245.0">
753
            </property>
754
        </property>
755
        <port name="iterationMetadataMatrix" class="ptolemy.actor.TypedIOPort">
756
            <property name="input"/>
757
            <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 100.0">
758
            </property>
759
        </port>
760
        <port name="modelSubset" class="ptolemy.actor.TypedIOPort">
761
            <property name="output"/>
762
            <property name="_location" class="ptolemy.kernel.util.Location" value="505.0, 95.0">
763
            </property>
764
        </port>
765
    </entity>
766
    <entity name="NeuralNet" class="ptolemy.actor.TypedCompositeActor">
767
        <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 90.0">
768
        </property>
769
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
770
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
771
            </property>
772
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
773
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">input1: species selection prior to sampling
774
input2: output of clipping</text></svg></configure>
775
            </property>
776
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
777
                <configure>
778
      <svg>
779
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
780
      </svg>
781
    </configure>
782
            </property>
783
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
784
            </property>
785
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
786
            </property>
787
            <property name="_location" class="ptolemy.kernel.util.Location" value="65.0, 55.0">
788
            </property>
789
        </property>
790
        <port name="port" class="ptolemy.actor.TypedIOPort">
791
            <property name="input"/>
792
            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 200.0">
793
            </property>
794
        </port>
795
        <port name="port2" class="ptolemy.actor.TypedIOPort">
796
            <property name="input"/>
797
            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 130.0">
798
            </property>
799
        </port>
800
    </entity>
801
    <entity name="GenerateFinalOutput" class="ptolemy.actor.TypedCompositeActor">
802
        <property name="_location" class="ptolemy.kernel.util.Location" value="1060.0, 95.0">
803
        </property>
804
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
805
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
806
            </property>
807
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
808
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">for each climate change layerset (including no change layersets aka origEnvLayers)
809
  for each ruleset in selected rule matrix
810
    get garp prediction on layerset
811
  end for
812
  sum grids
813
end for
814
</text></svg></configure>
815
            </property>
816
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
817
                <configure>
818
      <svg>
819
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
820
      </svg>
821
    </configure>
822
            </property>
823
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
824
            </property>
825
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
826
            </property>
827
            <property name="_location" class="ptolemy.kernel.util.Location" value="115.0, 260.0">
828
            </property>
829
        </property>
830
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={106, 131, 1024, 742}}">
831
        </property>
832
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[813, 636]">
833
        </property>
834
        <port name="RescaleMetadata" class="ptolemy.actor.TypedIOPort">
835
            <property name="input"/>
836
            <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 80.0">
837
            </property>
838
        </port>
839
        <port name="SelectedRuleMatrix" class="ptolemy.actor.TypedIOPort">
840
            <property name="input"/>
841
            <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 140.0">
842
            </property>
843
        </port>
844
        <port name="origEnvLayers" class="ptolemy.actor.TypedIOPort">
845
            <property name="input"/>
846
            <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 195.0">
847
            </property>
848
        </port>
849
        <port name="listOfClimateChangeEnvLayers" class="ptolemy.actor.TypedIOPort">
850
            <property name="input"/>
851
            <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 250.0">
852
            </property>
853
        </port>
854
        <port name="predictedOccuranceGridSet" class="ptolemy.actor.TypedIOPort">
855
            <property name="output"/>
856
            <property name="_location" class="ptolemy.kernel.util.Location" value="565.0, 150.0">
857
            </property>
858
        </port>
859
    </entity>
860
    <entity name="GenerateMask" class="org.ecoinformatics.seek.workflow.GenerateMask">
861
        <property name="GenerateMask" class="org.ecoinformatics.seek.workflow.GenerateMask$BlankActorPaneFactory">
862
        </property>
863
        <property name="_location" class="ptolemy.kernel.util.Location" value="610.0, 195.0">
864
        </property>
865
        <port name="occuranceData" class="ptolemy.actor.TypedIOPort">
866
            <property name="input"/>
867
        </port>
868
        <port name="classifiedMap" class="ptolemy.actor.TypedIOPort">
869
            <property name="input"/>
870
        </port>
871
        <port name="maskGrid" class="ptolemy.actor.TypedIOPort">
872
            <property name="output"/>
873
        </port>
874
    </entity>
875
    <entity name="gridReclassification" class="ptolemy.actor.TypedCompositeActor">
876
        <property name="_location" class="ptolemy.kernel.util.Location" value="1170.0, 185.0">
877
        </property>
878
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
879
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
880
            </property>
881
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
882
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">for each grid in gridSet
883
  apply grid mask
884
end for</text></svg></configure>
885
            </property>
886
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
887
                <configure>
888
      <svg>
889
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
890
      </svg>
891
    </configure>
892
            </property>
893
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
894
            </property>
895
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
896
            </property>
897
            <property name="_location" class="ptolemy.kernel.util.Location" value="160.0, 50.0">
898
            </property>
899
        </property>
900
        <port name="occuranceGridSet" class="ptolemy.actor.TypedIOPort">
901
            <property name="input"/>
902
            <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 70.0">
903
            </property>
904
        </port>
905
        <port name="gridMask" class="ptolemy.actor.TypedIOPort">
906
            <property name="input"/>
907
            <property name="_location" class="ptolemy.kernel.util.Location" value="35.0, 125.0">
908
            </property>
909
        </port>
910
        <port name="reclassedGridSet" class="ptolemy.actor.TypedIOPort">
911
            <property name="output"/>
912
            <property name="_location" class="ptolemy.kernel.util.Location" value="420.0, 90.0">
913
            </property>
914
        </port>
915
    </entity>
916
    <entity name="ROCThresholdGenerator" class="ptolemy.actor.TypedCompositeActor">
917
        <property name="_location" class="ptolemy.kernel.util.Location" value="1295.0, 230.0">
918
        </property>
919
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
920
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
921
            </property>
922
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
923
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">for each set
924
  run ROC algorithm
925
end for</text></svg></configure>
926
            </property>
927
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
928
                <configure>
929
      <svg>
930
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
931
      </svg>
932
    </configure>
933
            </property>
934
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
935
            </property>
936
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
937
            </property>
938
            <property name="_location" class="ptolemy.kernel.util.Location" value="140.0, 55.0">
939
            </property>
940
        </property>
941
        <property name="annotation2" class="ptolemy.kernel.util.Attribute">
942
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
943
            </property>
944
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
945
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">ROC = Reciever operating characteristic
946

    
947
insert terry's phd student's algorithm here</text></svg></configure>
948
            </property>
949
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
950
                <configure>
951
      <svg>
952
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
953
      </svg>
954
    </configure>
955
            </property>
956
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
957
            </property>
958
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
959
            </property>
960
            <property name="_location" class="ptolemy.kernel.util.Location" value="125.0, 230.0">
961
            </property>
962
        </property>
963
        <property name="annotation3" class="ptolemy.kernel.util.Attribute">
964
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
965
            </property>
966
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
967
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">this generates one output grid for each input grid</text></svg></configure>
968
            </property>
969
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
970
                <configure>
971
      <svg>
972
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
973
      </svg>
974
    </configure>
975
            </property>
976
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
977
            </property>
978
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
979
            </property>
980
            <property name="_location" class="ptolemy.kernel.util.Location" value="305.0, 40.0">
981
            </property>
982
        </property>
983
        <property name="annotation4" class="ptolemy.kernel.util.Attribute">
984
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
985
            </property>
986
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
987
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">***need to apply the threshold generator to the orig present dataset
988
this produces a threshold that we use to reclassify the grids</text></svg></configure>
989
            </property>
990
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
991
                <configure>
992
      <svg>
993
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
994
      </svg>
995
    </configure>
996
            </property>
997
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
998
            </property>
999
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
1000
            </property>
1001
            <property name="_location" class="ptolemy.kernel.util.Location" value="120.0, 135.0">
1002
            </property>
1003
        </property>
1004
        <port name="reclassedGridSet" class="ptolemy.actor.TypedIOPort">
1005
            <property name="input"/>
1006
            <property name="_location" class="ptolemy.kernel.util.Location" value="40.0, 75.0">
1007
            </property>
1008
        </port>
1009
        <port name="occuranceGridSet" class="ptolemy.actor.TypedIOPort">
1010
            <property name="input"/>
1011
            <property name="_location" class="ptolemy.kernel.util.Location" value="40.0, 140.0">
1012
            </property>
1013
        </port>
1014
        <port name="binaryGrid" class="ptolemy.actor.TypedIOPort">
1015
            <property name="output"/>
1016
            <property name="_location" class="ptolemy.kernel.util.Location" value="460.0, 100.0">
1017
            </property>
1018
        </port>
1019
        <port name="extrinsicTestData" class="ptolemy.actor.TypedIOPort">
1020
            <property name="input"/>
1021
            <property name="_location" class="ptolemy.kernel.util.Location" value="40.0, 205.0">
1022
            </property>
1023
        </port>
1024
    </entity>
1025
    <entity name="summaryStats" class="ptolemy.actor.TypedCompositeActor">
1026
        <property name="_location" class="ptolemy.kernel.util.Location" value="1305.0, 315.0">
1027
        </property>
1028
        <property name="annotation" class="ptolemy.kernel.util.Attribute">
1029
            <property name="_hideName" class="ptolemy.kernel.util.SingletonAttribute">
1030
            </property>
1031
            <property name="_iconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
1032
                <configure><svg><text x="20" y="20" style="font-size:14; font-family:SansSerif; fill:blue">For each grid
1033
  summarize frequency distro of cells
1034
end for
1035
for each pair-wise grid combo of 
1036
  ((present or present-reclass) ^ (climate or climate-reclass))
1037
  summarize frequency distro of cells (on the intersections)
1038
end for
1039
for each pair-wise grid combo of 
1040
  ((present or present-reclass) v (climate or climate-reclass))
1041
  conditioned on contiguity of climate cells with present cells 
1042
    when both are predicted present)
1043
  for union outcome present presence gets flagged and climate cells with no flagged neighbor
1044
    are set to not present
1045
end for
1046
For each grid (in outcome of loop above)
1047
  summarize frequency distro of cells
1048
end for</text></svg></configure>
1049
            </property>
1050
            <property name="_smallIconDescription" class="ptolemy.kernel.util.SingletonConfigurableAttribute">
1051
                <configure>
1052
      <svg>
1053
        <text x="20" style="font-size:14; font-family:SansSerif; fill:blue" y="20">-A-</text>
1054
      </svg>
1055
    </configure>
1056
            </property>
1057
            <property name="_controllerFactory" class="ptolemy.vergil.basic.NodeControllerFactory">
1058
            </property>
1059
            <property name="_editorFactory" class="ptolemy.vergil.toolbox.AnnotationEditorFactory">
1060
            </property>
1061
            <property name="_location" class="ptolemy.kernel.util.Location" value="20.0, 135.0">
1062
            </property>
1063
        </property>
1064
        <property name="_windowProperties" class="ptolemy.actor.gui.WindowPropertiesAttribute" value="{bounds={23, 91, 927, 560}}">
1065
        </property>
1066
        <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[716, 454]">
1067
        </property>
1068
        <port name="gridset" class="ptolemy.actor.TypedIOPort">
1069
            <property name="input"/>
1070
            <property name="_location" class="ptolemy.kernel.util.Location" value="40.0, 110.0">
1071
            </property>
1072
        </port>
1073
        <port name="frequenceySummary" class="ptolemy.actor.TypedIOPort">
1074
            <property name="output"/>
1075
            <property name="_location" class="ptolemy.kernel.util.Location" value="430.0, 115.0">
1076
            </property>
1077
        </port>
1078
    </entity>
1079
    <relation name="relation3" class="ptolemy.actor.TypedIORelation">
1080
    </relation>
1081
    <relation name="relation2" class="ptolemy.actor.TypedIORelation">
1082
    </relation>
1083
    <relation name="relation4" class="ptolemy.actor.TypedIORelation">
1084
    </relation>
1085
    <relation name="relation6" class="ptolemy.actor.TypedIORelation">
1086
    </relation>
1087
    <relation name="relation7" class="ptolemy.actor.TypedIORelation">
1088
    </relation>
1089
    <relation name="relation8" class="ptolemy.actor.TypedIORelation">
1090
    </relation>
1091
    <relation name="relation5" class="ptolemy.actor.TypedIORelation">
1092
    </relation>
1093
    <relation name="relation10" class="ptolemy.actor.TypedIORelation">
1094
    </relation>
1095
    <relation name="relation" class="ptolemy.actor.TypedIORelation">
1096
    </relation>
1097
    <relation name="relation14" class="ptolemy.actor.TypedIORelation">
1098
        <vertex name="vertex1" value="740.0, -300.0">
1099
        </vertex>
1100
    </relation>
1101
    <relation name="relation17" class="ptolemy.actor.TypedIORelation">
1102
    </relation>
1103
    <relation name="relation18" class="ptolemy.actor.TypedIORelation">
1104
    </relation>
1105
    <relation name="relation12" class="ptolemy.actor.TypedIORelation">
1106
        <vertex name="vertex1" value="525.0, -10.0">
1107
        </vertex>
1108
    </relation>
1109
    <relation name="relation11" class="ptolemy.actor.TypedIORelation">
1110
        <vertex name="vertex1" value="760.0, -200.0">
1111
        </vertex>
1112
    </relation>
1113
    <relation name="relation9" class="ptolemy.actor.TypedIORelation">
1114
    </relation>
1115
    <relation name="relation19" class="ptolemy.actor.TypedIORelation">
1116
        <vertex name="vertex1" value="900.0, -480.0">
1117
        </vertex>
1118
    </relation>
1119
    <relation name="relation16" class="ptolemy.actor.TypedIORelation">
1120
    </relation>
1121
    <relation name="relation20" class="ptolemy.actor.TypedIORelation">
1122
        <vertex name="vertex1" value="960.0, -535.0">
1123
        </vertex>
1124
    </relation>
1125
    <relation name="relation13" class="ptolemy.actor.TypedIORelation">
1126
        <vertex name="vertex1" value="1075.0, -85.0">
1127
        </vertex>
1128
    </relation>
1129
    <relation name="relation15" class="ptolemy.actor.TypedIORelation">
1130
    </relation>
1131
    <relation name="relation22" class="ptolemy.actor.TypedIORelation">
1132
    </relation>
1133
    <relation name="relation23" class="ptolemy.actor.TypedIORelation">
1134
    </relation>
1135
    <relation name="relation24" class="ptolemy.actor.TypedIORelation">
1136
    </relation>
1137
    <relation name="relation25" class="ptolemy.actor.TypedIORelation">
1138
    </relation>
1139
    <relation name="relation26" class="ptolemy.actor.TypedIORelation">
1140
    </relation>
1141
    <relation name="relation28" class="ptolemy.actor.TypedIORelation">
1142
    </relation>
1143
    <relation name="relation29" class="ptolemy.actor.TypedIORelation">
1144
    </relation>
1145
    <relation name="relation27" class="ptolemy.actor.TypedIORelation">
1146
        <vertex name="vertex1" value="1035.0, 240.0">
1147
        </vertex>
1148
    </relation>
1149
    <relation name="relation21" class="ptolemy.actor.TypedIORelation">
1150
        <vertex name="vertex1" value="855.0, -70.0">
1151
        </vertex>
1152
    </relation>
1153
    <relation name="relation30" class="ptolemy.actor.TypedIORelation">
1154
    </relation>
1155
    <relation name="relation31" class="ptolemy.actor.TypedIORelation">
1156
    </relation>
1157
    <link port="envLayers" relation="relation5"/>
1158
    <link port="envLayers" relation="relation9"/>
1159
    <link port="DiGIR Query" relation="relation10"/>
1160
    <link port="listOfClimateChangeEnvLayers" relation="relation24"/>
1161
    <link port="output" relation="relation31"/>
1162
    <link port="classifiedMap" relation="relation26"/>
1163
    <link port="envLayerMDExtraction.envLayer" relation="relation5"/>
1164
    <link port="envLayerMDExtraction.extractedInfo" relation="relation3"/>
1165
    <link port="GetUserInput.envlayerMD" relation="relation3"/>
1166
    <link port="GetUserInput.scaleValue" relation="relation2"/>
1167
    <link port="GetUserInput.minSampleSizeThreshold" relation="relation4"/>
1168
    <link port="GetUserInput.sub sample method" relation="relation6"/>
1169
    <link port="GetUserInput.number of garp replicates" relation="relation12"/>
1170
    <link port="species selection.DiGIR Single Species result" relation="relation"/>
1171
    <link port="species selection.scalevalue" relation="relation2"/>
1172
    <link port="species selection.threshold" relation="relation4"/>
1173
    <link port="species selection.good species" relation="relation7"/>
1174
    <link port="species selection.good species" relation="relation8"/>
1175
    <link port="species selection.good species" relation="relation25"/>
1176
    <link port="Sampling.species" relation="relation8"/>
1177
    <link port="Sampling.scalingMetric" relation="relation6"/>
1178
    <link port="Sampling.trainingAndIntrinsicTestData" relation="relation11"/>
1179
    <link port="Sampling.extrinsicTestData" relation="relation21"/>
1180
    <link port="Clipping.envlayer" relation="relation16"/>
1181
    <link port="Clipping.species" relation="relation7"/>
1182
    <link port="Clipping.clippedLayersPerSpecies" relation="relation14"/>
1183
    <link port="DiGIRQuery.queryString" relation="relation10"/>
1184
    <link port="DiGIRQuery.resultset" relation="relation"/>
1185
    <link port="GarpDataVector(GarpPresampleLayers).layersetFilename" relation="relation14"/>
1186
    <link port="GarpDataVector(GarpPresampleLayers).dataPointFileName" relation="relation11"/>
1187
    <link port="GarpDataVector(GarpPresampleLayers).cellSetFileNameOutput" relation="relation18"/>
1188
    <link port="GarpPrediction.ruleSetFilename" relation="relation17"/>
1189
    <link port="GarpPrediction.layersetFilename" relation="relation14"/>
1190
    <link port="GarpPrediction.outputASCIIFileName" relation="relation13"/>
1191
    <link port="GarpAlgorithm.cellSetFileName" relation="relation18"/>
1192
    <link port="GarpAlgorithm.ruleSetFilenameOutput" relation="relation17"/>
1193
    <link port="HaltIteration.incrementCounter" relation="relation13"/>
1194
    <link port="HaltIteration.maxCount" relation="relation12"/>
1195
    <link port="HaltIteration.origOutput" relation="relation11"/>
1196
    <link port="HaltIteration.origInput" relation="relation15"/>
1197
    <link port="HaltIteration.loopDone" relation="relation22"/>
1198
    <link port="RescaleValues.envLayer" relation="relation9"/>
1199
    <link port="RescaleValues.scaledEnvLayer" relation="relation16"/>
1200
    <link port="RescaleValues.scaledEnvLayer" relation="relation19"/>
1201
    <link port="RescaleValues.scalingMetadata" relation="relation20"/>
1202
    <link port="ErrorMatrixGenerator.occurrencegrid" relation="relation13"/>
1203
    <link port="ErrorMatrixGenerator.extrinsicTestData" relation="relation21"/>
1204
    <link port="ErrorMatrixGenerator.iterationMetadata" relation="relation15"/>
1205
    <link port="modelFilter.iterationMetadataMatrix" relation="relation22"/>
1206
    <link port="modelFilter.modelSubset" relation="relation23"/>
1207
    <link port="GenerateFinalOutput.RescaleMetadata" relation="relation20"/>
1208
    <link port="GenerateFinalOutput.SelectedRuleMatrix" relation="relation23"/>
1209
    <link port="GenerateFinalOutput.origEnvLayers" relation="relation19"/>
1210
    <link port="GenerateFinalOutput.listOfClimateChangeEnvLayers" relation="relation24"/>
1211
    <link port="GenerateFinalOutput.predictedOccuranceGridSet" relation="relation27"/>
1212
    <link port="GenerateMask.occuranceData" relation="relation25"/>
1213
    <link port="GenerateMask.classifiedMap" relation="relation26"/>
1214
    <link port="GenerateMask.maskGrid" relation="relation28"/>
1215
    <link port="gridReclassification.occuranceGridSet" relation="relation27"/>
1216
    <link port="gridReclassification.gridMask" relation="relation28"/>
1217
    <link port="gridReclassification.reclassedGridSet" relation="relation29"/>
1218
    <link port="ROCThresholdGenerator.reclassedGridSet" relation="relation29"/>
1219
    <link port="ROCThresholdGenerator.occuranceGridSet" relation="relation27"/>
1220
    <link port="ROCThresholdGenerator.binaryGrid" relation="relation30"/>
1221
    <link port="ROCThresholdGenerator.extrinsicTestData" relation="relation21"/>
1222
    <link port="summaryStats.gridset" relation="relation30"/>
1223
    <link port="summaryStats.frequenceySummary" relation="relation31"/>
1224
</entity>
(1-1/2)