SFR history, Molecular clouds corrections.ipynb 353 KB
Newer Older
1
2
3
4
{
 "cells": [
  {
   "cell_type": "code",
5
   "execution_count": 1,
6
   "metadata": {
7
    "collapsed": false
8
   },
9
   "outputs": [],
10
11
12
13
14
15
16
17
   "source": [
    "%matplotlib notebook\n",
    "%load_ext autoreload\n",
    "%autoreload 2\n"
   ]
  },
  {
   "cell_type": "code",
18
   "execution_count": 2,
19
20
21
22
23
24
25
26
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pylab as plt\n",
    "import os, sys\n",
27
28
    "from scipy import interpolate\n",
    "\n",
29
30
31
32
33
34
35
    "from astropy.cosmology import FlatLambdaCDM, LambdaCDM,z_at_value, Planck15\n",
    "import astropy.units as u\n",
    "cosmo =LambdaCDM(H0=69, Om0=0.286, Ode0=0.7)\n"
   ]
  },
  {
   "cell_type": "code",
36
   "execution_count": 3,
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#path = \"../../../datafiles/sfr_l17_e01.txt\"\n",
    "def give_hist(path):\n",
    "    bins= hist = np.array([])\n",
    "    myfile = open(path)\n",
    "    for l in myfile:\n",
    "        if l[0]==\"#\":\n",
    "            if l[2]=='a':\n",
    "                try:\n",
    "                    Z=float(l.split('=')[1].split(',')[0])\n",
    "                except:\n",
    "                    Z=np.nan\n",
    "                \n",
    "            continue\n",
    "        row = l.split(\", \")\n",
    "        hist = np.append(hist,float(row[1]))\n",
    "        bins = np.append(bins,float(row[0]))\n",
    "    return bins, hist,Z\n",
    "p1 = \"../../../datafiles/sfr_l17_e01.txt\"\n",
    "b1,h1,Z = give_hist(p1)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
66
   "execution_count": 4,
67
68
69
70
71
72
73
74
75
76
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.0"
      ]
     },
77
     "execution_count": 4,
78
79
80
81
82
83
84
85
86
87
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1/0.2"
   ]
  },
  {
   "cell_type": "code",
88
   "execution_count": 5,
89
90
91
92
93
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
94
95
96
97
98
99
100
101
102
     "ename": "NameError",
     "evalue": "name 'Z7' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-5-660da5d63f74>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mZ7\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'Z7' is not defined"
     ]
