1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu các tính chất của đĩa bụi xung quanh sao lùn nâu trẻ trong vùng hình thành sao ophiuchus dựa trên các dữ liệu quan sát của hệ kính vô tuyến alma

62 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH KHOA VẬT LÝ TRẦN THỊ THÚY HỒNG NGHIÊN CỨU CÁC TÍNH CHẤT CỦA ĐĨA BỤI XUNG QUANH SAO LÙN NÂU TRẺ TRONG VÙNG HÌNH THÀNH SAO OPHIUCHUS DỰA TRÊN CÁC DỮ LIỆU QUAN SÁT CỦA HỆ KÍNH VƠ TUYẾN ALMA Chun ngành: Sư phạm Vật lý Cán hướng dẫn: ThS Nguyễn Thành Đạt Tp HCM, tháng năm 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH KHOA VẬT LÝ NGHIÊN CỨU CÁC TÍNH CHẤT CỦA ĐĨA BỤI XUNG QUANH SAO LÙN NÂU TRẺ TRONG VÙNG HÌNH THÀNH SAO OPHIUCHUS DỰA TRÊN CÁC DỮ LIỆU QUAN SÁT CỦA HỆ KÍNH VƠ TUYẾN ALMA Người thực hiện: Trần Thị Thúy Hồng Người hướng dẫn khoa học: ThS Nguyễn Thành Đạt Người hướng dẫn Chủ tịch hội đồng ThS Nguyễn Thành Đạt TS Cao Thị Sông Hương Tp HCM, tháng năm 2021 i LỜI CẢM ƠN Thực hiện luận văn tốt nghiệp trình dài bước ngoặt chặng đường học tập của thân giảng đường Đại học Đây tiền đề để tơi có tự tin vững bước chặng đường học tập tới Để hồn thành khóa luận này, trước hết, tơi xin bày tỏ lịng biết ơn chân thành đến ThS Nguyễn Thành Đạt (Bộ môn Vật lý - Trường Đại học Sư phạm Tp Hờ Chí Minh) - người tận tình hướng dẫn, dìu dắt, bảo tơi suốt q trình tìm hiểu, nghiên cứu hồn thành khóa luận Tơi xin trân trọng cảm ơn Ban Giám Hiệu, Khoa Vật lý đơn vị liên quan của Trường Đại Học Sư Phạm Tp Hồ Chí Minh Tơi xin trân trọng cảm ơn thầy của Trường Đại Học Sư Phạm Tp Hờ Chí Minh – người trang bị cho kiến thức q báu để giúp tơi hồn thành khóa luận Cuối tơi xin gửi lịng biết ơn đến gia đình, bạn bè ln ủng hộ, động viên, chia sẻ giúp đỡ mặt vật chất tinh thần suốt trình học thực hiện khóa luận Thành phố Hồ Chí Minh, ngày tháng năm 2021 Người viết Trần Thị Thúy Hồng ii DANH MỤC BẢNG BIỂU Số thứ tự Bảng 1.1 Diễn giải Một số mốc lịch sử trình nghiên cứu Trang SLN 4.1 Thông lượng quan sát bước sóng 34 iii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Số thứ tự Hình 1.1 Diễn giải Kích thước lùn nâu so với Mặt trời, khối Trang lượng thấp, Mộc tinh, Trái đất 1.2 Nhiệt độ bề mặt của Sao lùn nâu 1.3 Các giai đoạn hình thành của thông thường khối lượng thấp 3.1 Hệ thống ăngten của kính thiên văn ALMA 16 3.2 Quy trình xử lý liệu ALMA 18 3.3 Quy trình bước hiệu chỉnh liệu ALMA 19 CASA 3.4 Quy trình xử lý tạo ảnh từ liệu hiệu chỉnh 24 Mơ hình phổ phân bố lượng (SED) của SLN ISO-Oph 102trong CASA 3.5 Sơ đồ chia băng quan sát của băng ALMA 30 chu kì quan sát 3.6 Quy trình xử lý liệu ISO-Oph 102 30 10 4.1 Bản đồ liên tục ALMA của ISO-Oph 102 32 0,87mm (băng tần 7) Các mức đường bao 3, 6, lần so với rms của xạ từ môi trường xung quanh ngơi 11 4.2 Mơ hình phổ phân bố lượng (SED) của SLN 35 ISO-Oph 102 12 4.3 Mô hình phổ phân bố lượng (SED) của SLN 36 ISO-Oph 193 12 4.4 Mơ hình phổ phân bố lượng (SED) của SLN ISO-Oph 160 36 iv DANH MỤC CÁC HẰNG SỐ VÀ ĐƠN VỊ • Các số h: số Planck, h = 6,626.10-34 J.s c: tốc độ ánh sáng chân không, c = 3.108 m/s k B : số Boltzmann, k B =1,38.10-23J/K • Các đơn vị M J : khối lượng Mộc tinh, M J =1,899.1027 kg M : khối lượng Mặt trời, M =1,989.1030 kg pc: viết tắt của parsec, pc=3,086.1016 m AU: viết tắt của đơn vị thiên văn, AU = 1,496.108 m L : độ trưng của Mặt trời, L  3,846.1026 W erg: đơn vị đo lượng công học hệ đơn vị CGS, erg=10-7 J R : bán kính của Mặt trời, R  6,96.108 m R J : bán kính của Mộc tinh, R J = 6,99.107 m km Jy: viết tắt của Jansky, đơn vị hệ SI của mật độ thông lượng, Jy = 103 mJy = 10-26 W.m-2 Hz -1 (SI) = 10-23 erg.s-1.cm-2 Hz -1 (cgs) v MỤC LỤC LỜI CẢM ƠN i DANH MỤC BẢNG BIỂU ii DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ iii DANH MỤC CÁC HẰNG SỐ VÀ ĐƠN VỊ iv MỤC LỤC MỞ ĐẦU Chương 1: TỔNG QUAN VỀ SAO LÙN NÂU 1.1 Sao lùn nâu tính chất vật lý 1.1.1 Sao lùn nâu 1.2 Các tính chất vật lý của lùn nâu 1.2.1 Khối lượng 1.2.2 Nhiệt độ 1.2.3 Bán kính 1.3 Các giả thuyết sự hình thành lùn nâu 1.3.1 Quá trình hình thành của thông thường 1.3.2 Mơ hình lùn nâu hình thành theo cách thức thông thường khối lượng thấp (star-like model) Sự phân mảnh hỗn loạn Sự phân mảnh hấp dẫn 1.3.3 Mơ hình “đẩy ra” của phôi tiền (ejection model) Chương 2: ĐĨA TIỀN SAO VÀ NGUỒN GỐC HÌNH THÀNH CỦA SAO LÙN NÂU 10 2.1 Các tính chất vật lý của đĩa tiền xung quanh lùn nâu trẻ 10 2.1.1 Khối lượng 10 2.1.2 Nhiệt độ bụi 10 2.1.3 Bán kính 10 2.1.4 Hiện tượng bồi đắp luồng lưỡng cực đĩa 11 2.2 Các giả thuyết sự tiến hóa của đĩa tiền xung quanh SLN 12 2.3 Bán kính đĩa nguồn gốc SLN 13 2.4 Một số nghiên cứu đĩa tiền xung quanh SLN trẻ 13 v Chương 3: QUAN SÁT VÀ XỬ LÍ DỮ LIỆU ALMA CỦA SAO LÙN NÂU ISO OPH 102 16 3.1 Hệ kính vơ tuyến ALMA 16 3.1.1 Cấu tạo 16 3.1.2 Các bước xử lý liệu quan sát của kính ALMA 17 3.1.2.1 Hiệu chỉnh liệu 18 3.1.2.2 Tạo phân tích hình ảnh 24 3.2 Quan sát xử lý liệu ALMA của ISO Oph 102 28 3.2.1 Sao lùn nâu ISO Oph 102 28 3.2.2 Quan sát xử lý liệu 29 Chương 4: TÍNH TOÁN MỢT SỐ TÍNH CHẤT ĐĨA BỤI XUNG QUANH SLN GIAI ĐOẠN II ISO OPH 102 DỰA TRÊN DỮ LIỆU QUAN SÁT ALMA 32 4.1 Bản đồ phổ liên tục của xạ từ đĩa của SLN ISO Oph102 32 4.2 Tính tốn số tính chất của đĩa bụi của ISO Oph 102 33 4.2.1 Mơ hình phổ phân bố lượng của đĩa 33 4.2.2 Kết tính tốn tính chất của đĩa xung quanh ISO Ophichus 102 33 4.3 Thảo luận 36 KẾT LUẬN VÀ KIẾN NGHỊ 38 TÀI LIỆU THAM KHẢO 39 Phụ lục 1: Các lệnh xử lí liệu ISO Ophichus 102 CASA 43 Phụ lục 2: Quá trình tạo ảnh của ISO Ophichus 102 CASA 54 MỞ ĐẦU Sao lùn nâu (SLN) vật thể có khối lượng từ 13 – 75 khối lượng Mộc tinh Khối lượng của SLN không đủ nặng để thực hiện phản ứng tổng hợp hydrogen thông thường đủ để thực hiện phản ứng phá hủy deuterium Từ phát hiện đầu tiên vào năm 1995 ([25], [18]), hàng nghìn cơng trình nghiên cứu SLN công bố Tuy nhiên, nguồn gốc của loại chưa hiểu rõ Khối lượng của loại nhỏ so với khối lượng tối thiểu Jeans (~ khối lượng Mặt trời) để đám mây phân tử tự co rút, sụp đổ tác dụng của lực hấp dẫn, khởi đầu cho trình hình thành Hai mơ hình đưa để giải thích sự hình thành của SLN mơ hình SLN hình thành thơng thường có khối lượng thấp mơ hình “đẩy ra” Các q trình vật lý quan sát xung quanh SLN trẻ giai đoạn tiến hóa đầu tiên (giai đoạn 0, 2) đĩa bồi đắp, luồng lưỡng cực,… ([20], [21]) cho thấy phần lớn SLN hình thành theo mơ hình đầu tiên, giống thông thường Đĩa tiền hành tinh tạo thành từ bụi khí ngun thủy tờn xung quanh ngơi trẻ hình thành Q trình kết tinh, tăng kích thước của bụi va chạm hấp dẫn bên đĩa khởi đầu cho sự hình thành hành tinh Đĩa tiền hành tinh phát hiện quan sát SLN trẻ đặc biệt SLN giai đoạn vùng hình thành Taurus, Ophiuchi ([29], [27], [33]) Các hiện tượng vật lý sự kết tinh, tăng kích thước hạt bụi tìm thấy bên đĩa của SLN ([4], [20], [21]) Điều chứng tỏ sự tương đồng SLN với thông thường trình phát triển Tuy nhiên, hiện tượng, tính chất vật lý của đĩa quanh SLN cần nghiên cứu thêm khối lượng loại nhỏ nhiều so với thông thường Nghiên cứu tính chất của đĩa SLN trẻ bán kính, khối lượng nhiệt độ bụi cung cấp dẫn quan trọng để giải thích ng̀n gốc của SLN Bên cạnh đó, tính chất của đĩa sở để hiểu trình hình thành, tính chất của hành tinh quanh SLN khối lượng cực thấp Đặc biệt, kể từ hệ kính thiên văn vơ tuyến ALMA đưa vào vận hành, nhà thiên văn thu thập liệu quan sát đĩa xung quanh SLN trẻ với độ phân giải cao Đó sở để thực hiện nghiên cứu chuyên sâu để hiểu giai đoạn hình thành của SLN Từ tơi thực hiện đề tài “Nghiên cứu tính chất đĩa bụi xung quanh lùn nâu trẻ vùng hình thành Ophiuchus dựa liệu quan sát hệ kính vơ tuyến ALMA” Đề tài đặt mục tiêu tính tốn tính chất bán kính, khối lượng bụi, nhiệt độ của đĩa tiền hành tinh xung quanh lùn nâu trẻ ISO-Oph 102 vùng hình thành Ophiuchus dựa liệu quan sát ALMA của vật thể mơ hình lý thuyết Để thực hiện mục tiêu này, tiến hành xử lý liệu từ hệ kính thiên văn vô tuyến ALMA để phát hiện xạ từ đĩa xung quanh SLN ISO Oph 102 đồng thời sử dụng model lý thuyết để phân tích số tính chất vật lý của đĩa ISO Oph 102 khối lượng bụi, bán kính đĩa, nhiệt độ,… Đề tài góp phần làm rõ mối liên hệ tính chất của đĩa SLN với chế hình thành lùn nâu, từ cho ta nhìn tổng quan kịch hình thành đề xuất Đề tài có bố cục:  Mở đầu trình bày lý chọn đề tài, mục tiêu, đối tượng phương pháp nghiên cứu, mục tiêu khoa học thực tiễn của đề tài  Chương trình bày tổng quan lùn nâu tính chất vật lý bản, nguồn gốc của lùn nâu, mơ hình lí thuyết sự hình thành SLN  Chương trình bày tính chất vật lý giả thuyết sự tiến hóa của đĩa tiền xung quanh SLN, mối liên hệ bán kính đĩa ng̀n gốc hình thành SLN  Chương giới thiệu hệ thống kính thiên văn vơ tuyến ALMA bước quan sát, xử lí liệu ALMA của SLN ISO Oph 102  Chương nội dung của đề tài nghiên cứu, trình bày kết tính tốn số tính chất của đĩa bụi của ISO Oph 102 từ đưa số thảo luận kết Sau rút số kết luận sau thực hiện đề tài 40 [11] Emma T Whelan, Thomas P Ray, Francesca Bacciotti, Antonella Natta, Leonardo Testi & Sofia Randich (2005), "A resolved outflow of matter from a brown dwarf", Nature, 435, pp.652-654 [12] Guilloteau, S., Dutrey, A., Piétu, V., & Boehler, Y (2011), “A dual-frequency sub-arcsecond study of proto-planetary disks at mm wavelengths: first evidence for radial variations of the dust properties”, A&A, 529, A105 [13] Isella, A., Carpenter, J M., & Sargent, A I (2009), “ Structure and Evolution of Pre-main-sequence Circumstellar Disks”, ApJ, 701(1) , 260 [14] J P McMullin, B Waters (2007), Astronomical Data Analysis Software and Systems XVI, ASP Conf Ser, San Francisco [15] Klein, R., Apai, D., Pascucci, I., Henning, T., & Waters, L B F M (2003), “The American Astronomical Society, find out more The Institute of Physics, find out more First Detection of Millimeter Dust Emission from Brown Dwarf Disks”, ApJL, 593, L57 [16] Leggett, S K.; Marley, M S.; Freedman, R.; Saumon, D.; Liu, Michael C.; Geballe, T R.; Golimowski, D A.; Stephens, D C (2007), “Physical and Spectral Characteristics of the T8 and Later Type Dwarfs”, The Astrophysical Journal, 667(1), pp 537-548 [17] Nakajima T., Oppenheimer B.R., Kulkarni S R., Golimowski D A., Matthews K., Rebolo R., Zapatero Osorio M R., Martín E L (1995), “Discovery of a brown dwarf in the Pleiades star cluster”, Nature, 377(6545), pp 129-131 [18] Nakajima, T.; Oppenheimer, B R.; Kulkarni, S R.; Golimowski, D A.; Matthews, K.; Durrance, S T (1995), “Discovery of a cool brown dwarf”, Nature, 378(6556), pp 463-465 [19] Nathanial P Hendler, Gijs D Mulders, Ilaria Pascucci, (2017), “Hints for Small Disks around Very Low Mass Stars and Brown Dwarfs”, The Astrophysical Journal, 841(2), pp.1-2 [20] Phan-Bao, Ngoc; Lee, Chin-Fei; Ho, Paul T P.; Tang, Ya-Wen (2011), “Molecular Outflows in the Substellar Domain: Millimeter Observations of Young Very Low Mass Objects in Taurus and ρ Ophiuchi”, The Astrophysical Journal, 735(1), pp.14–18 41 [21] Phan-Bao, Ngoc; Riaz, Basmah; Lee, Chin-Fei; Tang, Ya-Wen; Ho, Paul T P.; Martín, Eduardo L.; Lim, Jeremy; Ohashi, Nagayoshi; Shang, Hsien (2008), “First Confirmed Detection of a Bipolar Molecular Outflow from a Young Brown Dwarf”, The Astrophysical Journal, 689(2), pp L141-L144 [22] Padoan, P & Nordlund, Å (2002), “The stellar initial mass function from turbulent fragmentation”, The Astrophysical Journal, 576(2), pp 870-879 [23] Padoan, Paolo; Nordlund, Åke (2004), “The "Mysterious'' Origin of Brown Dwarfs”, The Astrophysical Journal, 617(1), pp 559-564 [24] Pinilla P., Birnstiel T., Benisty M et al (2013), “Explaining millimeter-sized particles in brown dwarf disks”, A&A, 554, A95 [25] Rebolo, R.; Zapatero Osorio, M R.; Martín, E L (1995), “Discovery of a brown dwarf in the Pleiades star cluster”, Nature, 377(6545), pp 129-131 [26] Ricci, L., Isella, A., Carpenter, J M., & Testi, L (2013), “CARMA interferometric observations of 2mass j044427+2512: the first spatially resolved observations of thermal emission of a brown dwarf disk”, ApJL, 764, L27 [27] Ricci, L., Testi, L., Natta, A., et al (2014), “Brown Dwarf disks with ALMA”, ApJ, 791, 20 [28] L Ricci, L Testi, A Natta , A Scholz and I de Gregorio-Monsalvo (2018), “ALMA observations of ρ-Oph 102: grain growth and molecular gas in the disk around a young Brown Dwarf”, The Astrophysical Journal Letters, 761(2), pp 1-9 [29] L Ricci, L Testi, A Natta, A Scholz, and I de Gregorio-Monsalvo (2012), “ALMA Observations of ρ-Oph 102: Grain Growth and Molecular Gas in the Disk around a Young Brown Dwarf”, The Astrophysical Journal, 761(2), pp 1-9 [30] Scholz, A., et al (2006), “Exploring Brown Bwarf disks: a 1.3 mm survey in Taurus”, ApJ, 645, 1498 [31] Stassun K G., Mathieu R D., Valenti, J A (2006), “Discovery of Two Young Brown dwarfs in An Eclipsing Binary System”, Nature, 440(7082), pp 311-314 [32] Subhanjoy Mohanty, Jane Greaves, Daniel Mortlock et al (2013), “Protoplanetary disk masses from stars to Brown Dwarfs”, The Astrophysical Journal, 773(2), pp.1-33 42 [33] Testi, L., et al (2016), “Brown dwarf disks with ALMA: Evidence for truncated dust disks in Ophiuchus”, A&A, 593, A111, 11p [34] Thomas P Greene, Erick T Young (1992), “NEAR-INFRARED OBSERVATIONS OF YOUNG STELLAR OBJECTS IN THE OPHIUCHI DARK CLOUD”, The Astrophysical Journal, 395, pp.516-528 [35] Van Dishoeck, E F (2006), “Chemistry in low-mass protostellar and protoplanetary regions”, Proceedings of the National Academy of Science, 103(33), pp.12249-12256 [36] Whitworth, A.; Stamatellos, D.; Walch, S.; Kaplan, M.; Goodwin, S.; Hubber, D.; Parker, R (2009), “The formation of brown dwarfs”, Proceedings of the International Astronomical Union, 266, pp 264-271 43 Phụ lục 1: Các lệnh xử lí liệu ISO Ophichus 102 CASA # ALMA Data Reduction Script # Calibration thesteps = [] step_title = {0: 'Import of the ASDM', 1: 'Fix of SYSCAL table times', 2: 'listobs', 3: 'A priori flagging', 4: 'Generation and time averaging of the WVR cal table', 5: 'Generation of the Tsys cal table', 6: 'Application of the WVR and Tsys cal tables', 7: 'Split out science SPWs and time average', 8: 'Listobs, clear pointing table, and save original flags', 9: 'Initial flagging', 10: 'Putting a model for the flux calibrator(s)', 11: 'Save flags before bandpass cal', 12: 'Bandpass calibration', 13: 'Save flags before gain cal', 14: 'Gain calibration', 15: 'Save flags before applycal', 16: 'Application of the bandpass and gain cal tables', 17: 'Split out corrected column'} sys.exit('ERROR: PLEASE USE THE SAME VERSION OF CASA THAT YOU USED FOR GENERATING THE SCRIPT: 4.2.1') # CALIBRATE_AMPLI: Titan # CALIBRATE_ATMOSPHERE: ISO-Oph_102,J1517-2422,J1626-2951,Titan # CALIBRATE_BANDPASS: J1517-2422 # CALIBRATE_FLUX: Titan # CALIBRATE_FOCUS: # CALIBRATE_PHASE: J1625-2527 # CALIBRATE_POINTING: J1517-2422 # OBSERVE_TARGET: ISO-Oph_102 # Using reference antenna = DV11 # used to be DV05 but it had high Tsys # Import of the ASDM mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] if os.path.exists('uid _A002_X87c075_X1f8a.ms') == False: importasdm('uid _A002_X87c075_X1f8a', asis='Antenna Station Receiver Source CalAtmosphere CalWVR') if applyonly != True: es.fixForCSV2555('uid _A002_X87c075_X1f8a.ms') # Fix of SYSCAL table times mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') 44 print 'Step ', mystep, step_title[mystep] from recipes.almahelpers import fixsyscaltimes fixsyscaltimes(vis = 'uid _A002_X87c075_X1f8a.ms') print "# A priori calibration" # listobs mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] os.system('rm -rf uid _A002_X87c075_X1f8a.ms.listobs') listobs(vis = 'uid _A002_X87c075_X1f8a.ms', listfile = 'uid _A002_X87c075_X1f8a.ms.listobs') # A priori flagging mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] flagdata(vis = 'uid _A002_X87c075_X1f8a.ms', mode = 'manual', spw = '1~24', autocorr = T, flagbackup = F) flagdata(vis = 'uid _A002_X87c075_X1f8a.ms', mode = 'manual', intent = '*POINTING*,*SIDEBAND_RATIO*,*ATMOSPHERE*', flagbackup = F) flagcmd(vis = 'uid _A002_X87c075_X1f8a.ms', inpmode = 'table', useapplied = True, action = 'plot', plotfile = 'uid _A002_X87c075_X1f8a.ms.flagcmd.png') flagcmd(vis = 'uid _A002_X87c075_X1f8a.ms', inpmode = 'table', useapplied = True, action = 'apply') # Generation and time averaging of the WVR cal table mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] os.system('rm -rf uid _A002_X87c075_X1f8a.ms.wvr') os.system('rm -rf uid _A002_X87c075_X1f8a.ms.wvrgcal') mylogfile = casalog.logfile() casalog.setlogfile('uid _A002_X87c075_X1f8a.ms.wvrgcal') wvrgcal(vis = 'uid _A002_X87c075_X1f8a.ms', 45 caltable = 'uid _A002_X87c075_X1f8a.ms.wvr', toffset = 0, tie = ['ISO-Oph_102,J1625-2527'], statsource = 'ISO-Oph_102') casalog.setlogfile(mylogfile) # This is a temporary workaround, which will be included in a future version of CASA tb.open('uid _A002_X87c075_X1f8a.ms.wvr', nomodify=False) count = numrows = tb.nrows() mycparamcol = tb.getcol('CPARAM') for i in range(0, numrows): if mycparamcol[0][0][i] == (1.+0.j): tb.putcell('FLAG', i, [[True]]) count += tb.close() del mycparamcol if(numrows>0): print 'Flagged', count, 'of', numrows, 'solutions =', 100.*count/float(numrows),'%' os.system('rm -rf uid _A002_X87c075_X1f8a.ms.wvr.smooth') smoothcal(vis = 'uid _A002_X87c075_X1f8a.ms', tablein = 'uid _A002_X87c075_X1f8a.ms.wvr', caltable = 'uid _A002_X87c075_X1f8a.ms.wvr.smooth', smoothtype = 'mean', smoothtime = 2.016) if applyonly != True: aU.plotWVRSolutions(caltable='uid _A002_X87c075_X1f8a.ms.wvr.smooth', spw='17', antenna='DV11', yrange=[-399,399],subplot=22, interactive=False, figfile='uid _A002_X87c075_X1f8a.ms.wvr.smooth.plots/uid _A002_X87c075 _X1f8a.ms.wvr.smooth') #Note: If you see wraps in these plots, try changing yrange or unwrap=True #Note: If all plots look strange, it may be a bad WVR on the reference antenna # To check, you can set antenna='' to show all baselines # Generation of the Tsys cal table mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] os.system('rm -rf uid _A002_X87c075_X1f8a.ms.tsys') gencal(vis = 'uid _A002_X87c075_X1f8a.ms', caltable = 'uid _A002_X87c075_X1f8a.ms.tsys', caltype = 'tsys') if applyonly != True: aU.plotbandpass(caltable='uid _A002_X87c075_X1f8a.ms.tsys', overlay='time', 46 xaxis='freq', yaxis='amp', subplot=22, buildpdf=False, interactive=False, showatm=True,pwv='auto',chanrange='5~123',showfdm=True, field='', figfile='uid _A002_X87c075_X1f8a.ms.tsys.plots.overlayTime/uid _A002_X87 c075_X1f8a.ms.tsys') if applyonly != True: es.checkCalTable('uid _A002_X87c075_X1f8a.ms.tsys', msName='uid _A002_X87c075_X1f8a.ms', interactive=False) # Application of the WVR and Tsys cal tables mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] from recipes.almahelpers import tsysspwmap tsysmap = tsysspwmap(vis = 'uid _A002_X87c075_X1f8a.ms', tsystable = 'uid _A002_X87c075_X1f8a.ms.tsys', tsysChanTol = 1) applycal(vis = 'uid _A002_X87c075_X1f8a.ms', field = '0', spw = '17,19,21,23', gaintable = ['uid _A002_X87c075_X1f8a.ms.tsys', 'uid _A002_X87c075_X1f8a.ms.wvr.smooth'], gainfield = ['0', ''], interp = 'linear,linear', spwmap = [tsysmap,[]], calwt = T, flagbackup = F) applycal(vis = 'uid _A002_X87c075_X1f8a.ms', field = '1', spw = '17,19,21,23', gaintable = ['uid _A002_X87c075_X1f8a.ms.tsys', 'uid _A002_X87c075_X1f8a.ms.wvr.smooth'], gainfield = ['1', ''], interp = 'linear,linear', spwmap = [tsysmap,[]], calwt = T, flagbackup = F) # Note: J1625-2527 didn't have any Tsys measurement, so I used the one made on ISO-Oph_102 This is probably Ok applycal(vis = 'uid _A002_X87c075_X1f8a.ms', field = '2', spw = '17,19,21,23', gaintable = ['uid _A002_X87c075_X1f8a.ms.tsys', 'uid _A002_X87c075_X1f8a.ms.wvr.smooth'], gainfield = ['4', ''], interp = 'linear,linear', spwmap = [tsysmap,[]], calwt = T, 47 flagbackup = F) applycal(vis = 'uid _A002_X87c075_X1f8a.ms', field = '3', spw = '17,19,21,23', gaintable = ['uid _A002_X87c075_X1f8a.ms.tsys', 'uid _A002_X87c075_X1f8a.ms.wvr.smooth'], gainfield = ['3', ''], interp = 'linear,linear', spwmap = [tsysmap,[]], calwt = T, flagbackup = F) applycal(vis = 'uid _A002_X87c075_X1f8a.ms', field = '4', spw = '17,19,21,23', gaintable = ['uid _A002_X87c075_X1f8a.ms.tsys', 'uid _A002_X87c075_X1f8a.ms.wvr.smooth'], gainfield = ['4', ''], interp = 'linear,linear', spwmap = [tsysmap,[]], calwt = T, flagbackup = F) if applyonly != True: es.getCalWeightStats('uid _A002_X87c075_X1f8a.ms') # Split out science SPWs and time average mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split') split(vis = 'uid _A002_X87c075_X1f8a.ms', outputvis = 'uid _A002_X87c075_X1f8a.ms.split', datacolumn = 'corrected', spw = '17,19,21,23', keepflags = T) print "# Calibration" # Listobs, clear pointing table, and save original flags mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.listobs') listobs(vis = 'uid _A002_X87c075_X1f8a.ms.split', listfile = 'uid _A002_X87c075_X1f8a.ms.split.listobs') tb.open('uid _A002_X87c075_X1f8a.ms.split/POINTING', nomodify = False) a = tb.rownumbers() tb.removerows(a) tb.close() 48 if not os.path.exists('uid _A002_X87c075_X1f8a.ms.split.flagversions/Original.flags'): flagmanager(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'save', versionname = 'Original') # Initial flagging mystep = if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] # Flagging shadowed data flagdata(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'shadow', flagbackup = F) # Flagging edge channels flagdata(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'manual', spw = '0:0~7;120~127,1:0~7;120~127,2:0~7;120~127,3:0~7;120~127', flagbackup = F) # Flagging bad spectral window for PM04 because negative/bad Tsys flagdata(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'manual', spw = '2', antenna='PM04', flagbackup = F) # High Tsys flagdata(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'manual', antenna='DA55,DV05', flagbackup = F) # Flagging bad channels in spw for a strong atmospheric line around 352.3 GHz flagdata(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'manual', spw = '3:80~92', flagbackup = F) # Putting a model for the flux calibrator(s) mystep = 10 if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] setjy(vis = 'uid _A002_X87c075_X1f8a.ms.split', field = '1', # Titan spw = '0,1,2,3', standard = 'Butler-JPL-Horizons 2012') os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.setjy.field*.png') for i in ['1']: plotms(vis = 'uid _A002_X87c075_X1f8a.ms.split', 49 xaxis = 'uvdist', yaxis = 'amp', ydatacolumn = 'model', field = i, spw = '0,1,2,3', avgchannel = '9999', coloraxis = 'spw', plotfile = 'uid _A002_X87c075_X1f8a.ms.split.setjy.field'+i+'.png') # Save flags before bandpass cal mystep = 11 if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] flagmanager(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'save', versionname = 'BeforeBandpassCalibration') # Bandpass calibration mystep = 12 if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.ap_pre_bandpass') gaincal(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.ap_pre_bandpass', field = '0', # J1517-2422 spw = '0:51~76,1:51~76,2:51~76,3:51~76', solint = 'int', refant = 'DV11', calmode = 'p') if applyonly != True: es.checkCalTable('uid _A002_X87c075_X1f8a.ms.split.ap_pre_bandpass', msName='uid _A002_X87c075_X1f8a.ms.split', interactive=False) os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.bandpass') bandpass(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.bandpass', field = '0', # J1517-2422 solint = 'inf', combine = 'scan', refant = 'DV11', solnorm = True, bandtype = 'B', gaintable = 'uid _A002_X87c075_X1f8a.ms.split.ap_pre_bandpass') if applyonly != True: es.checkCalTable('uid _A002_X87c075_X1f8a.ms.split.bandpass', msName='uid _A002_X87c075_X1f8a.ms.split', interactive=False) # Save flags before gain cal 50 mystep = 13 if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] flagmanager(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'save', versionname = 'BeforeGainCalibration') # Gain calibration mystep = 14 if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] # Note: the Solar system object used for flux calibration is highly resolved on some baselines # Note: we will first determine the flux of the phase calibrator(s) on a subset of antennas delmod('uid _A002_X87c075_X1f8a.ms.split',field='2') os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.phase_short_int') gaincal(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.phase_short_int', field = '1', # Titan selectdata = T, antenna = 'DA46,DA50,DA59,DA62,DV11,DV13,DV18,DV22,DV23,DV25&', solint = 'int', refant = 'DV11', gaintype = 'G', calmode = 'p', gaintable = 'uid _A002_X87c075_X1f8a.ms.split.bandpass') gaincal(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.phase_short_int', field = '0,2,3', # J1517-2422,J1625-2527,J1626-2951 selectdata = T, solint = 'int', refant = 'DV11', gaintype = 'G', calmode = 'p', append = T, gaintable = 'uid _A002_X87c075_X1f8a.ms.split.bandpass') if applyonly != True: es.checkCalTable('uid _A002_X87c075_X1f8a.ms.split.phase_short_int', msName='uid _A002_X87c075_X1f8a.ms.split', interactive=False) os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.ampli_short_inf') gaincal(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.ampli_short_inf', field = '0,1,2,3', # J1517-2422,Titan,J1625-2527,J1626-2951 selectdata = T, 51 solint = 'inf', refant = 'DV11', gaintype = 'T', calmode = 'a', gaintable = ['uid _A002_X87c075_X1f8a.ms.split.bandpass', 'uid _A002_X87c075_X1f8a.ms.split.phase_short_int']) if applyonly != True: es.checkCalTable('uid _A002_X87c075_X1f8a.ms.split.ampli_short_inf', msName='uid _A002_X87c075_X1f8a.ms.split', interactive=False) os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.flux_short_inf') os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.fluxscale') mylogfile = casalog.logfile() fluxscaleDict = fluxscale(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.ampli_short_inf', fluxtable = 'uid _A002_X87c075_X1f8a.ms.split.flux_short_inf', reference = '1') # Titan casalog.setlogfile(mylogfile) if applyonly != True: es.fluxscale2(caltable = 'uid _A002_X87c075_X1f8a.ms.split.ampli_short_inf', removeOutliers=True, msName='uid _A002_X87c075_X1f8a.ms', writeToFile=True, preavg=10000) f = open('uid _A002_X87c075_X1f8a.ms.split.fluxscale') fc = f.readlines() f.close() for phaseCalName in ['J1625-2527']: for i in range(len(fc)): if fc[i].find('Flux density for '+phaseCalName) != -1 and re.search('in SpW=[09]+(?: \(.*?\))? is: [0-9]+\.[0-9]+', fc[i], re.DOTALL|re.IGNORECASE) != None: line = (re.search('in SpW=[0-9]+(?: \(.*?\))? is: [0-9]+\.[0-9]+', fc[i], re.DOTALL|re.IGNORECASE)).group(0) spwId = (line.split('='))[1].split()[0] flux = float((line.split(':'))[1].split()[0]) setjy(vis = 'uid _A002_X87c075_X1f8a.ms.split', field = phaseCalName.replace(';','*;').split(';')[0], spw = spwId, standard = 'manual', fluxdensity = [flux,0,0,0]) os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.phase_int') gaincal(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.phase_int', field = '0,1,2,3', # J1517-2422,Titan,J1625-2527,J1626-2951 solint = 'int', refant = 'DV11', gaintype = 'G', calmode = 'p', gaintable = 'uid _A002_X87c075_X1f8a.ms.split.bandpass') 52 if applyonly != True: es.checkCalTable('uid _A002_X87c075_X1f8a.ms.split.phase_int', msName='uid _A002_X87c075_X1f8a.ms.split', interactive=False) os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.flux_inf') gaincal(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.flux_inf', field = '0,1,2,3', # J1517-2422,Titan,J1625-2527,J1626-2951 solint = 'inf', refant = 'DV11', gaintype = 'T', calmode = 'a', gaintable = ['uid _A002_X87c075_X1f8a.ms.split.bandpass', 'uid _A002_X87c075_X1f8a.ms.split.phase_int']) if applyonly != True: es.checkCalTable('uid _A002_X87c075_X1f8a.ms.split.flux_inf', msName='uid _A002_X87c075_X1f8a.ms.split', interactive=False) os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.phase_inf') gaincal(vis = 'uid _A002_X87c075_X1f8a.ms.split', caltable = 'uid _A002_X87c075_X1f8a.ms.split.phase_inf', field = '0,1,2,3', # J1517-2422,Titan,J1625-2527,J1626-2951 solint = 'inf', refant = 'DV11', gaintype = 'G', calmode = 'p', gaintable = 'uid _A002_X87c075_X1f8a.ms.split.bandpass') if applyonly != True: es.checkCalTable('uid _A002_X87c075_X1f8a.ms.split.phase_inf', msName='uid _A002_X87c075_X1f8a.ms.split', interactive=False) # Save flags before applycal mystep = 15 if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] flagmanager(vis = 'uid _A002_X87c075_X1f8a.ms.split', mode = 'save', versionname = 'BeforeApplycal') # Application of the bandpass and gain cal tables mystep = 16 if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] for i in ['0', '1', '3']: # J1517-2422,Titan,J1626-2951 applycal(vis = 'uid _A002_X87c075_X1f8a.ms.split', field = i, 53 gaintable = ['uid _A002_X87c075_X1f8a.ms.split.bandpass', 'uid _A002_X87c075_X1f8a.ms.split.phase_int', 'uid _A002_X87c075_X1f8a.ms.split.flux_inf'], gainfield = ['', i, i], interp = 'linear,linear', calwt = F, flagbackup = F) applycal(vis = 'uid _A002_X87c075_X1f8a.ms.split', field = '2,4', # ISO-Oph_102 gaintable = ['uid _A002_X87c075_X1f8a.ms.split.bandpass', 'uid _A002_X87c075_X1f8a.ms.split.phase_inf', 'uid _A002_X87c075_X1f8a.ms.split.flux_inf'], gainfield = ['', '2', '2'], # J1625-2527 interp = 'linear,linear', calwt = F, flagbackup = F) # Split out corrected column mystep = 17 if(mystep in thesteps): casalog.post('Step '+str(mystep)+' '+step_title[mystep],'INFO') print 'Step ', mystep, step_title[mystep] os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.cal') split(vis = 'uid _A002_X87c075_X1f8a.ms.split', outputvis = 'uid _A002_X87c075_X1f8a.ms.split.cal', datacolumn = 'corrected', keepflags = T) 54 Phụ lục 2: Quá trình tạo ảnh của ISO Ophichus 102 CASA os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target.*') clean(vis = 'uid _A002_X87c075_X1f8a.ms.split.cal', imagename = 'uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target', field = '4', # ISO-Oph_102 spw = '0,1,2,3', mode = 'mfs', interactive = F, imsize = [1000, 1000], cell = '0.04arcsec', phasecenter = 4, weighting = 'briggs', robust = 0.5) os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target.pbcor') impbcor(imagename="uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum target.image", pbimage="uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target.flux", outfile="uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target.pbcor", mode="divide") os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target.pbcor.fits') exportfits(imagename='uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum target.pbcor', fitsimage='uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target.pbcor fits') os.system('rm -rf uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target.flux.fits') exportfits(imagename='uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum target.flux', fitsimage='uid _A002_X87c075_X1f8a.ms.split.cal.image.continuum.target.flux.f its')

Ngày đăng: 31/08/2023, 15:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w