103
104
105
    }
   ],
   "source": [
106
    "Z7\n"
107
108
109
110
   ]
  },
  {
   "cell_type": "code",
111
   "execution_count": 6,
112
113
   "metadata": {
    "collapsed": false,
114
    "scrolled": false
115
116
117
118
119
120
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
121
122
      "2.08, 0.84, -0.00, 2.17\n",
      "0.325, 0.543, 1.000, 0.315\n"
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
     ]
    },
    {
     "data": {
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
       "              'Firefox 4 and 5 are also supported but you ' +\n",
       "              'have to enable WebSockets in about:config.');\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
       "    this.id = figure_id;\n",
       "\n",
       "    this.ws = websocket;\n",
       "\n",
       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
       "\n",
       "    if (!this.supports_binary) {\n",
       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
       "        if (warnings) {\n",
       "            warnings.style.display = 'block';\n",
       "            warnings.textContent = (\n",
       "                \"This browser does not support binary websocket messages. \" +\n",
       "                    \"Performance may be slow.\");\n",
       "        }\n",
       "    }\n",
       "\n",
       "    this.imageObj = new Image();\n",
       "\n",
       "    this.context = undefined;\n",
       "    this.message = undefined;\n",
       "    this.canvas = undefined;\n",
       "    this.rubberband_canvas = undefined;\n",
       "    this.rubberband_context = undefined;\n",
       "    this.format_dropdown = undefined;\n",
       "\n",
       "    this.image_mode = 'full';\n",
       "\n",
       "    this.root = $('<div/>');\n",
       "    this._root_extra_style(this.root)\n",
       "    this.root.attr('style', 'display: inline-block');\n",
       "\n",
       "    $(parent_element).append(this.root);\n",
       "\n",
       "    this._init_header(this);\n",
       "    this._init_canvas(this);\n",
       "    this._init_toolbar(this);\n",
       "\n",
       "    var fig = this;\n",
       "\n",
       "    this.waiting = false;\n",
       "\n",
       "    this.ws.onopen =  function () {\n",
       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
       "            fig.send_message(\"send_image_mode\", {});\n",
       "            fig.send_message(\"refresh\", {});\n",
       "        }\n",
       "\n",
       "    this.imageObj.onload = function() {\n",
       "            if (fig.image_mode == 'full') {\n",
       "                // Full images could contain transparency (where diff images\n",
       "                // almost always do), so we need to clear the canvas so that\n",
       "                // there is no ghosting.\n",
       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
       "            }\n",
       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
       "        };\n",
       "\n",
       "    this.imageObj.onunload = function() {\n",
       "        this.ws.close();\n",
       "    }\n",
       "\n",
       "    this.ws.onmessage = this._make_on_message_function(this);\n",
       "\n",
       "    this.ondownload = ondownload;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_header = function() {\n",
       "    var titlebar = $(\n",
       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
       "        'ui-helper-clearfix\"/>');\n",
       "    var titletext = $(\n",
       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
       "        'text-align: center; padding: 3px;\"/>');\n",
       "    titlebar.append(titletext)\n",
       "    this.root.append(titlebar);\n",
       "    this.header = titletext[0];\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_canvas = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var canvas_div = $('<div/>');\n",
       "\n",
       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
       "\n",
       "    function canvas_keyboard_event(event) {\n",
       "        return fig.key_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
       "    this.canvas_div = canvas_div\n",
       "    this._canvas_extra_style(canvas_div)\n",
       "    this.root.append(canvas_div);\n",
       "\n",
       "    var canvas = $('<canvas/>');\n",
       "    canvas.addClass('mpl-canvas');\n",
       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
       "\n",
       "    this.canvas = canvas[0];\n",
       "    this.context = canvas[0].getContext(\"2d\");\n",
       "\n",
       "    var rubberband = $('<canvas/>');\n",
       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
       "\n",
       "    var pass_mouse_events = true;\n",
       "\n",
       "    canvas_div.resizable({\n",
       "        start: function(event, ui) {\n",
       "            pass_mouse_events = false;\n",
       "        },\n",
       "        resize: function(event, ui) {\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "        stop: function(event, ui) {\n",
       "            pass_mouse_events = true;\n",
       "            fig.request_resize(ui.size.width, ui.size.height);\n",
       "        },\n",
       "    });\n",
       "\n",
       "    function mouse_event_fn(event) {\n",
       "        if (pass_mouse_events)\n",
       "            return fig.mouse_event(event, event['data']);\n",
       "    }\n",
       "\n",
       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
       "    // Throttle sequential mouse events to 1 every 20ms.\n",
       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
       "\n",
       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
       "\n",
       "    canvas_div.on(\"wheel\", function (event) {\n",
       "        event = event.originalEvent;\n",
       "        event['data'] = 'scroll'\n",
       "        if (event.deltaY < 0) {\n",
       "            event.step = 1;\n",
       "        } else {\n",
       "            event.step = -1;\n",
       "        }\n",
       "        mouse_event_fn(event);\n",
       "    });\n",
       "\n",
       "    canvas_div.append(canvas);\n",
       "    canvas_div.append(rubberband);\n",
       "\n",
       "    this.rubberband = rubberband;\n",
       "    this.rubberband_canvas = rubberband[0];\n",
       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
       "\n",
       "    this._resize_canvas = function(width, height) {\n",
       "        // Keep the size of the canvas, canvas container, and rubber band\n",
       "        // canvas in synch.\n",
       "        canvas_div.css('width', width)\n",
       "        canvas_div.css('height', height)\n",
       "\n",
       "        canvas.attr('width', width);\n",
       "        canvas.attr('height', height);\n",
       "\n",
       "        rubberband.attr('width', width);\n",
       "        rubberband.attr('height', height);\n",
       "    }\n",
       "\n",
       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
       "    // upon first draw.\n",
       "    this._resize_canvas(600, 600);\n",
       "\n",
       "    // Disable right mouse context menu.\n",
       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
       "        return false;\n",
       "    });\n",
       "\n",
       "    function set_focus () {\n",
       "        canvas.focus();\n",
       "        canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    window.setTimeout(set_focus, 100);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) {\n",
       "            // put a spacer in here.\n",
       "            continue;\n",
       "        }\n",
       "        var button = $('<button/>');\n",
       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
       "                        'ui-button-icon-only');\n",
       "        button.attr('role', 'button');\n",
       "        button.attr('aria-disabled', 'false');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "\n",
       "        var icon_img = $('<span/>');\n",
       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
       "        icon_img.addClass(image);\n",
       "        icon_img.addClass('ui-corner-all');\n",
       "\n",
       "        var tooltip_span = $('<span/>');\n",
       "        tooltip_span.addClass('ui-button-text');\n",
       "        tooltip_span.html(tooltip);\n",
       "\n",
       "        button.append(icon_img);\n",
       "        button.append(tooltip_span);\n",
       "\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    var fmt_picker_span = $('<span/>');\n",
       "\n",
       "    var fmt_picker = $('<select/>');\n",
       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
       "    fmt_picker_span.append(fmt_picker);\n",
       "    nav_element.append(fmt_picker_span);\n",
       "    this.format_dropdown = fmt_picker[0];\n",
       "\n",
       "    for (var ind in mpl.extensions) {\n",
       "        var fmt = mpl.extensions[ind];\n",
       "        var option = $(\n",
       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
       "        fmt_picker.append(option)\n",
       "    }\n",
       "\n",
       "    // Add hover states to the ui-buttons\n",
       "    $( \".ui-button\" ).hover(\n",
       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
       "    );\n",
       "\n",
       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
       "    // which will in turn request a refresh of the image.\n",
       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_message = function(type, properties) {\n",
       "    properties['type'] = type;\n",
       "    properties['figure_id'] = this.id;\n",
       "    this.ws.send(JSON.stringify(properties));\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.send_draw_message = function() {\n",
       "    if (!this.waiting) {\n",
       "        this.waiting = true;\n",
       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    var format_dropdown = fig.format_dropdown;\n",
       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
       "    fig.ondownload(fig, format);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
       "    var size = msg['size'];\n",
       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
       "        fig._resize_canvas(size[0], size[1]);\n",
       "        fig.send_message(\"refresh\", {});\n",
       "    };\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
       "    var x0 = msg['x0'];\n",
       "    var y0 = fig.canvas.height - msg['y0'];\n",
       "    var x1 = msg['x1'];\n",
       "    var y1 = fig.canvas.height - msg['y1'];\n",
       "    x0 = Math.floor(x0) + 0.5;\n",
       "    y0 = Math.floor(y0) + 0.5;\n",
       "    x1 = Math.floor(x1) + 0.5;\n",
       "    y1 = Math.floor(y1) + 0.5;\n",
       "    var min_x = Math.min(x0, x1);\n",
       "    var min_y = Math.min(y0, y1);\n",
       "    var width = Math.abs(x1 - x0);\n",
       "    var height = Math.abs(y1 - y0);\n",
       "\n",
       "    fig.rubberband_context.clearRect(\n",
       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
       "\n",
       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
       "    // Updates the figure title.\n",
       "    fig.header.textContent = msg['label'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
       "    var cursor = msg['cursor'];\n",
       "    switch(cursor)\n",
       "    {\n",
       "    case 0:\n",
       "        cursor = 'pointer';\n",
       "        break;\n",
       "    case 1:\n",
       "        cursor = 'default';\n",
       "        break;\n",
       "    case 2:\n",
       "        cursor = 'crosshair';\n",
       "        break;\n",
       "    case 3:\n",
       "        cursor = 'move';\n",
       "        break;\n",
       "    }\n",
       "    fig.rubberband_canvas.style.cursor = cursor;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
       "    fig.message.textContent = msg['message'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
       "    // Request the server to send over a new figure.\n",
       "    fig.send_draw_message();\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
       "    fig.image_mode = msg['mode'];\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Called whenever the canvas gets updated.\n",
       "    this.send_message(\"ack\", {});\n",
       "}\n",
       "\n",
       "// A function to construct a web socket function for onmessage handling.\n",
       "// Called in the figure constructor.\n",
       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
       "    return function socket_on_message(evt) {\n",
       "        if (evt.data instanceof Blob) {\n",
       "            /* FIXME: We get \"Resource interpreted as Image but\n",
       "             * transferred with MIME type text/plain:\" errors on\n",
       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
       "             * to be part of the websocket stream */\n",
       "            evt.data.type = \"image/png\";\n",
       "\n",
       "            /* Free the memory for the previous frames */\n",
       "            if (fig.imageObj.src) {\n",
       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
       "                    fig.imageObj.src);\n",
       "            }\n",
       "\n",
       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
       "                evt.data);\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
       "            fig.imageObj.src = evt.data;\n",
       "            fig.updated_canvas_event();\n",
       "            fig.waiting = false;\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        var msg = JSON.parse(evt.data);\n",
       "        var msg_type = msg['type'];\n",
       "\n",
       "        // Call the  \"handle_{type}\" callback, which takes\n",
       "        // the figure and JSON message as its only arguments.\n",
       "        try {\n",
       "            var callback = fig[\"handle_\" + msg_type];\n",
       "        } catch (e) {\n",
       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
       "            return;\n",
       "        }\n",
       "\n",
       "        if (callback) {\n",
       "            try {\n",
       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
       "                callback(fig, msg);\n",
       "            } catch (e) {\n",
       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
       "            }\n",
       "        }\n",
       "    };\n",
       "}\n",
       "\n",
       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
       "mpl.findpos = function(e) {\n",
       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
       "    var targ;\n",
       "    if (!e)\n",
       "        e = window.event;\n",
       "    if (e.target)\n",
       "        targ = e.target;\n",
       "    else if (e.srcElement)\n",
       "        targ = e.srcElement;\n",
       "    if (targ.nodeType == 3) // defeat Safari bug\n",
       "        targ = targ.parentNode;\n",
       "\n",
       "    // jQuery normalizes the pageX and pageY\n",
       "    // pageX,Y are the mouse positions relative to the document\n",
       "    // offset() returns the position of the element relative to the document\n",
       "    var x = e.pageX - $(targ).offset().left;\n",
       "    var y = e.pageY - $(targ).offset().top;\n",
       "\n",
       "    return {\"x\": x, \"y\": y};\n",
       "};\n",
       "\n",
       "/*\n",
       " * return a copy of an object with only non-object keys\n",
       " * we need this to avoid circular references\n",
       " * http://stackoverflow.com/a/24161582/3208463\n",
       " */\n",
       "function simpleKeys (original) {\n",
       "  return Object.keys(original).reduce(function (obj, key) {\n",
       "    if (typeof original[key] !== 'object')\n",
       "        obj[key] = original[key]\n",
       "    return obj;\n",
       "  }, {});\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
       "    var canvas_pos = mpl.findpos(event)\n",
       "\n",
       "    if (name === 'button_press')\n",
       "    {\n",
       "        this.canvas.focus();\n",
       "        this.canvas_div.focus();\n",
       "    }\n",
       "\n",
       "    var x = canvas_pos.x;\n",
       "    var y = canvas_pos.y;\n",
       "\n",
       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
       "                             step: event.step,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "\n",
       "    /* This prevents the web browser from automatically changing to\n",
       "     * the text insertion cursor when the button is pressed.  We want\n",
       "     * to control all of the cursor setting manually through the\n",
       "     * 'cursor' event from matplotlib */\n",
       "    event.preventDefault();\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    // Handle any extra behaviour associated with a key event\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.key_event = function(event, name) {\n",
       "\n",
       "    // Prevent repeat events\n",
       "    if (name == 'key_press')\n",
       "    {\n",
       "        if (event.which === this._key)\n",
       "            return;\n",
       "        else\n",
       "            this._key = event.which;\n",
       "    }\n",
       "    if (name == 'key_release')\n",
       "        this._key = null;\n",
       "\n",
       "    var value = '';\n",
       "    if (event.ctrlKey && event.which != 17)\n",
       "        value += \"ctrl+\";\n",
       "    if (event.altKey && event.which != 18)\n",
       "        value += \"alt+\";\n",
       "    if (event.shiftKey && event.which != 16)\n",
       "        value += \"shift+\";\n",
       "\n",
       "    value += 'k';\n",
       "    value += event.which.toString();\n",
       "\n",
       "    this._key_event_extra(event, name);\n",
       "\n",
       "    this.send_message(name, {key: value,\n",
       "                             guiEvent: simpleKeys(event)});\n",
       "    return false;\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
       "    if (name == 'download') {\n",
       "        this.handle_save(this, null);\n",
       "    } else {\n",
       "        this.send_message(\"toolbar_button\", {name: name});\n",
       "    }\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
       "    this.message.textContent = tooltip;\n",
       "};\n",
       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to  previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
       "\n",
       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
       "\n",
       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
       "    // object with the appropriate methods. Currently this is a non binary\n",
       "    // socket, so there is still some room for performance tuning.\n",
       "    var ws = {};\n",
       "\n",
       "    ws.close = function() {\n",
       "        comm.close()\n",
       "    };\n",
       "    ws.send = function(m) {\n",
       "        //console.log('sending', m);\n",
       "        comm.send(m);\n",
       "    };\n",
       "    // Register the callback with on_msg.\n",
       "    comm.on_msg(function(msg) {\n",
       "        //console.log('receiving', msg['content']['data'], msg);\n",
       "        // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
       "        ws.onmessage(msg['content']['data'])\n",
       "    });\n",
       "    return ws;\n",
       "}\n",
       "\n",
       "mpl.mpl_figure_comm = function(comm, msg) {\n",
       "    // This is the function which gets called when the mpl process\n",
       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
       "\n",
       "    var id = msg.content.data.id;\n",
       "    // Get hold of the div created by the display call when the Comm\n",
       "    // socket was opened in Python.\n",
       "    var element = $(\"#\" + id);\n",
       "    var ws_proxy = comm_websocket_adapter(comm)\n",
       "\n",
       "    function ondownload(figure, format) {\n",
       "        window.open(figure.imageObj.src);\n",
       "    }\n",
       "\n",
       "    var fig = new mpl.figure(id, ws_proxy,\n",
       "                           ondownload,\n",
       "                           element.get(0));\n",
       "\n",
       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
       "    // web socket which is closed, not our websocket->open comm proxy.\n",
       "    ws_proxy.onopen();\n",
       "\n",
       "    fig.parent_element = element.get(0);\n",
       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
       "    if (!fig.cell_info) {\n",
       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
       "        return;\n",
       "    }\n",
       "\n",
       "    var output_index = fig.cell_info[2]\n",
       "    var cell = fig.cell_info[0];\n",
       "\n",
       "};\n",
       "\n",
       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
       "    fig.root.unbind('remove')\n",
       "\n",
       "    // Update the output cell to use the data from the current canvas.\n",
       "    fig.push_to_output();\n",
       "    var dataURL = fig.canvas.toDataURL();\n",
       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
       "    // the notebook keyboard shortcuts fail.\n",
       "    IPython.keyboard_manager.enable()\n",
       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\">');\n",
       "    fig.close_ws(fig, msg);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
       "    fig.send_message('closing', msg);\n",
       "    // fig.ws.close()\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
       "    // Turn the data on the canvas into data in the output cell.\n",
       "    var dataURL = this.canvas.toDataURL();\n",
       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.updated_canvas_event = function() {\n",
       "    // Tell IPython that the notebook contents must change.\n",
       "    IPython.notebook.set_dirty(true);\n",
       "    this.send_message(\"ack\", {});\n",
       "    var fig = this;\n",
       "    // Wait a second, then push the new image to the DOM so\n",
       "    // that it is saved nicely (might be nice to debounce this).\n",
       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._init_toolbar = function() {\n",
       "    var fig = this;\n",
       "\n",
       "    var nav_element = $('<div/>')\n",
       "    nav_element.attr('style', 'width: 100%');\n",
       "    this.root.append(nav_element);\n",
       "\n",
       "    // Define a callback function for later on.\n",
       "    function toolbar_event(event) {\n",
       "        return fig.toolbar_button_onclick(event['data']);\n",
       "    }\n",
       "    function toolbar_mouse_event(event) {\n",
       "        return fig.toolbar_button_onmouseover(event['data']);\n",
       "    }\n",
       "\n",
       "    for(var toolbar_ind in mpl.toolbar_items){\n",
       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
       "\n",
       "        if (!name) { continue; };\n",
       "\n",
       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
       "        button.click(method_name, toolbar_event);\n",
       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
       "        nav_element.append(button);\n",
       "    }\n",
       "\n",
       "    // Add the status bar.\n",
       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
       "    nav_element.append(status_bar);\n",
       "    this.message = status_bar[0];\n",
       "\n",
       "    // Add the close button to the window.\n",
       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
       "    buttongrp.append(button);\n",
       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
       "    titlebar.prepend(buttongrp);\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._root_extra_style = function(el){\n",
       "    var fig = this\n",
       "    el.on(\"remove\", function(){\n",
       "\tfig.close_ws(fig, {});\n",
       "    });\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
       "    // this is important to make the div 'focusable\n",
       "    el.attr('tabindex', 0)\n",
       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
       "    // off when our div gets focus\n",
       "\n",
       "    // location in version 3\n",
       "    if (IPython.notebook.keyboard_manager) {\n",
       "        IPython.notebook.keyboard_manager.register_events(el);\n",
       "    }\n",
       "    else {\n",
       "        // location in version 2\n",
       "        IPython.keyboard_manager.register_events(el);\n",
       "    }\n",
       "\n",
       "}\n",
       "\n",
       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
       "    var manager = IPython.notebook.keyboard_manager;\n",
       "    if (!manager)\n",
       "        manager = IPython.keyboard_manager;\n",
       "\n",
       "    // Check for shift+enter\n",
       "    if (event.shiftKey && event.which == 13) {\n",
       "        this.canvas_div.blur();\n",
       "        event.shiftKey = false;\n",
       "        // Send a \"J\" for go to next cell\n",
       "        event.which = 74;\n",
       "        event.keyCode = 74;\n",
       "        manager.command_mode();\n",
       "        manager.handle_keydown(event);\n",
       "    }\n",
       "}\n",
       "\n",
       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
       "    fig.ondownload(fig, null);\n",
       "}\n",
       "\n",
       "\n",
       "mpl.find_output_cell = function(html_output) {\n",
       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
       "    // IPython event is triggered only after the cells have been serialised, which for\n",
       "    // our purposes (turning an active figure into a static one), is too late.\n",
       "    var cells = IPython.notebook.get_cells();\n",
       "    var ncells = cells.length;\n",
       "    for (var i=0; i<ncells; i++) {\n",
       "        var cell = cells[i];\n",
       "        if (cell.cell_type === 'code'){\n",
       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
       "                var data = cell.output_area.outputs[j];\n",
       "                if (data.data) {\n",
       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
       "                    data = data.data;\n",
       "                }\n",
       "                if (data['text/html'] == html_output) {\n",
       "                    return [cell, data, j];\n",
       "                }\n",
       "            }\n",
       "        }\n",
       "    }\n",
       "}\n",
       "\n",
       "// Register the function which deals with the matplotlib target/channel.\n",
       "// The kernel may be null if the page has been refreshed.\n",
       "if (IPython.notebook.kernel != null) {\n",
       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
       "}\n"
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
892
       "<img src=\"data:image/png;base64,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\">"
893
894
895
896
897
898
899
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/lib/python2.7/dist-packages/matplotlib/legend.py:325: UserWarning: Unrecognized location \"bottom left\". Falling back on \"best\"; valid locations are\n",
      "\tright\n",
      "\tcenter left\n",
      "\tupper right\n",
      "\tlower right\n",
      "\tbest\n",
      "\tcenter\n",
      "\tlower left\n",
      "\tcenter right\n",
      "\tupper left\n",
      "\tupper center\n",
      "\tlower center\n",
      "\n",
      "  six.iterkeys(self.codes))))\n"
     ]
920
921
922
923
924
925
    }
   ],
   "source": [
    "p1 = \"../../../datafiles/sfr_l17_e01.txt\"\n",
    "b1,h1,Z1= give_hist(p1)\n",
    "t1 = cosmo.age(0).value-cosmo.age(Z1).value\n",
926
    "p2 = \"../../../datafiles/sfr_l19_e025_mc.txt\"\n",
927
928
929
    "b2,h2,Z2= give_hist(p2)\n",
    "p3 = \"../../../datafiles/sfr_l17_e025_mc.txt\"\n",
    "b3,h3,Z3= give_hist(p3)\n",
930
    "p4 = \"../../../datafiles/sfr_l18_e01.txt\"\n",
931
    "b4,h4,Z4= give_hist(p4)\n",
932
933
    "p5 = \"../../../datafiles/sfr_l17_e025.txt\"\n",
    "b5,h5,Z5= give_hist(p5)\n",
934
935
    "p6 = \"../../../datafiles/sfr_l19_e025_Z5.txt\"\n",
    "b6,h6,Z6= give_hist(p6)\n",
936
937
    "p7 = \"../../../datafiles/sfr_l19_e025_mcZ5.txt\"\n",
    "b7,h7,Z7= give_hist(p7)\n",
938
939
    "p8 = \"../../../datafiles/sfr_l19_e025_mc_tdiss20.txt\"\n",
    "b8,h8,Z8= give_hist(p8)\n",
940
941
942
    "t2 = cosmo.age(0).value-cosmo.age(Z2).value\n",
    "print \"{0:.2f}, {1:.2f}, {2:.2f}, {3:.2f}\".format(Z1,Z2,Z3, Z4)\n",
    "print \"{0:.3f}, {1:.3f}, {2:.3f}, {3:.3f}\".format(1./(Z1+1),1./(Z2+1),1./(Z3+1), 1./(Z4+1))\n",
943
    "end = cosmo.age(2.9).value\n",
944
    "t0=cosmo.age(100).value\n",
945
946
947
948
949
950
    "\n",
    "q=cosmo.age(15).value/b1.min()\n",
    "\n",
    "fig, ax = plt.subplots(figsize=[7,7])\n",
    "ax.set_xlabel(\"t [Gyr]\",fontsize=20)\n",
    "ax.set_ylabel(r\"log SFR [M$_{\\odot}$/yr]\",fontsize=20)\n",
951
    "\n",
952
    "ax.set_ylim([-2,1.5])\n",
953
    "#ax.set_xlim([0.25,2.3])\n",
954
    "plt.xlim(2.3,0.2)\n",
955
    "a1, a2, a3, a4, a5,a6,a7, a8 = (1./(Z1+1.)), (1./(Z2+1.)), (1./(Z3+1.)), (1./(Z4+1.)),(1./(Z5+1.)),(1./(Z6+1.)),(1./(Z7+1.)),(1./(Z8+1.))\n",
956
957
958
    "\n",
    "axu = ax.twiny()\n",
    "axu.set_xlim(0.25,end)\n",
959
960
961
    "axu.set_xticks([cosmo.age(15).value,cosmo.age(10).value,cosmo.age(6).value,cosmo.age(5).value,cosmo.age(4).value,cosmo.age(3).value])\n",
    "axu.set_xticklabels([\"15\",\"10\",\"6\",\"5\",\"4\",\"z=3\"])\n",
    "ax.axvline(x=cosmo.age(2.64).value)\n",
962
963
    "th1, th2, th3, th8 = (b1[1]-b1[0])/(a1**2),(b2[1]-b2[0])/(a2**2),(b3[1]-b3[0])/(a3**2),(b8[1]-b8[0])/(a8**2)\n",
    "th4, th5, th6, th7 = (b4[1]-b4[0])/(a4**2),(b5[1]-b5[0])/(a5**2),(b6[1]-b6[0])/(a6**2),(b7[1]-b7[0])/(a7**2)\n",
964
    "age = cosmo.age(0).value\n",
965
    "#ax.plot(age+(b1+th1/2.)/a1**2, np.log10(h1/1e9/th1),\"b-\",label=r\"$\\Delta x = 190$ pc, $\\epsilon = 0.1$ no MC correction\")\n",
966
967
    "ax.plot(age+(b2+th2/2.)/a2**2, np.log10(h2/1e9/th2),\"r--\",label=r\"$\\Delta x = 47$ pc, $\\epsilon = 0.25$\"+\"\\n with MC correction\")\n",
    "ax.plot(age+(b3+th3/2.)/a3**2, np.log10(h3/1e9/th3),\"k--\",label=r\"$\\Delta x = 190$ pc, $\\epsilon = 0.25$\"+\"\\n with MC correction\")\n",
968
    "#ax.plot(age+(b4+th4/2.)/a4**2, np.log10(h4/1e9/th4),\"g-\",label=r\"$\\Delta x = 95$ pc, $\\epsilon = 0.1$ no MC correction\")\n",
969
970
    "ax.plot(age+(b5+th5/2.)/a5**2, np.log10(h5/1e9/th5),\"k-\",label=r\"$\\Delta x = 190$ pc, $\\epsilon = 0.25$\"+\"\\n no MC correction\")\n",
    "ax.plot(age+(b6+th6/2.)/a6**2, np.log10(h6/1e9/th6),\"r-\",label=r\"$\\Delta x = 47$ pc, $\\epsilon = 0.25$\"+\"\\n no MC correction\")\n",
971
    "ax.plot(age+(b7+th7/2.)/a7**2, np.log10(h7/1e9/th7),\"y-\",label=r\"$\\Delta x = 47$ pc, $\\epsilon = 0.25$ with MC correction\")\n",
972
    "ax.plot(age+(b8+th8/2.)/a8**2, np.log10(h8/1e9/th8),\"g--\",label=r\"$\\Delta x = 47$ pc, $\\epsilon = 0.25$ t$_{diss} = 40$Myr\"+\"\\n with MC correction\")\n",
973
    "\n",
974
    "\n",
975
    "plt.xlim(2.3,0.2)\n",
976
    "leg = ax.legend(loc='bottom left', ncol=1, shadow=False, fontsize=11)\n",
977
    "leg.get_frame().set_linewidth(0.0)"
978
979
980
981
   ]
  },
  {
   "cell_type": "code",
982
   "execution_count": 10,
983
   "metadata": {
984
985
    "collapsed": false,
    "scrolled": true
986
987
988
989
   },
   "outputs": [
    {
     "data": {
990
991
992
993
994
995
996
997
998
999
1000
      "application/javascript": [
       "/* Put everything inside the global mpl namespace */\n",
       "window.mpl = {};\n",
       "\n",
       "mpl.get_websocket_type = function() {\n",
       "    if (typeof(WebSocket) !== 'undefined') {\n",
       "        return WebSocket;\n",
       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
       "        return MozWebSocket;\n",
       "    } else {\n",
       "        alert('Your browser does not have WebSocket support.' +\n",
For faster browsing, not all history is shown. View entire blame