From 57bd1474de431df7a26854f2143c688d1bceff5e Mon Sep 17 00:00:00 2001 From: Astrogirlanjali Date: Tue, 6 Aug 2024 09:34:21 +1000 Subject: [PATCH 01/15] Initial commit for DREAMS --- DREAMS/DREAMS.yaml | 52 + DREAMS/DREAMS_InGaAs.yaml | 62 + DREAMS/FPA_array_layout.dat | 23 + DREAMS/LIST_DREAMS_mirrors_static.dat | 10 + DREAMS/QE_InGaAs.dat | 2110 +++++++++++++++++++++++++ DREAMS/TER_atmosphere.dat | 359 +++++ DREAMS/TER_mirror.dat | 22 + DREAMS/default.yaml | 44 + DREAMS/filters/H.dat | 367 +++++ DREAMS/filters/I.dat | 29 + DREAMS/filters/J.dat | 341 ++++ 11 files changed, 3419 insertions(+) create mode 100644 DREAMS/DREAMS.yaml create mode 100644 DREAMS/DREAMS_InGaAs.yaml create mode 100644 DREAMS/FPA_array_layout.dat create mode 100644 DREAMS/LIST_DREAMS_mirrors_static.dat create mode 100644 DREAMS/QE_InGaAs.dat create mode 100644 DREAMS/TER_atmosphere.dat create mode 100644 DREAMS/TER_mirror.dat create mode 100644 DREAMS/default.yaml create mode 100644 DREAMS/filters/H.dat create mode 100644 DREAMS/filters/I.dat create mode 100644 DREAMS/filters/J.dat diff --git a/DREAMS/DREAMS.yaml b/DREAMS/DREAMS.yaml new file mode 100644 index 00000000..0bf83cca --- /dev/null +++ b/DREAMS/DREAMS.yaml @@ -0,0 +1,52 @@ +--- + +### Leopold Figl SBIG camera +object : instrument +alias : INST +name : DREAMS +description : + DREAMS is a 0.5m telescope operated + by the Department of Astropyhics at the University of ANU. + +properties: + temperature: -40 # deg + pixel_scale : 2.48 # arcsec / pixel + plate_scale : 206.265 # arcsec / mm + +effects: +- name : seeing_psf + description : Schoepfl PSF + class : SeeingPSF + kwargs : + fwhm : 15.00 # [arcsec] +- name : skycalc_average_atmo + description : atmospheric properties for a default skycalc run + class : AtmosphericTERCurve + include : True + kwargs : + filename: "TER_atmosphere.dat" + rescale_emission: + filter_name: "!OBS.filter_name" + filename_format: "filters/{}.dat" + value: "!OBS.bg_mag" + unit: mag +- name: dreams_static_surfaces + description : telescope and camera optical surfaces + class: SurfaceList + kwargs: + filename: LIST_DREAMS_mirrors_static.dat + +- name: filter_curve + description : transmission curve for filter + class: FilterCurve + kwargs: + filter_name: "!OBS.filter_name" + filename_format: "filters/{}.dat" + minimum_throughput: !!float 1.01E-4 + outer: 0.05088 + outer_unit: "m" + +- name: fits_headers + description : FITS headers + class: ExtraFitsKeywords + include: True diff --git a/DREAMS/DREAMS_InGaAs.yaml b/DREAMS/DREAMS_InGaAs.yaml new file mode 100644 index 00000000..e59666ca --- /dev/null +++ b/DREAMS/DREAMS_InGaAs.yaml @@ -0,0 +1,62 @@ +--- +### Princeton DREAMS InGaAs DETECTOR +object : detector +alias : DET +name : DREAMS_InGaAs_detector +description : base configuration for Dreams camera + +properties: + image_plane_id : 0 + temperature : -60 + dit : "!OBS.dit" + ndit : "!OBS.ndit" + width: 1280 + height: 1024 + x: 0 + y: 0 +effects: +- name: full_detector_array + description: THe full DREAMS detector array list + class: DetectorList + include: True + kwargs: + filename : FPA_array_layout.dat + active_detectors : "all" + +- name: qe_curve + description : Quantum efficiency curves for each detector + class : QuantumEfficiencyCurve + kwargs : + filename : QE_InGaAs.dat + +- name: exposure_action + description: Summing up sky signal for all DITs and NDITs + class: SummedExposure + +- name: dark_current + description : SBIG dark current + class: DarkCurrent + kwargs: + value: 67.00 + +- name: shot_noise + description : apply Poisson shot noise to images + class: ShotNoise + +- name: detector_linearity + class: LinearityCurve + kwargs: + incident: [0, 57143, 999999999999] + measured: [0, 57143, 57143] + +- name : readout_noise + description : Readout noise frames + class : BasicReadoutNoise + kwargs : + noise_std : 75 + +- name : detector_binning + description : Binning the detector frames + class : BinnedImage + kwargs : + bin_size : "!DET.bin_size" diff --git a/DREAMS/FPA_array_layout.dat b/DREAMS/FPA_array_layout.dat new file mode 100644 index 00000000..8fcbc105 --- /dev/null +++ b/DREAMS/FPA_array_layout.dat @@ -0,0 +1,23 @@ +# name : DREAMS 1280SCICAM +# author : Anjali Shivani Reddy +# sources : https://github.com/Astrogirlanajli/DREAMS/blob/main/5240-0001%20Scicam%20FPA%20Drawing%20mm%20v1.pdf +# date_created : 2024-05-04 +# type : detector:chip_list +# x_cen_unit : mm +# y_cen_unit : mm +# x_size_unit : pix +# y_size_unit : pix +# pixel_size_unit : mm +# angle_unit : deg +# gain_unit : electron/adu +# +id x_cen y_cen x_size y_size pixel_size angle gain +1 -8.015 12.95 1280 1024 0.012 0.0 4.3 +2 8.015 12.95 1280 1024 0.012 0.0 4.3 +3 -8.015 0.000 1280 1024 0.012 0.0 4.3 +4 8.015 0.000 1280 1024 0.012 0.0 4.3 +5 -8.015 -12.95 1280 1024 0.012 0.0 4.3 +6 8.015 -12.95 1280 1024 0.012 0.0 4.3 + + + diff --git a/DREAMS/LIST_DREAMS_mirrors_static.dat b/DREAMS/LIST_DREAMS_mirrors_static.dat new file mode 100644 index 00000000..2374a591 --- /dev/null +++ b/DREAMS/LIST_DREAMS_mirrors_static.dat @@ -0,0 +1,10 @@ +# name : mirror_list +# outer_unit : m +# inner_unit : m +# angle_unit : degree +# temperature_unit : deg_C +# description : A list of optical surfaces in the telescope and camera. M[1-2] are the telescope mirrors. +# +name outer inner angle temperature action filename +M1 0.5 0.0 0 -40 reflection TER_mirror.dat +M2 0.5 0.0 0 -40 reflection TER_mirror.dat \ No newline at end of file diff --git a/DREAMS/QE_InGaAs.dat b/DREAMS/QE_InGaAs.dat new file mode 100644 index 00000000..dc1b3997 --- /dev/null +++ b/DREAMS/QE_InGaAs.dat @@ -0,0 +1,2110 @@ +# action : transmission +# wavelength_unit : um +# +wavelength transmission +0.8010318882867862 0.47089420439103236 +0.8014842434347645 0.48637536025609485 +0.8019365985827428 0.4782511781493827 +0.8023889537307212 0.4820753360496684 +0.8028413088786994 0.4801019014406843 +0.8032936640266778 0.4951879706049592 +0.8037460191746562 0.4854655975193126 +0.8041983743226344 0.4779761523419514 +0.8046507294706128 0.48708141997460186 +0.805103084618591 0.4954502240424059 +0.8055554397665694 0.4903882986383811 +0.8060077949145478 0.4798940500624708 +0.806460150062526 0.4914403608191411 +0.8069125052105044 0.4919116092563264 +0.8073648603584826 0.49835634128127587 +0.807817215506461 0.4913668876260093 +0.8082695706544394 0.5013908364552738 +0.8087219258024176 0.49272335888249363 +0.809174280950396 0.49176292156710844 +0.8096266360983744 0.5001332936507897 +0.8100789912463526 0.5060827720485669 +0.810531346394331 0.4932895006623416 +0.8109837015423093 0.4899480317398698 +0.8114360566902876 0.5129003924694524 +0.811888411838266 0.5036580829871373 +0.8123407669862442 0.521378114201553 +0.8127931221342226 0.5089788246934933 +0.8132454772822009 0.5094160116436093 +0.8136978324301792 0.5038243538692838 +0.8141501875781576 0.500999927317526 +0.8146025427261359 0.512790358500075 +0.8150548978741142 0.5075755617215246 +0.8155072530220925 0.5136192779763299 +0.8159596081700708 0.5094001326210471 +0.8164119633180492 0.5187288257583673 +0.8168643184660275 0.5096415851450098 +0.817316673614006 0.5244929705961495 +0.8177690287619842 0.5149645913923855 +0.8182213839099626 0.5082860694005431 +0.8186737390579409 0.5157472692039915 +0.8191260942059192 0.5133295895725465 +0.8195784493538976 0.5235370868883883 +0.8200308045018759 0.5123898588945561 +0.8204831596498542 0.5138419326371507 +0.8209355147978326 0.5153684699363054 +0.8213878699458108 0.5239066694956467 +0.8218402250937892 0.5197909436851418 +0.8222925802417675 0.5261470848870973 +0.8227449353897458 0.5249129760087206 +0.8231972905377242 0.5176420121004677 +0.8236496456857024 0.5218676081912741 +0.8241020008336808 0.5194426633542697 +0.8245543559816592 0.5239692869811301 +0.8250067111296374 0.522292277840277 +0.8254590662776158 0.522509387804168 +0.825911421425594 0.5216608504692286 +0.8263637765735724 0.5330535570146695 +0.8268161317215508 0.5214851219131633 +0.827268486869529 0.5213116119026252 +0.8277208420175074 0.5315423441121081 +0.8281731971654857 0.5248424684935676 +0.828625552313464 0.5267708785690023 +0.8290779074614424 0.5277943656024868 +0.8295302626094206 0.5383842747445415 +0.829982617757399 0.530398621997895 +0.8304349729053773 0.5287625295206951 +0.8308873280533556 0.5305573904750741 +0.831339683201334 0.5403105983197929 +0.8317920383493123 0.5350609178790564 +0.8322443934972906 0.5316453137668528 +0.832696748645269 0.5304650984511308 +0.8331491037932472 0.5238120945493419 +0.8336014589412256 0.5404437502901583 +0.8340538140892039 0.534718115878815 +0.8345061692371822 0.5440638180960914 +0.8349585243851606 0.5362643780233887 +0.8354108795331389 0.5485984269295616 +0.8358632346811172 0.5384122052940203 +0.8363155898290955 0.5493292729820369 +0.8367679449770739 0.5431785637747059 +0.8372203001250522 0.5341772894816258 +0.8376726552730305 0.5424053585507559 +0.8381250104210088 0.5357315642990873 +0.8385773655689871 0.5432300515578357 +0.8390297207169655 0.5494345466945538 +0.8394820758649438 0.5557072111174213 +0.8399344310129221 0.5475024776173165 +0.8403867861609005 0.5518404107524977 +0.8408391413088787 0.5463154933667538 +0.8412914964568571 0.54034123385343 +0.8417438516048354 0.5535759662792546 +0.8421962067528137 0.5438549333153077 +0.8426485619007921 0.546066823045234 +0.8431009170487704 0.5394317250000327 +0.8435532721967487 0.550315758935525 +0.8440056273447271 0.547123676520044 +0.8444579824927053 0.5588180590343446 +0.8449103376406837 0.5453590778360722 +0.845362692788662 0.5580067975664034 +0.8458150479366403 0.5545511419521976 +0.8462674030846187 0.5455497578121793 +0.8467197582325969 0.5536485579340398 +0.8471721133805753 0.5464304963518025 +0.8476244685285537 0.5476773006907014 +0.8480768236765319 0.5446342456708898 +0.8485291788245103 0.5583400628145256 +0.8489815339724885 0.5554291915708868 +0.8494338891204669 0.5581877004030071 +0.8498862442684453 0.5471994321938263 +0.8503385994164235 0.55551411222484 +0.8507909545644019 0.5520797741617329 +0.8512433097123802 0.5507043456140436 +0.8516956648603585 0.5591679406279103 +0.8521480200083369 0.5559278474746914 +0.8526003751563151 0.5568327225971743 +0.8530527303042935 0.5557972380365195 +0.8535050854522719 0.5642698663657932 +0.8539574406002501 0.5596435915380064 +0.8544097957482285 0.5675683344013722 +0.8548621508962068 0.562149052236872 +0.8553145060441851 0.558742112000945 +0.8557668611921635 0.5666242950809517 +0.8562192163401418 0.5631813755087266 +0.8566715714881201 0.5719319120619912 +0.8571239266360984 0.5692455128896152 +0.8575762817840767 0.5703728314757014 +0.8580286369320551 0.5673776047623325 +0.8584809920800334 0.5758328049048766 +0.8589333472280117 0.5731699430018067 +0.85938570237599 0.5743732446194868 +0.8598380575239684 0.5745147192542853 +0.8602904126719467 0.5697237007398714 +0.860742767819925 0.5808171594467861 +0.8611951229679033 0.5789399624227742 +0.8616474781158816 0.5866898715046033 +0.86209983326386 0.5804487004929103 +0.8625521884118383 0.5873049757162503 +0.8630045435598166 0.5866591238453189 +0.863456898707795 0.5938496540057908 +0.8639092538557732 0.5867902006586823 +0.8643616090037516 0.5912918330141301 +0.86481396415173 0.5869824439624476 +0.8652663192997082 0.5856310783977161 +0.8657186744476866 0.5978358193057899 +0.8661710295956649 0.5976348001003795 +0.8666233847436432 0.603815930024901 +0.8670757398916216 0.5973156367080468 +0.8675280950395998 0.6066828675410232 +0.8679804501875782 0.6033787686190117 +0.8684328053355566 0.6117045861685754 +0.8688851604835348 0.6088163213247918 +0.8693375156315132 0.6018682221482226 +0.8697898707794914 0.6089181242218001 +0.8702422259274698 0.6062654697588341 +0.8706945810754482 0.6156839220686146 +0.8711469362234264 0.6132913643973663 +0.8715992913714048 0.6157406293295234 +0.872051646519383 0.6096738651354611 +0.8725040016673614 0.6190905714231699 +0.8729563568153398 0.6165561841714551 +0.873408711963318 0.6240873484425964 +0.8738610671112964 0.6218575451102507 +0.8743134222592747 0.6157259224683621 +0.874765777407253 0.620213800335835 +0.8752181325552314 0.6178401253660973 +0.8756704877032097 0.629603899799777 +0.876122842851188 0.6274489386187656 +0.8765751979991664 0.6305233152857525 +0.8770275531471446 0.6244241975064149 +0.877479908295123 0.6310796960891962 +0.8779322634431013 0.6286822055307195 +0.8783846185910796 0.6388398977525456 +0.878836973739058 0.6361565949390031 +0.8792893288870363 0.633021627743403 +0.8797416840350146 0.6371802356252616 +0.8801940391829929 0.6325447081553793 +0.8806463943309712 0.6404141093828508 +0.8810987494789496 0.6413360671732459 +0.8815511046269279 0.6440083297857134 +0.8820034597749062 0.6381220026945215 +0.8824558149228845 0.6540646585903065 +0.8829081700708629 0.6543477697191069 +0.8833605252188412 0.6476236795251598 +0.8838128803668195 0.6548441279734694 +0.8842652355147979 0.6530756489843601 +0.8847175906627761 0.6590622898456945 +0.8851699458107546 0.6527238638128297 +0.885622300958733 0.6642625896706643 +0.8860746561067111 0.6618124648321162 +0.8865270112546895 0.666396620649061 +0.8869793664026677 0.660312139900687 +0.8874317215506462 0.672960353094911 +0.8878840766986246 0.6752452198714229 +0.8883364318466027 0.6704519867174369 +0.8887887869945811 0.678283149459181 +0.8892411421425596 0.6733499691034486 +0.8896934972905378 0.6851065207428292 +0.8901458524385162 0.6826617215576668 +0.8905982075864943 0.688123279481066 +0.8910505627344728 0.6849232624346502 +0.8915029178824512 0.6887891655066505 +0.8919552730304294 0.6872149137515707 +0.8924076281784078 0.7036493229824993 +0.8928599833263859 0.701933013157201 +0.8933123384743644 0.6988305814973047 +0.8937646936223428 0.7065206560680093 +0.894217048770321 0.702201654005022 +0.8946694039182994 0.7147357810614607 +0.8951217590662777 0.7102785052080475 +0.895574114214256 0.7219096984703919 +0.8960264693622344 0.7173473748540347 +0.8964788245102127 0.7234063819268937 +0.896931179658191 0.7177344128455259 +0.8973835348061694 0.7148723577206265 +0.8978358899541476 0.7274734219173544 +0.898288245102126 0.7261171048571243 +0.8987406002501043 0.7338756661113136 +0.8991929553980826 0.7292528876514471 +0.899645310546061 0.7417607476390661 +0.9000976656940393 0.7382414545347628 +0.9005500208420176 0.7496612904340902 +0.9010023759899959 0.7442226061986018 +0.9014547311379743 0.75095255751471 +0.9019070862859526 0.745542463819696 +0.9023594414339309 0.7424156496639351 +0.9028117965819092 0.762366862714994 +0.9032641517298875 0.7553873418886446 +0.9037165068778659 0.7633495792481476 +0.9041688620258442 0.756407378276301 +0.9046212171738225 0.7677185084619217 +0.9050735723218009 0.7608914244674061 +0.9055259274697791 0.7715331027413144 +0.9059782826177575 0.768736624054473 +0.9064306377657358 0.7697914716157669 +0.9068829929137141 0.7641147128985696 +0.9073353480616925 0.7617995150644904 +0.9077877032096707 0.7703289626063763 +0.9082400583576491 0.763617631428572 +0.9086924135056275 0.7655584910828089 +0.9091447686536057 0.7608746241926224 +0.9095971238015841 0.7740479811200482 +0.9100494789495625 0.7726775270890082 +0.9105018340975407 0.7771890216293977 +0.9109541892455191 0.7712919838346327 +0.9114065443934973 0.7639408864342714 +0.9118588995414757 0.7688608048889239 +0.9123112546894541 0.7684803563643905 +0.9127636098374323 0.7743046775476653 +0.9132159649854107 0.7682825948302059 +0.913668320133389 0.7692280068293615 +0.9141206752813673 0.7647455295864921 +0.9145730304293457 0.7757663548836949 +0.9150253855773239 0.7717466767376406 +0.9154777407253023 0.7768290520975631 +0.9159300958732806 0.768879598791029 +0.9163824510212589 0.761882773609971 +0.9168348061692373 0.7693141543670086 +0.9172871613172155 0.7634329868875323 +0.9177395164651939 0.7639801609638651 +0.9181918716131722 0.7588384332165584 +0.9186442267611505 0.7580061840679599 +0.9190965819091289 0.753907971993306 +0.9195489370571072 0.7651968087598925 +0.9200012922050855 0.7607101583519282 +0.9204536473530639 0.7648283261339965 +0.9209060025010422 0.7567289689802648 +0.9213583576490205 0.7541105983833716 +0.9218107127969988 0.7585139325485544 +0.9222630679449771 0.7591511970746464 +0.9227154230929555 0.7609303117189721 +0.9231677782409338 0.7589875827474809 +0.9236201333889121 0.7593666354372897 +0.9240724885368904 0.7564701079796248 +0.9245248436848688 0.7629754333905235 +0.9249771988328471 0.7642093090013069 +0.9254295539808254 0.7590537266810087 +0.9258819091288037 0.7605408600335504 +0.926334264276782 0.7589527055849505 +0.9267866194247604 0.7637202769348684 +0.9272389745727387 0.7609168569118369 +0.927691329720717 0.7678933161301977 +0.9281436848686954 0.7632102519171202 +0.9285960400166736 0.7657535583427229 +0.929048395164652 0.7629407364357152 +0.9295007503126304 0.7760183760434255 +0.9299531054606086 0.776100324988634 +0.930405460608587 0.7687975450659553 +0.9308578157565652 0.7711180903597769 +0.9313101709045436 0.7686110308120834 +0.931762526052522 0.7713270026207205 +0.9322148812005002 0.766965851616144 +0.9326672363484786 0.7772114489856483 +0.933119591496457 0.7745367088402536 +0.9335719466444352 0.7748305226929282 +0.9340243017924136 0.7696078545872771 +0.9344766569403918 0.7761741705046173 +0.9349290120883702 0.7757129965503061 +0.9353813672363486 0.7726006816141756 +0.9358337223843268 0.7713249160779695 +0.9362860775323052 0.7685182905576299 +0.9367384326802835 0.7789267354279888 +0.9371907878282618 0.7768098192884652 +0.9376431429762402 0.7801073358551246 +0.9380954981242184 0.7756329463069719 +0.9385478532721968 0.7793819021860441 +0.9390002084201751 0.7774052841817253 +0.9394525635681534 0.7757554542596875 +0.9399049187161318 0.7829354601408544 +0.94035727386411 0.7772599219640813 +0.9408096290120884 0.7747415319848955 +0.9412619841600667 0.77135977113091 +0.941714339308045 0.777007459153863 +0.9421666944560234 0.7743573967689561 +0.9426190496040017 0.773243754485376 +0.94307140475198 0.76972199189754 +0.9435237598999584 0.7735445300021714 +0.9439761150479367 0.7687521139414973 +0.944428470195915 0.765342900823494 +0.9448808253438933 0.7670109802191546 +0.9453331804918716 0.762639531574293 +0.94578553563985 0.7605843577898039 +0.9462378907878283 0.7595360074151714 +0.9466902459358066 0.7658734537643511 +0.9471426010837849 0.7627611775972434 +0.9475949562317633 0.7625018347729585 +0.9480473113797416 0.7597274715695186 +0.9484996665277199 0.7596730345544593 +0.9489520216756983 0.7591544853050862 +0.9494043768236765 0.7539946548370807 +0.9498567319716549 0.756322121909272 +0.9503090871196332 0.7525268692688276 +0.9507614422676115 0.7504808670215286 +0.9512137974155899 0.7483220407957021 +0.9516661525635681 0.753432667559928 +0.9521185077115465 0.7488522368786239 +0.9525708628595249 0.7516895434651981 +0.9530232180075031 0.7455026292563427 +0.9534755731554815 0.7425936848105417 +0.9539279283034598 0.7465948717432211 +0.9543802834514381 0.7429046775573787 +0.9548326385994165 0.7434000580697506 +0.9552849937473947 0.7400998457807431 +0.9557373488953731 0.738933090311907 +0.9561897040433515 0.7376272417776178 +0.9566420591913297 0.7439369923545456 +0.9570944143393081 0.7405828289892793 +0.9575467694872863 0.7408481470638253 +0.9579991246352647 0.7379096061386758 +0.9584514797832431 0.7349800459536169 +0.9589038349312213 0.7360180435710069 +0.9593561900791997 0.7330974467948722 +0.959808545227178 0.7377641790958639 +0.9602609003751563 0.7343044267010954 +0.9607132555231347 0.7348544992433726 +0.961165610671113 0.7326891724027068 +0.9616179658190913 0.7375000431568679 +0.9620703209670696 0.736131435509987 +0.9625226761150479 0.7339638975795956 +0.9629750312630263 0.7351355802015084 +0.9634273864110046 0.7312541973956498 +0.9638797415589829 0.7358706162518469 +0.9643320967069612 0.7321357945840353 +0.9647844518549396 0.738624786133729 +0.9652368070029179 0.73337226488458 +0.9656891621508962 0.7360022641898171 +0.9661415172988745 0.7313849543370496 +0.9665938724468529 0.7415704515550396 +0.9670462275948312 0.73898286638594 +0.9674985827428095 0.7330184899896127 +0.9679509378907878 0.7324914557764944 +0.9684032930387662 0.7285787321413695 +0.9688556481867445 0.7401417214145707 +0.9693080033347228 0.7356020115056946 +0.9697603584827011 0.7390388071381941 +0.9702127136306794 0.7341907590879987 +0.9706650687786578 0.7400655004458656 +0.9711174239266361 0.7351952093440766 +0.9715697790746144 0.7389669922797636 +0.9720221342225929 0.734460179550491 +0.972474489370571 0.7285232960395946 +0.9729268445185494 0.7288531315045133 +0.9733791996665278 0.72535277096144 +0.973831554814506 0.740400387191613 +0.9742839099624845 0.7351883037880877 +0.9747362651104626 0.7403691897358137 +0.975188620258441 0.7361996730170746 +0.9756409754064194 0.7405471868407071 +0.9760933305543977 0.7356200318946062 +0.9765456857023761 0.738800819884006 +0.9769980408503544 0.738977203327099 +0.9774503959983326 0.7351010597453557 +0.977902751146311 0.7350735736093266 +0.9783551062942893 0.732509127611064 +0.9788074614422677 0.7377475604042713 +0.979259816590246 0.7361456611128587 +0.9797121717382242 0.7371818021916705 +0.9801645268862027 0.7333458406014848 +0.980616882034181 0.7374929909106046 +0.9810692371821593 0.7357268923143438 +0.9815215923301376 0.7354905910483335 +0.981973947478116 0.7358954173542723 +0.9824263026260943 0.7369161127760586 +0.9828786577740726 0.7352266445762026 +0.9833310129220509 0.7363692740780031 +0.9837833680700292 0.7367951799511551 +0.9842357232180076 0.7376298702063765 +0.9846880783659859 0.7369381377139252 +0.9851404335139642 0.7373610070534036 +0.9855927886619426 0.740362229131938 +0.9860451438099209 0.7400424199524852 +0.9864974989578992 0.7403829938097559 +0.9869498541058775 0.7416755978424691 +0.9874022092538559 0.7413106126088703 +0.9878545644018342 0.7414839421584491 +0.9883069195498125 0.7404104040881279 +0.9887592746977908 0.7502471008390091 +0.9892116298457692 0.7484481368839685 +0.9896639849937475 0.7534352526997303 +0.9901163401417258 0.7503744188641025 +0.9905686952897041 0.7435015269394485 +0.9910210504376824 0.7469963240427401 +0.9914734055856608 0.741083787911716 +0.9919257607336391 0.7390980591895306 +0.9923781158816174 0.7347590676377557 +0.9928304710295958 0.7339986028749107 +0.993282826177574 0.7305523511018981 +0.9937351813255524 0.7335237938755356 +0.9941875364735308 0.7292296272893899 +0.994639891621509 0.7257396924337327 +0.9950922467694874 0.7231701101906988 +0.9955446019174656 0.7213865511864904 +0.995996957065444 0.7187952673483017 +0.9964493122134224 0.7160147698604551 +0.9969016673614006 0.7154863152710754 +0.997354022509379 0.7138011359903943 +0.9978063776573574 0.7105955541824588 +0.9982587328053356 0.7099757425750777 +0.998711087953314 0.7081651950442052 +0.9991634431012922 0.705773724340475 +0.9996157982492706 0.7057679540877693 +1.0000681533972489 0.7042324406238893 +1.0005205085452273 0.7056411593351712 +1.0009728636932056 0.7052740916480121 +1.0014252188411839 0.7047136706453037 +1.001877573989162 0.7058219371739842 +1.0023299291371406 0.7069814759977606 +1.0027822842851188 0.706842219292062 +1.003234639433097 0.7082796711430664 +1.0036869945810756 0.7118440958618301 +1.0041393497290538 0.7135911723503257 +1.004591704877032 0.7127504542420943 +1.0050440600250106 0.7143017649584021 +1.0054964151729888 0.7157303106292011 +1.005948770320967 0.7203384639417627 +1.0064011254689456 0.720972574173143 +1.0068534806169238 0.7258154118387222 +1.007305835764902 0.7260427626231558 +1.0077581909128803 0.7315729311732424 +1.0082105460608588 0.7317650992368246 +1.008662901208837 0.7371445408892646 +1.0091152563568153 0.7384389611442371 +1.0095676115047938 0.7388005827900485 +1.010019966652772 0.7396946675475965 +1.0104723218007503 0.7400547795072084 +1.0109246769487288 0.7474423436383801 +1.011377032096707 0.7464910411121736 +1.0118293872446853 0.7519617757062923 +1.0122817423926636 0.75152393727499 +1.012734097540642 0.7533085033600031 +1.0131864526886203 0.752747925336347 +1.0136388078365985 0.7578438157916131 +1.014091162984577 0.7568870389789807 +1.0145435181325553 0.7555011868629141 +1.0149958732805335 0.7562156720962395 +1.015448228428512 0.7550303112136107 +1.0159005835764903 0.7622596293576577 +1.0163529387244685 0.761107937144086 +1.016805293872447 0.7649449012184075 +1.0172576490204253 0.7623506536413477 +1.0177100041684035 0.7680252022898024 +1.0181623593163818 0.7656810814890552 +1.0186147144643602 0.7634241945667086 +1.0190670696123385 0.766221497485825 +1.0195194247603168 0.7632361158463624 +1.0199717799082952 0.7635695803569555 +1.0204241350562735 0.7619163779131797 +1.0208764902042518 0.7691765047210884 +1.0213288453522302 0.766206926005266 +1.0217812005002085 0.7709628817651736 +1.0222335556481867 0.7667864677163989 +1.022685910796165 0.7707760641569535 +1.0231382659441435 0.7690004681975817 +1.0235906210921217 0.7673049417246276 +1.0240429762401002 0.7700358757585185 +1.0244953313880782 0.7679968915847502 +1.024947686536057 0.7674981524530788 +1.0254000416840352 0.766081205341096 +1.0258523968320132 0.7712924171586046 +1.0263047519799917 0.7688152406363317 +1.0267571071279702 0.7725866298150318 +1.0272094622759484 0.7699986134869206 +1.0276618174239267 0.7739675106621406 +1.028114172571905 0.7723726407944431 +1.0285665277198834 0.7712215403334775 +1.0290188828678617 0.7701414391303232 +1.0294712380158402 0.7693156742588814 +1.0299235931638184 0.7691880413694075 +1.0303759483117965 0.7696208050476246 +1.030828303459775 0.7739888375846337 +1.0312806586077534 0.7732960318658284 +1.0317330137557317 0.7747732240799656 +1.03218536890371 0.7733191152372011 +1.0326377240516882 0.7704975658190422 +1.0330900791996667 0.7762576888309617 +1.0335424343476447 0.773053166143872 +1.0339947894956234 0.7746915859615193 +1.0344471446436017 0.7733717633644908 +1.0348994997915797 0.7742330885859657 +1.0353518549395582 0.7729174882914102 +1.0358042100875366 0.7756552874398416 +1.036256565235515 0.7735645935112244 +1.0367089203834932 0.7755075171430923 +1.0371612755314714 0.7751389493434931 +1.03761363067945 0.7735050940909858 +1.0380659858274282 0.7753777254403385 +1.0385183409754066 0.774789283532525 +1.0389706961233849 0.7764542962624901 +1.039423051271363 0.7763013297587017 +1.0398754064193416 0.776230877006221 +1.0403277615673199 0.7753472876371863 +1.0407801167152981 0.7794337290869973 +1.0412324718632764 0.7786369363208401 +1.0416848270112546 0.7792768619513546 +1.0421371821592331 0.7803732884055624 +1.0425895373072114 0.779517892938201 +1.0430418924551899 0.779617461602133 +1.0434942476031681 0.7801447992119944 +1.0439466027511464 0.7836691797515019 +1.0443989578991248 0.7825528158464081 +1.044851313047103 0.7837115583058744 +1.0453036681950814 0.7826486113463353 +1.0457560233430596 0.7848920825454045 +1.046208378491038 0.7850279118904804 +1.0466607336390163 0.7836633975156393 +1.0471130887869946 0.7855353872135563 +1.047565443934973 0.7858270266825274 +1.0480177990829513 0.7865783967577161 +1.0484701542309296 0.7854823427465193 +1.048922509378908 0.7882054402372087 +1.0493748645268863 0.7878231393103862 +1.0498272196748646 0.788933191638267 +1.050279574822843 0.788701147533157 +1.0507319299708213 0.793845977020383 +1.0511842851187996 0.7921959881432441 +1.0516366402667778 0.791056891116253 +1.0520889954147563 0.7952669120340342 +1.0525413505627346 0.7941863787751108 +1.0529937057107128 0.7947314947429909 +1.0534460608586913 0.7949971504568606 +1.0538984160066696 0.798247341848044 +1.0543507711546478 0.7976365097128175 +1.0548031263026263 0.8022415188549066 +1.0552554814506045 0.8010796783527668 +1.0557078365985828 0.8059267548673654 +1.056160191746561 0.8027798369018881 +1.0566125468945395 0.8020050184352943 +1.0570649020425178 0.8013772178243532 +1.057517257190496 0.801263958039873 +1.0579696123384745 0.8062875560291358 +1.0584219674864528 0.8049790855394799 +1.058874322634431 0.8083587034090381 +1.0593266777824095 0.8083015985986519 +1.0597790329303878 0.8103606904353728 +1.060231388078366 0.8102371429290852 +1.0606837432263445 0.8091676058300596 +1.0611360983743228 0.8135352430259265 +1.061588453522301 0.8124826093104616 +1.0620408086702793 0.8139461294613038 +1.0624931638182578 0.814694091135488 +1.062945518966236 0.8197728920590683 +1.0633978741142143 0.8192236811060322 +1.0638502292621927 0.8238269854940945 +1.064302584410171 0.8230013124047504 +1.0647549395581493 0.8279466590840606 +1.0652072947061277 0.8265448113618209 +1.065659649854106 0.8262316451529068 +1.0661120050020843 0.82995773253401 +1.0665643601500625 0.8293272400427789 +1.067016715298041 0.8301478422929395 +1.0674690704460192 0.8306826162580917 +1.0679214255939975 0.8365257179252861 +1.068373780741976 0.8356469354990805 +1.0688261358899542 0.8411926666140918 +1.0692784910379325 0.8402425059942916 +1.069730846185911 0.844166421880349 +1.0701832013338892 0.8411785485242779 +1.0706355564818675 0.8408651177559031 +1.071087911629846 0.8429841246357128 +1.0715402667778242 0.8413419863884354 +1.0719926219258025 0.8412905654553927 +1.0724449770737807 0.8403543332820356 +1.0728973322217592 0.843047090232551 +1.0733496873697375 0.8415048835486513 +1.0738020425177157 0.844555476479622 +1.0742543976656942 0.842339372138111 +1.0747067528136725 0.8416938872252466 +1.0751591079616507 0.8447711482789785 +1.0756114631096292 0.8419740668346445 +1.0760638182576074 0.842230977113324 +1.0765161734055857 0.8419445744374704 +1.076968528553564 0.8423127640642935 +1.0774208837015424 0.8415262014865419 +1.0778732388495207 0.8447898703466586 +1.078325593997499 0.8431496689113844 +1.0787779491454774 0.8445571111386253 +1.0792303042934557 0.8428212201571064 +1.079682659441434 0.8423692647487525 +1.0801350145894124 0.8449008600322624 +1.0805873697373907 0.8446330187937049 +1.081039724885369 0.8451434909560517 +1.0814920800333474 0.8436389948222481 +1.0819444351813257 0.8441066537051554 +1.082396790329304 0.8438062498627638 +1.0828491454772822 0.845655966393093 +1.0833015006252606 0.8452553167391018 +1.083753855773239 0.8436588472978436 +1.0842062109212172 0.8476946852913011 +1.0846585660691956 0.8474044974071023 +1.085110921217174 0.8490018156973644 +1.0855632763651522 0.8481211990933724 +1.0860156315131306 0.847411539932603 +1.0864679866611089 0.8473831277378946 +1.0869203418090871 0.8467095383020338 +1.0873726969570654 0.846523815859184 +1.0878250521050439 0.8494014112911445 +1.0882774072530221 0.8497419101819896 +1.0887297624010004 0.8483713830206243 +1.0891821175489789 0.850230158330569 +1.0896344726969571 0.85015410543624 +1.0900868278449354 0.8524768921465872 +1.0905391829929139 0.8521791785156246 +1.0909915381408921 0.8525813419580734 +1.0914438932888704 0.8514788389365604 +1.0918962484368486 0.8518377896451211 +1.092348603584827 0.8514100402720518 +1.0928009587328054 0.8533390382191746 +1.0932533138807836 0.8530725378659945 +1.093705669028762 0.852676785436838 +1.0941580241767404 0.8545841335980714 +1.0946103793247186 0.8537409103484407 +1.095062734472697 0.8562323408355321 +1.0955150896206753 0.8556225535590158 +1.0959674447686536 0.8548668084884273 +1.096419799916632 0.8551181528460211 +1.0968721550646103 0.854808455247836 +1.0973245102125886 0.8551151191530945 +1.0977768653605668 0.8550917341622564 +1.0982292205085453 0.857478120178871 +1.0986815756565236 0.8556569037613486 +1.0991339308045018 0.8576455329042102 +1.0995862859524803 0.8584354682386235 +1.1000386411004586 0.8716274600409568 +1.1004909962484368 0.8783449364874074 +1.1009433513964153 0.8714257423369922 +1.1013957065443936 0.8708834528245116 +1.1018480616923718 0.8734853438753533 +1.10230041684035 0.8729462131295019 +1.1027527719883286 0.8734107950336185 +1.1032051271363068 0.8735099105494933 +1.103657482284285 0.8740356828464924 +1.1041098374322635 0.8741474663585407 +1.1045621925802418 0.874056703109611 +1.10501454772822 0.876537467205318 +1.1054669028761985 0.8754824409584142 +1.1059192580241768 0.876509006477695 +1.106371613172155 0.8759868453889541 +1.1068239683201335 0.8763155957420368 +1.1072763234681118 0.877237375110861 +1.10772867861609 0.876918114646428 +1.1081810337640683 0.877651621819244 +1.1086333889120468 0.8768470850390007 +1.109085744060025 0.8784207602676618 +1.1095380992080033 0.8792057901097149 +1.1099904543559818 0.8798618447231144 +1.11044280950396 0.8795410712036403 +1.1108951646519383 0.8801917300846027 +1.1113475197999167 0.8792003141286979 +1.111799874947895 0.8779040334934153 +1.1122522300958733 0.88032182370925 +1.1127045852438515 0.8801671135305825 +1.11315694039183 0.8810142878432391 +1.1136092955398083 0.8804025549586723 +1.1140616506877865 0.880443224959559 +1.114514005835765 0.8797014691327518 +1.1149663609837432 0.8820258892465636 +1.1154187161317215 0.8807611886657584 +1.1158710712797 0.8818447375946971 +1.1163234264276782 0.8818968998682161 +1.1167757815756565 0.8800412107638291 +1.117228136723635 0.8823794934453467 +1.1176804918716132 0.8823662544714336 +1.1181328470195915 0.8831452422268589 +1.1185852021675697 0.8813385333181907 +1.1190375573155482 0.8846816094759902 +1.1194899124635265 0.8835633058125241 +1.1199422676115047 0.8855213496428496 +1.1203946227594832 0.8848936973026885 +1.1208469779074615 0.8827821702273276 +1.1212993330554397 0.8850621822396845 +1.1217516882034182 0.8848110628087409 +1.1222040433513965 0.8871806896304903 +1.1226563984993747 0.8868833278936574 +1.123108753647353 0.8879607726900035 +1.1235611087953314 0.8871874051232321 +1.1240134639433097 0.8883357184557208 +1.124465819091288 0.8884321078367102 +1.1249181742392664 0.8894742077668234 +1.1253705293872447 0.8893296915336929 +1.125822884535223 0.8887005893187682 +1.1262752396832014 0.8877911949149108 +1.1267275948311797 0.8881553908127899 +1.127179949979158 0.8878910981654644 +1.1276323051271366 0.8888045878896433 +1.1280846602751147 0.8889658119750924 +1.128537015423093 0.8887157922516562 +1.1289893705710712 0.8901144566679032 +1.1294417257190497 0.8900577485941018 +1.1298940808670281 0.8904091058104011 +1.1303464360150062 0.8896090639785764 +1.1307987911629847 0.8898700520151818 +1.131251146310963 0.8888456577082937 +1.1317035014589412 0.8877251571350812 +1.1321558566069199 0.8916578736731924 +1.132608211754898 0.8911874877591194 +1.1330605669028762 0.8907072788863415 +1.1335129220508544 0.8892850314580888 +1.1339652771988329 0.8904691918579084 +1.1344176323468114 0.888886381568434 +1.1348699874947894 0.8885275538319688 +1.1353223426427679 0.8896845876036744 +1.1357746977907464 0.8883103156907737 +1.1362270529387244 0.8875088265172849 +1.136679408086703 0.8868946458904163 +1.1371317632346811 0.8895004191352733 +1.1375841183826594 0.8870061642283663 +1.138036473530638 0.8874534095299373 +1.1384888286786161 0.8857373447339667 +1.1389411838265946 0.8857797971945299 +1.1393935389745726 0.8844376437977671 +1.139845894122551 0.8844297087241125 +1.1402982492705296 0.8846845550764065 +1.1407506044185076 0.8821758653694814 +1.1412029595664863 0.8823611073179491 +1.1416553147144646 0.8811292111810404 +1.1421076698624426 0.8818592061254065 +1.1425600250104213 0.8800651208237089 +1.1430123801583993 0.881843357834175 +1.1434647353063778 0.8799611824860222 +1.143917090454356 0.8794902285901862 +1.1443694456023343 0.8782099520201399 +1.1448218007503128 0.8773647898372486 +1.1452741558982908 0.8762732544120745 +1.1457265110462695 0.8745343659202139 +1.1461788661942478 0.8751119094891121 +1.1466312213422258 0.8738459834970662 +1.1470835764902045 0.8753754069158113 +1.1475359316381826 0.874211818528114 +1.147988286786161 0.8731674514483909 +1.1484406419341395 0.8719306881736826 +1.1488929970821176 0.8701037017294188 +1.149345352230096 0.870215697969408 +1.1497977073780743 0.8693120481815235 +1.1502500625260528 0.8696528931369382 +1.150702417674031 0.8693901686823842 +1.151154772822009 0.8706166302108828 +1.1516071279699878 0.8696776555074951 +1.152059483117966 0.8713786381258508 +1.1525118382659443 0.8706351440488497 +1.1529641934139228 0.8724754117897001 +1.1534165485619008 0.8723900820687747 +1.1538689037098793 0.8732287958549116 +1.1543212588578575 0.8728153716811851 +1.154773614005836 0.8733416478367485 +1.1552259691538143 0.8732963985014692 +1.1556783243017925 0.8738104378740563 +1.156130679449771 0.8744049842265769 +1.1565830345977492 0.8745041353895072 +1.1570353897457275 0.8761541712479274 +1.157487744893706 0.8758264448229454 +1.1579401000416842 0.8768397537448607 +1.1583924551896625 0.875952952720855 +1.158844810337641 0.8757614579043562 +1.1592971654856192 0.8772392938376347 +1.1597495206335975 0.8767349941724574 +1.1602018757815757 0.8775453973366284 +1.1606542309295542 0.8757317043227668 +1.1611065860775325 0.875918943374337 +1.1615589412255107 0.8755464162019844 +1.1620112963734892 0.8754115170641944 +1.1624636515214675 0.87445466503928 +1.1629160066694457 0.8730053516467505 +1.1633683618174242 0.8741404937512975 +1.1638207169654025 0.8727634628315206 +1.1642730721133807 0.8727954665100492 +1.164725427261359 0.8721133185815151 +1.1651777824093374 0.8709848021227361 +1.1656301375573157 0.869254723170957 +1.166082492705294 0.8690976351435132 +1.1665348478532724 0.8685042179614217 +1.1669872030012507 0.8689672442911422 +1.167439558149229 0.8681151107065282 +1.1678919132972074 0.8677592145964517 +1.1683442684451857 0.8665526904527432 +1.168796623593164 0.8654578751866527 +1.1692489787411424 0.8646686598289562 +1.1697013338891207 0.8646633733278171 +1.170153689037099 0.8642807943936508 +1.1706060441850772 0.864540385970299 +1.1710583993330557 0.8649697648727416 +1.171510754481034 0.8652242313732229 +1.1719631096290122 0.8652330498615346 +1.1724154647769907 0.8656698007602632 +1.172867819924969 0.865851867261304 +1.1733201750729472 0.8664982327999288 +1.1737725302209256 0.8669659318556395 +1.174224885368904 0.8667006794768983 +1.1746772405168822 0.8673139022646388 +1.1751295956648604 0.867296195685353 +1.175581950812839 0.8673604055867479 +1.1760343059608172 0.8682029215849922 +1.1764866611087954 0.8675962763931965 +1.1769390162567739 0.8679925689784911 +1.1773913714047521 0.8684563839031455 +1.1778437265527304 0.869554498991647 +1.1782960817007089 0.8692582483752521 +1.1787484368486871 0.869868855484014 +1.1792007919966654 0.8693757384672652 +1.1796531471446436 0.8697748263214495 +1.1801055022926221 0.8697084593837217 +1.1805578574406004 0.8696852297645807 +1.1810102125885786 0.8689779738524102 +1.1814625677365571 0.8693808327688768 +1.1819149228845354 0.8700156993780768 +1.1823672780325136 0.8694264667953171 +1.182819633180492 0.8694563535691807 +1.1832719883284704 0.8693842831751648 +1.1837243434764486 0.8695369553411677 +1.184176698624427 0.8680048993316213 +1.1846290537724053 0.868288670754339 +1.1850814089203836 0.8679559835134999 +1.1855337640683619 0.8678284474746311 +1.1859861192163403 0.8672236299187891 +1.1864384743643186 0.866865769265882 +1.1868908295122969 0.8678062740910071 +1.1873431846602753 0.866855734890171 +1.1877955398082536 0.8682009462350914 +1.1882478949562318 0.8670348265994795 +1.1887002501042103 0.8681795330390216 +1.1891526052521886 0.8632898536580654 +1.1896049604001668 0.8647410199766463 +1.190057315548145 0.862658439484089 +1.1905096706961236 0.8664776121574558 +1.1909620258441018 0.8696549519365611 +1.19141438099208 0.8652277500995504 +1.1918667361400586 0.8691650121087529 +1.1923190912880368 0.8667871278810597 +1.192771446436015 0.8696801397092756 +1.1932238015839935 0.8691170073172735 +1.1936761567319718 0.8703939113807732 +1.19412851187995 0.8735783193471253 +1.1945808670279285 0.8724918044005809 +1.1950332221759068 0.8747046511609361 +1.195485577323885 0.8717878453536321 +1.1959379324718633 0.8690811962196823 +1.1963902876198418 0.8738878804076284 +1.19684264276782 0.8717659583333699 +1.1972949979157983 0.8757831257613516 +1.1977473530637768 0.873432309781344 +1.198199708211755 0.8736227987102686 +1.1986520633597333 0.8698926080036697 +1.1991044185077118 0.8740690045654864 +1.19955677365569 0.871773829208109 +1.2000091288036683 0.8738034189137245 +1.2004614839516465 0.8696027890182002 +1.200913839099625 0.8661765571580072 +1.2013661942476033 0.8694081724525821 +1.2018185493955815 0.866978431231584 +1.20227090454356 0.8701593831311395 +1.2027232596915383 0.8661533651553804 +1.2031756148395165 0.8682732362656145 +1.203627969987495 0.8656758380252559 +1.2040803251354733 0.8681654881780956 +1.2045326802834515 0.8663367902274796 +1.20498503543143 0.8644844372757894 +1.2054373905794082 0.86203925729101 +1.2058897457273865 0.8576652454906784 +1.2063421008753648 0.8624600610236467 +1.2067944560233432 0.8612456721844114 +1.2072468111713215 0.8629444838975221 +1.2076991663192997 0.8607428920866903 +1.2081515214672782 0.8603416578014665 +1.2086038766152565 0.8571740628298398 +1.2090562317632347 0.8594923570149118 +1.2095085869112132 0.8577378841662909 +1.2099609420591915 0.855990847330448 +1.2104132972071697 0.8559473313097498 +1.210865652355148 0.8524650085883113 +1.2113180075031265 0.8557990762098148 +1.2117703626511047 0.8530761730865011 +1.212222717799083 0.8544883894794034 +1.2126750729470614 0.8519642544668833 +1.2131274280950397 0.853602055697297 +1.213579783243018 0.8520997148666077 +1.2140321383909964 0.8540915081859292 +1.2144844935389747 0.8520558904345406 +1.214936848686953 0.8509697357069412 +1.2153892038349314 0.8499239314254171 +1.2158415589829097 0.8470891646862837 +1.216293914130888 0.849527394591511 +1.2167462692788662 0.8482768711826634 +1.2171986244268447 0.8488152441581457 +1.217650979574823 0.8469956623172717 +1.2181033347228012 0.8470772480204279 +1.2185556898707797 0.8460868305549113 +1.219008045018758 0.8448727621460277 +1.2194604001667362 0.8453606802081844 +1.2199127553147147 0.8447904114127751 +1.220365110462693 0.8451786297685819 +1.2208174656106712 0.8444580310378895 +1.2212698207586494 0.8443639798592838 +1.221722175906628 0.8432436028420106 +1.2221745310546062 0.8433728547865271 +1.2226268862025844 0.8422418553389494 +1.223079241350563 0.8427709450195421 +1.2235315964985412 0.8415536502435921 +1.2239839516465194 0.8396658409834266 +1.2244363067944979 0.840619897095482 +1.2248886619424761 0.8399678763266094 +1.2253410170904544 0.8404659242405783 +1.2257933722384329 0.8390082783226249 +1.2262457273864111 0.8394595559942266 +1.2266980825343894 0.8381620686125504 +1.2271504376823676 0.8389916183179441 +1.2276027928303461 0.8384522898009947 +1.2280551479783244 0.8380869313428319 +1.2285075031263026 0.8377126716744485 +1.2289598582742811 0.8365403752246685 +1.2294122134222594 0.8370227843356052 +1.2298645685702376 0.8367207150955751 +1.230316923718216 0.8366608666709097 +1.2307692788661944 0.8363204045147097 +1.2312216340141726 0.8359333367899293 +1.2316739891621509 0.8348859225894136 +1.2321263443101294 0.8348092053513494 +1.2325786994581076 0.8343461075040973 +1.2330310546060859 0.8336522777925809 +1.2334834097540643 0.8336412779988206 +1.2339357649020426 0.8326305268241947 +1.2343881200500209 0.8322393645174196 +1.2348404751979993 0.8322674560623817 +1.2352928303459776 0.8318660406320094 +1.2357451854939558 0.8313517848060367 +1.236197540641934 0.8318952941601766 +1.2366498957899126 0.830875153362703 +1.2371022509378908 0.8312742629575274 +1.237554606085869 0.8304693429012837 +1.2380069612338476 0.8295090966416381 +1.2384593163818258 0.8295679038282144 +1.238911671529804 0.8282608298776991 +1.2393640266777826 0.828605429565149 +1.2398163818257608 0.8287556185757248 +1.240268736973739 0.8289109466800688 +1.2407210921217176 0.8281223212188101 +1.2411734472696958 0.827633597500849 +1.241625802417674 0.8272008369589718 +1.2420781575656523 0.826759053990559 +1.2425305127136308 0.8271004359390502 +1.242982867861609 0.8269217126707811 +1.2434352230095873 0.8265628126347221 +1.2438875781575658 0.8262088148660518 +1.244339933305544 0.8259280419556706 +1.2447922884535223 0.8258322287783887 +1.2452446436015008 0.8256920687948747 +1.245696998749479 0.8254705974786076 +1.2461493538974573 0.8245911733862887 +1.2466017090454355 0.8248140421479954 +1.247054064193414 0.8237232596629083 +1.2475064193413923 0.8235266095731241 +1.2479587744893705 0.8239332941933337 +1.248411129637349 0.8235078178361697 +1.2488634847853273 0.8226781306530895 +1.2493158399333055 0.8229948074168921 +1.249768195081284 0.822147764700741 +1.2502205502292623 0.8227158312787055 +1.2506729053772405 0.8217304867851029 +1.251125260525219 0.8212305031518212 +1.2515776156731973 0.8201085106568126 +1.2520299708211755 0.8196842580811743 +1.2524823259691538 0.8195508614795031 +1.2529346811171322 0.8193842411981523 +1.2533870362651105 0.8188619771617864 +1.2538393914130888 0.8184027615884013 +1.2542917465610672 0.8189562364275694 +1.2547441017090455 0.8180293154923624 +1.2551964568570237 0.8177936886992095 +1.2556488120050022 0.8171389657888127 +1.2561011671529805 0.8173197853163426 +1.2565535223009587 0.8163080864175928 +1.257005877448937 0.8162347756123229 +1.2574582325969155 0.815427427642108 +1.2579105877448937 0.8161396592079169 +1.258362942892872 0.8158537687235277 +1.2588152980408505 0.8149235481352354 +1.2592676531888287 0.814610974557495 +1.259720008336807 0.8143266920657765 +1.2601723634847855 0.8145952475853376 +1.2606247186327637 0.8140046559922053 +1.261077073780742 0.8136124983218541 +1.2615294289287204 0.8141540864041208 +1.2619817840766987 0.8136755328575102 +1.262434139224677 0.8140210541588754 +1.2628864943726552 0.8133960460525386 +1.2633388495206337 0.8134300294290349 +1.263791204668612 0.8129225572574579 +1.2642435598165902 0.8133302768620705 +1.2646959149645687 0.8126236301610196 +1.265148270112547 0.8127434605531123 +1.2656006252605252 0.8133678233300821 +1.2660529804085037 0.8130153735070508 +1.266505335556482 0.81298839810111 +1.2669576907044602 0.8125113593718142 +1.2674100458524384 0.8122769759662508 +1.267862401000417 0.8126091683388584 +1.2683147561483952 0.8125391155584027 +1.2687671112963734 0.8113727496028642 +1.269219466444352 0.8119465499043712 +1.2696718215923302 0.8111594337164234 +1.2701241767403084 0.811512086069288 +1.270576531888287 0.811269706575495 +1.2710288870362652 0.8113089621577139 +1.2714812421842434 0.8113077630962617 +1.2719335973322219 0.8110854200516198 +1.2723859524802001 0.8102631493705564 +1.2728383076281784 0.8105953117906676 +1.2732906627761567 0.8103520068495023 +1.2737430179241351 0.8104506016823485 +1.2741953730721134 0.8101461509864624 +1.2746477282200916 0.809413476046501 +1.2751000833680701 0.8094681067239046 +1.2755524385160484 0.8088962898079763 +1.2760047936640266 0.8087735829819245 +1.2764571488120051 0.8091416808154499 +1.2769095039599834 0.8091098305965098 +1.2773618591079616 0.8082850452039412 +1.2778142142559399 0.8085083027373241 +1.2782665694039184 0.8087102471614079 +1.2787189245518966 0.808776223669177 +1.2791712796998749 0.8069487850871278 +1.2796236348478534 0.8072553619376144 +1.2800759899958316 0.8076441969139259 +1.2805283451438099 0.8070811302662834 +1.2809807002917883 0.8072150298909169 +1.2814330554397666 0.8065946444224993 +1.2818854105877449 0.8064442175214767 +1.2823377657357233 0.8054123655243417 +1.2827901208837016 0.8057481620808704 +1.2832424760316798 0.8060594825536583 +1.283694831179658 0.8062394081422254 +1.2841471863276366 0.8060170343631462 +1.2845995414756148 0.8054884698405602 +1.285051896623593 0.8055876841815838 +1.2855042517715716 0.8048790136813806 +1.2859566069195498 0.8052454498605077 +1.286408962067528 0.8043011676762348 +1.2868613172155066 0.8046582081830647 +1.2873136723634848 0.8039104696289527 +1.287766027511463 0.8043233799772816 +1.2882183826594413 0.8039453019216406 +1.2886707378074198 0.804072744098876 +1.289123092955398 0.8043135186564332 +1.2895754481033763 0.8038450791795164 +1.2900278032513548 0.8038654460860037 +1.290480158399333 0.8038846921009033 +1.2909325135473113 0.8038790306648136 +1.2913848686952898 0.8041711260624705 +1.291837223843268 0.8037797606233057 +1.2922895789912463 0.8034106212584274 +1.2927419341392246 0.8035483621744478 +1.293194289287203 0.8032647686258366 +1.2936466444351813 0.8039749651734897 +1.2940989995831595 0.8037685662342371 +1.294551354731138 0.8037525018641357 +1.2950037098791163 0.8037062909713932 +1.2954560650270945 0.8041049029873493 +1.295908420175073 0.8041205223208814 +1.2963607753230513 0.8040249131969951 +1.2968131304710295 0.804396977189378 +1.297265485619008 0.8040051450175995 +1.2977178407669863 0.804469414265096 +1.2981701959149645 0.8045443396030256 +1.2986225510629428 0.8049805944382753 +1.2990749062109213 0.8050979548988764 +1.2995272613588995 0.8046954375971995 +1.2999796165068778 0.8047763410083324 +1.3004319716548562 0.8046903226037638 +1.3008843268028345 0.8055282414468379 +1.3013366819508128 0.8057491768772135 +1.3017890370987912 0.8051374785726993 +1.3022413922467695 0.8051998206094076 +1.3026937473947477 0.805258605954467 +1.303146102542726 0.8054359598704005 +1.3035984576907045 0.8054792921253217 +1.3040508128386827 0.8056723476960052 +1.304503167986661 0.8059063306070425 +1.3049555231346395 0.8063945554086852 +1.3054078782826177 0.8055488842333435 +1.305860233430596 0.8060412861488849 +1.3063125885785745 0.8059923769182218 +1.3067649437265527 0.8063258250778624 +1.307217298874531 0.8051472646364347 +1.3076696540225095 0.8055994400321166 +1.3081220091704877 0.8061710910841549 +1.308574364318466 0.8057121506564614 +1.3090267194664442 0.8062756286927174 +1.3094790746144227 0.8056677449286511 +1.309931429762401 0.8055305706966549 +1.3103837849103792 0.8047173343216829 +1.3108361400583577 0.8054846653733952 +1.311288495206336 0.8047236362439714 +1.3117408503543142 0.8055522910256816 +1.3121932055022927 0.806356652706276 +1.312645560650271 0.8044728370286452 +1.3130979157982492 0.8049907871559705 +1.3135502709462274 0.8050881431583317 +1.314002626094206 0.8052936451992093 +1.3144549812421842 0.8037633751330843 +1.3149073363901624 0.8044047219675526 +1.315359691538141 0.8031291110112471 +1.3158120466861192 0.8040743569589444 +1.3162644018340974 0.8040358091283124 +1.316716756982076 0.8038792267808625 +1.3171691121300542 0.8051399017380819 +1.3176214672780324 0.8032735087090072 +1.318073822426011 0.804199176713941 +1.3185261775739892 0.8028932145645882 +1.3189785327219674 0.8036365392943765 +1.3194308878699457 0.8015084138183444 +1.3198832430179241 0.8028766506015814 +1.3203355981659024 0.8020588696032385 +1.3207879533138807 0.8017150050906853 +1.3212403084618591 0.8014612209621897 +1.3216926636098374 0.8019974846961556 +1.3221450187578156 0.8033298774801166 +1.3225973739057941 0.8012582709838167 +1.3230497290537724 0.801619449853585 +1.3235020842017506 0.8008784715819118 +1.323954439349729 0.8011798921144531 +1.3244067944977074 0.7997137596100751 +1.3248591496456856 0.8000409726239497 +1.3253115047936639 0.7996751919242878 +1.3257638599416424 0.7995560339600354 +1.3262162150896206 0.8003002510526847 +1.3266685702375989 0.8000369457410464 +1.3271209253855774 0.8006407482486364 +1.3275732805335556 0.7996264575164994 +1.3280256356815339 0.8001906866122941 +1.3284779908295123 0.7993625494477808 +1.3289303459774906 0.7998330809828126 +1.3293827011254689 0.7987968345178412 +1.3298350562734471 0.7996286072516152 +1.3302874114214256 0.7993424852559832 +1.3307397665694038 0.7995688756718021 +1.331192121717382 0.8006568639478177 +1.3316444768653606 0.8005794266368313 +1.3320968320133388 0.8014687033017875 +1.332549187161317 0.8002724064937248 +1.3330015423092956 0.8014305696244037 +1.3334538974572738 0.8002843855164125 +1.333906252605252 0.8010276920529313 +1.3343586077532303 0.8011876085252614 +1.3348109629012088 0.8036375724132762 +1.3352633180491873 0.8040107426430105 +1.3357156731971653 0.8028411123096825 +1.3361680283451438 0.8049967832550096 +1.336620383493122 0.8063195533415866 +1.3370727386411003 0.8088259467404642 +1.337525093789079 0.8055395719860949 +1.337977448937057 0.8088489142939868 +1.3384298040850353 0.8047688830399047 +1.3388821592330138 0.8063997049248823 +1.339334514380992 0.8049412824184455 +1.3397868695289705 0.8078415650430191 +1.3402392246769486 0.8103672558371956 +1.340691579824927 0.8054477274465 +1.3411439349729053 0.8071995037617679 +1.3415962901208836 0.8032120503184456 +1.3420486452688623 0.805134102691236 +1.3425010004168403 0.8019336050281929 +1.3429533555648185 0.8030172130377592 +1.343405710712797 0.7982488206533511 +1.3438580658607753 0.7988734586121186 +1.3443104210087538 0.7976308807833228 +1.3447627761567318 0.799110196695108 +1.3452151313047103 0.8013593133809165 +1.3456674864526885 0.7941519770023959 +1.3461198416006668 0.7955522264850086 +1.3465721967486455 0.7927365920150141 +1.3470245518966237 0.7938719511636816 +1.3474769070446018 0.7924863168298374 +1.3479292621925802 0.7939581136544543 +1.3483816173405585 0.7824149509500475 +1.348833972488537 0.7852192691149109 +1.3492863276365155 0.7862589725532568 +1.3497386827844935 0.7825358952525738 +1.3501910379324717 0.7843763160382785 +1.35064339308045 0.7772870655537002 +1.3510957482284287 0.777314792635694 +1.351548103376407 0.7752930813649883 +1.352000458524385 0.7741413129492071 +1.3524528136723635 0.7673734789064074 +1.3529051688203417 0.7680348549596642 +1.3533575239683202 0.7684564327339409 +1.3538098791162987 0.768092666060954 +1.3542622342642767 0.7675415316640811 +1.354714589412255 0.7662127732951787 +1.3551669445602332 0.7676374981064958 +1.355619299708212 0.7505245402421784 +1.3560716548561902 0.7535854217433224 +1.3565240100041682 0.7530534804632022 +1.3569763651521467 0.750423840116202 +1.357428720300125 0.7489104214306167 +1.3578810754481034 0.7482949308834047 +1.358333430596082 0.7427283898426325 +1.35878578574406 0.7419416625421928 +1.3592381408920382 0.7390401842395916 +1.3596904960400165 0.7373799481477172 +1.3601428511879952 0.7348073192078987 +1.3605952063359734 0.7456870212926165 +1.3610475614839517 0.7426092613132889 +1.36149991663193 0.7521934214685215 +1.3619522717799082 0.7513100917968427 +1.3624046269278867 0.7477284936293507 +1.3628569820758651 0.747944970823692 +1.3633093372238434 0.7481856667153114 +1.3637616923718214 0.7564371856273021 +1.3642140475198 0.7563867913065572 +1.3646664026677784 0.7588608344975509 +1.3651187578157566 0.7596472359609183 +1.365571112963735 0.7545514882380919 +1.3660234681117132 0.7553223193125644 +1.3664758232596914 0.7621966944408437 +1.36692817840767 0.7607249515292483 +1.3673805335556484 0.7688672551106954 +1.3678328887036266 0.7670322447374923 +1.3682852438516047 0.7670018156602271 +1.3687375989995831 0.7690536784397157 +1.3691899541475616 0.7695187263161845 +1.3696423092955399 0.7729389409433253 +1.3700946644435184 0.7723222941113603 +1.3705470195914964 0.7749856623289836 +1.3709993747394746 0.7757199639590137 +1.3714517298874531 0.7752169018041509 +1.3719040850354316 0.7764504104003869 +1.3723564401834099 0.767755103025573 +1.3728087953313879 0.7717116755470861 +1.3732611504793664 0.7759035136468659 +1.3737135056273448 0.7655795178148034 +1.374165860775323 0.7707773736315906 +1.3746182159233016 0.7569087485926539 +1.3750705710712798 0.7636985897091703 +1.3755229262192579 0.7551378535036803 +1.3759752813672363 0.760610619493154 +1.3764276365152148 0.7382728417370533 +1.376879991663193 0.7429516218018775 +1.3773323468111713 0.746593483567533 +1.3777847019591496 0.7407438829572331 +1.378237057107128 0.7428895319159321 +1.3786894122551063 0.7332311684086424 +1.3791417674030848 0.7325257700469312 +1.379594122551063 0.7359383678915001 +1.380046477699041 0.733944415206685 +1.3804988328470196 0.7450463071622963 +1.380951187994998 0.7426328744789427 +1.3814035431429763 0.7459072232245149 +1.3818558982909546 0.7455184304820165 +1.3823082534389328 0.7438852028638763 +1.3827606085869113 0.7541578279049557 +1.3832129637348896 0.7514030572243944 +1.383665318882868 0.7596601478940137 +1.3841176740308463 0.7586166030085885 +1.3845700291788243 0.7685754211214353 +1.385022384326803 0.7671141174644882 +1.3854747394747813 0.7653997390869722 +1.3859270946227595 0.7680423355281556 +1.3863794497707378 0.7673969862141784 +1.386831804918716 0.7690504341192831 +1.3872841600666945 0.7675363262900727 +1.3877365152146728 0.7756845194378029 +1.3881888703626513 0.7759698572901386 +1.3886412255106295 0.7745519782995838 +1.3890935806586078 0.7778620133745653 +1.3895459358065863 0.7723992709898669 +1.3899982909545645 0.7756320321851936 +1.3904506461025428 0.7659683946328951 +1.390903001250521 0.7666647927890512 +1.3913553563984995 0.7654268522998098 +1.3918077115464778 0.7800653112204782 +1.392260066694456 0.7780020137134432 +1.3927124218424345 0.7807678075174667 +1.3931647769904127 0.7795048270751924 +1.393617132138391 0.7734697217412438 +1.3940694872863695 0.7745275079613364 +1.3945218424343477 0.7738475057545802 +1.394974197582326 0.7732455706651197 +1.3954265527303045 0.7798604152206754 +1.3958789078782827 0.77667108365579 +1.396331263026261 0.7749846421687452 +1.3967836181742392 0.7830070619588005 +1.3972359733222177 0.7820612688541364 +1.397688328470196 0.7821495620707172 +1.3981406836181742 0.781923472093177 +1.3985930387661527 0.7740998413025691 +1.399045393914131 0.7739348224951037 +1.3994977490621092 0.785355429214237 +1.3999501042100877 0.7819512734175269 +1.400402459358066 0.7884876027968772 +1.4008548145060442 0.787230810033942 +1.4013071696540225 0.7867718314324335 +1.401759524802001 0.7863222211393008 +1.4022118799499792 0.786884499528681 +1.4026642350979575 0.7859847537804187 +1.403116590245936 0.7858981129122665 +1.4035689453939142 0.7819307854227574 +1.4040213005418924 0.7801126573001522 +1.404473655689871 0.795876737903494 +1.4049260108378492 0.7931800777920331 +1.4053783659858274 0.7918424393285151 +1.405830721133806 0.792027327238016 +1.4062830762817842 0.7902842777521003 +1.4067354314297624 0.8006999475390393 +1.4071877865777407 0.7994996897700243 +1.4076401417257192 0.7991244608258059 +1.4080924968736974 0.7994857804809413 +1.4085448520216757 0.8031518922145707 +1.4089972071696542 0.8023522195890804 +1.4094495623176324 0.8078134695717522 +1.4099019174656107 0.8062599507736229 +1.4103542726135891 0.8050682043935399 +1.4108066277615674 0.8050292405874591 +1.4112589829095457 0.8038601840901913 +1.411711338057524 0.8053557667333796 +1.4121636932055024 0.8044952572652793 +1.4126160483534806 0.8020429006779812 +1.413068403501459 0.8013515599603055 +1.4135207586494374 0.8059811578539907 +1.4139731137974156 0.8033123596314428 +1.4144254689453941 0.8074897172065328 +1.4148778240933724 0.8066253247346481 +1.4153301792413506 0.8047053131203353 +1.4157825343893289 0.8049310188489305 +1.4162348895373074 0.8040189599455606 +1.4166872446852858 0.8054431384587852 +1.4171395998332639 0.8045298040165421 +1.4175919549812421 0.8039625587886206 +1.4180443101292206 0.803430489137931 +1.4184966652771989 0.8081573839188662 +1.4189490204251773 0.8056976325535836 +1.4194013755731556 0.8051906586919217 +1.4198537307211339 0.8083903381026102 +1.4203060858691121 0.8069957990006457 +1.4207584410170906 0.8080066991981208 +1.421210796165069 0.8081320058409708 +1.421663151313047 0.8081580353385845 +1.4221155064610254 0.808159191417691 +1.4225678616090038 0.8096380749446384 +1.423020216756982 0.8096800116748132 +1.4234725719049606 0.8109474344233747 +1.4239249270529388 0.8107676976959101 +1.424377282200917 0.8104973881445943 +1.4248296373488953 0.8119234653134189 +1.4252819924968738 0.8122887580255717 +1.4257343476448523 0.8121717984992115 +1.4261867027928303 0.8121804173697028 +1.4266390579408088 0.8123935987789414 +1.427091413088787 0.812001910189727 +1.4275437682367653 0.8141608118661849 +1.4279961233847438 0.8139167998514819 +1.4284484785327223 0.8143257477539653 +1.4289008336807003 0.814301139577631 +1.4293531888286786 0.8143378782932714 +1.429805543976657 0.8155263962259656 +1.4302578991246355 0.8151523438825166 +1.4307102542726138 0.8156960122523594 +1.431162609420592 0.8159287841772792 +1.4316149645685703 0.8180805997992795 +1.4320673197165485 0.8172454917856907 +1.432519674864527 0.8188094779699623 +1.4329720300125055 0.8184082477159754 +1.4334243851604835 0.8177763094806519 +1.4338767403084618 0.8188655133308644 +1.4343290954564403 0.8181475744457473 +1.4347814506044188 0.8206484654308932 +1.435233805752397 0.8206630003510706 +1.4356861609003753 0.820336477780584 +1.4361385160483535 0.820165067430777 +1.4365908711963318 0.820575133019328 +1.4370432263443105 0.8201574537002962 +1.4374955814922887 0.8227683157244635 +1.4379479366402668 0.823009284149378 +1.438400291788245 0.8227089305031838 +1.4388526469362235 0.8229293463607358 +1.439305002084202 0.8230069610562878 +1.4397573572321802 0.8213982134582432 +1.4402097123801585 0.821547878993663 +1.4406620675281367 0.8222285060706007 +1.441114422676115 0.8216918390901405 +1.4415667778240937 0.8228445573542611 +1.442019132972072 0.8213306811373545 +1.4424714881200502 0.8231261512012052 +1.4429238432680283 0.8222924987883323 +1.4433761984160067 0.8218499858278251 +1.4438285535639852 0.8222241629143706 +1.4442809087119635 0.8223065073058966 +1.444733263859942 0.8205521604228707 +1.44518561900792 0.8197235173594214 +1.4456379741558982 0.8207883339706394 +1.446090329303877 0.8205032496581941 +1.4465426844518552 0.8203732118360827 +1.4469950395998334 0.8200139127741521 +1.4474473947478115 0.8192820931789084 +1.44789974989579 0.8184578706914717 +1.4483521050437684 0.8183652691277312 +1.4488044601917467 0.8169294911985848 +1.4492568153397252 0.8166752559131705 +1.4497091704877032 0.8161918990291411 +1.4501615256356815 0.8154585898244607 +1.4506138807836602 0.8160879552146375 +1.4510662359316384 0.8151131901887537 +1.4515185910796167 0.8134600667974355 +1.451970946227595 0.8129284799472294 +1.4524233013755732 0.8130757457619492 +1.4528756565235517 0.8115937151678564 +1.45332801167153 0.8104965052740839 +1.4537803668195084 0.808655165837974 +1.4542327219674867 0.8080070609264584 +1.4546850771154647 0.8059166035991858 +1.4551374322634434 0.8061207044876498 +1.4555897874114216 0.8033987704209412 +1.4560421425594 0.8034373794830182 +1.4564944977073784 0.8021097985008532 +1.4569468528553564 0.8024410863909849 +1.457399208003335 0.802677473329394 +1.4578515631513134 0.7992622348959894 +1.4583039182992916 0.798922129656909 +1.4587562734472699 0.7963614963068519 +1.459208628595248 0.7965873786161096 +1.4596609837432266 0.7941904049353262 +1.4601133388912049 0.7938595306137366 +1.4605656940391831 0.7928292338839643 +1.4610180491871616 0.7932453040483728 +1.4614704043351396 0.7943856953813371 +1.4619227594831181 0.7950949237636883 +1.4623751146310966 0.7954425653539147 +1.4628274697790749 0.794868101487531 +1.463279824927053 0.796213554789424 +1.4637321800750311 0.7938015735826738 +1.4641845352230098 0.7951229993259923 +1.464636890370988 0.7936016720164524 +1.4650892455189664 0.7949759336615321 +1.4655416006669448 0.7941845921426972 +1.4659939558149229 0.7955263894647575 +1.4664463109629013 0.7965995188507458 +1.4668986661108798 0.7953111775011712 +1.467351021258858 0.7967665765656794 +1.4678033764068363 0.7960963836538497 +1.4682557315548146 0.7969098236936744 +1.468708086702793 0.7976606065771784 +1.4691604418507713 0.7982502318164141 +1.4696127969987496 0.79850066237172 +1.470065152146728 0.7988394044627678 +1.4705175072947063 0.7995352777502625 +1.4709698624426846 0.7993363522352144 +1.471422217590663 0.7996364245549771 +1.4718745727386413 0.7994433262031301 +1.4723269278866196 0.8004284814482968 +1.472779283034598 0.8011413766639582 +1.4732316381825763 0.8018523196314207 +1.4736839933305546 0.8000221530184828 +1.4741363484785328 0.800682571536357 +1.4745887036265113 0.8008274169724332 +1.4750410587744895 0.8021325371093788 +1.4754934139224678 0.8023747284426618 +1.4759457690704463 0.8025122908793948 +1.4763981242184245 0.8027446327442651 +1.4768504793664028 0.8035861768784092 +1.4773028345143813 0.8038720251461458 +1.4777551896623595 0.8046839495005799 +1.4782075448103378 0.8053785011319171 +1.478659899958316 0.8059652516340498 +1.4791122551062945 0.8056937865628292 +1.4795646102542728 0.8067537832090983 +1.480016965402251 0.8075918028362584 +1.4804693205502295 0.8074113458520642 +1.4809216756982078 0.8088253149944182 +1.481374030846186 0.8099108305043231 +1.4818263859941645 0.8111021325385289 +1.4822787411421428 0.8106321612408778 +1.482731096290121 0.8116581920209083 +1.4831834514380995 0.8116386192856757 +1.4836358065860777 0.813786503107131 +1.484088161734056 0.8140448474592636 +1.4845405168820343 0.8145086540999585 +1.4849928720300127 0.8145800640776278 +1.485445227177991 0.8151362879998197 +1.4858975823259692 0.8165177392525768 +1.4863499374739477 0.8173725469900142 +1.486802292621926 0.8184857484470314 +1.4872546477699042 0.8185031781085993 +1.4877070029178827 0.8192061369853753 +1.488159358065861 0.8197317116746602 +1.4886117132138392 0.8204359344335515 +1.4890640683618175 0.8215485185569699 +1.489516423509796 0.8215032724794256 +1.4899687786577742 0.8228609067706308 +1.4904211338057525 0.8227033800259517 +1.490873488953731 0.8265817021572165 +1.4913258441017092 0.8126271701175898 +1.4917781992496875 0.8131561761695094 +1.492230554397666 0.8133687671892613 +1.4926829095456442 0.8140478979850865 +1.4931352646936225 0.814764345815195 +1.493587619841601 0.8151357106745973 +1.4940399749895792 0.8156706871067478 +1.4944923301375574 0.8164329680701065 +1.4949446852855357 0.8158959573626977 +1.4953970404335142 0.8174869389326311 +1.4958493955814924 0.8167744038517217 +1.4963017507294707 0.8171134021873381 +1.4967541058774492 0.8168278279905844 +1.4972064610254274 0.8177233158120498 +1.4976588161734057 0.8178807311768643 +1.4981111713213842 0.8182772069475683 +1.4985635264693624 0.8176126042865706 +1.4990158816173407 0.8183175598172434 +1.499468236765319 0.8192705648363408 +1.4999205919132974 0.818367342488661 +1.5003729470612757 0.8187143920497651 +1.500825302209254 0.8184033609852515 +1.5012776573572324 0.8192497364682565 +1.5017300125052107 0.8175473853275895 +1.502182367653189 0.8181424802788659 +1.5026347228011674 0.8178018541080315 +1.5030870779491456 0.819308378801066 +1.503539433097124 0.8197535314636011 +1.5039917882451024 0.8178190555360249 +1.5044441433930806 0.8190600072633394 +1.504896498541059 0.8168506267463396 +1.5053488536890371 0.8182177475366927 +1.5058012088370156 0.8177232713800057 +1.5062535639849939 0.8175650322691852 +1.5067059191329721 0.8156877670205186 +1.5071582742809506 0.8159823747148571 +1.5076106294289289 0.8148693308395508 +1.5080629845769071 0.8158280829032427 +1.5085153397248856 0.8174499067916579 +1.5089676948728639 0.8143774753108423 +1.5094200500208421 0.8145989054250721 +1.5098724051688204 0.8127744588460344 +1.5103247603167989 0.8139657111604841 +1.510777115464777 0.8131064186029836 +1.5112294706127554 0.8124436853269646 +1.5116818257607338 0.8108020030266617 +1.512134180908712 0.8116513102881836 +1.5125865360566904 0.8114502133709458 +1.5130388912046688 0.8106723065787262 +1.513491246352647 0.8104992815461243 +1.5139436015006253 0.8088672970486063 +1.5143959566486038 0.8086387078688483 +1.514848311796582 0.8064596919087217 +1.5153006669445603 0.8077047438692497 +1.5157530220925386 0.8065258991686144 +1.516205377240517 0.8074731801631266 +1.5166577323884953 0.8048094286899666 +1.5171100875364736 0.8054511559071708 +1.517562442684452 0.8055403482116654 +1.5180147978324303 0.8039726477042238 +1.5184671529804086 0.808669312386268 +1.518919508128387 0.8039297721112605 +1.5193718632763653 0.8034049111649523 +1.5198242184243436 0.802611488142839 +1.5202765735723218 0.802839407605726 +1.5207289287203003 0.8030671895772751 +1.5211812838682786 0.8026368047811032 +1.5216336390162568 0.8013004922870313 +1.5220859941642353 0.8021029163540279 +1.5225383493122135 0.8024949367419572 +1.5229907044601918 0.8027352812486503 +1.5234430596081703 0.7998129353418445 +1.5238954147561485 0.8011959895810936 +1.5243477699041268 0.8008779240682025 +1.524800125052105 0.8009120762676012 +1.5252524802000835 0.8012857021426555 +1.5257048353480618 0.8007953690739078 +1.52615719049604 0.8009992023982373 +1.5266095456440185 0.8012615590910792 +1.5270619007919968 0.8024201817656295 +1.527514255939975 0.8001031784778716 +1.5279666110879535 0.8004760777038836 +1.5284189662359318 0.8006510908136927 +1.52887132138391 0.8009249965499531 +1.5293236765318885 0.8004651194014941 +1.5297760316798668 0.8004243055372755 +1.530228386827845 0.8008752619414294 +1.5306807419758233 0.8007979605551857 +1.5311330971238017 0.801023135677719 +1.53158545227178 0.8012619360425977 +1.5320378074197583 0.8021692119677002 +1.5324901625677367 0.8019190440944887 +1.532942517715715 0.8012885222783008 +1.5333948728636932 0.8025067514393666 +1.5338472280116717 0.8022402799197423 +1.53429958315965 0.8025353223615057 +1.5347519383076282 0.8024526149054719 +1.5352042934556065 0.8034542891689229 +1.535656648603585 0.8025152318291434 +1.5361090037515632 0.8028806736282327 +1.5365613588995415 0.8035312867037381 +1.53701371404752 0.8041777689021944 +1.5374660691954982 0.8038819764801529 +1.5379184243434765 0.803170022778237 +1.538370779491455 0.8043619717377433 +1.5388231346394332 0.8042804433427629 +1.5392754897874115 0.8044894502052877 +1.53972784493539 0.8035602900447852 +1.5401802000833682 0.8046392468727097 +1.5406325552313465 0.8046516804795074 +1.5410849103793247 0.8043343455403478 +1.5415372655273032 0.8046058268094363 +1.5419896206752814 0.8052466983168789 +1.5424419758232597 0.8058576146779528 +1.5428943309712382 0.8044356869142981 +1.5433466861192164 0.8049568239036903 +1.5437990412671947 0.803998251415085 +1.5442513964151732 0.8053097825235817 +1.5447037515631514 0.8038325556817014 +1.5451561067111297 0.8043773793678572 +1.545608461859108 0.8053305067825742 +1.5460608170070864 0.8036146861462864 +1.5465131721550647 0.8043815546444251 +1.546965527303043 0.8038642135869988 +1.5474178824510214 0.8054172685081743 +1.5478702375989997 0.8033273037983357 +1.548322592746978 0.8037550363208397 +1.5487749478949564 0.8028509903814931 +1.5492273030429347 0.8034295418180243 +1.549679658190913 0.8022754375193526 +1.5501320133388914 0.8029560838650701 +1.5505843684868696 0.8032055642830936 +1.551036723634848 0.8013779895563995 +1.5514890787828262 0.8025339318599396 +1.5519414339308046 0.8003487355173003 +1.552393789078783 0.8010943167295139 +1.5528461442267611 0.7995422435522347 +1.5532984993747396 0.7995572897989917 +1.5537508545227179 0.7974471051943915 +1.5542032096706961 0.798298398281369 +1.5546555648186746 0.7986618438656589 +1.5551079199666529 0.7979785344435305 +1.5555602751146311 0.7990131875793088 +1.5560126302626094 0.796137846937231 +1.5564649854105879 0.7963060590996863 +1.5569173405585661 0.7938727660745799 +1.5573696957065444 0.7953190936237737 +1.5578220508545229 0.7932275808298125 +1.5582744060025011 0.7941020124658873 +1.5587267611504794 0.7913514145936515 +1.5591791162984578 0.792012178768676 +1.559631471446436 0.7930458490035731 +1.5600838265944144 0.7920791410594563 +1.5605361817423928 0.791884947769439 +1.560988536890371 0.7891637917857963 +1.5614408920383493 0.7903191569139798 +1.5618932471863276 0.788065951571342 +1.562345602334306 0.7891165081992899 +1.5627979574822843 0.7867685514622645 +1.5632503126302626 0.7871903651360764 +1.563702667778241 0.7863697161827868 +1.5641550229262193 0.7863034304411205 +1.5646073780741976 0.7869494033993536 +1.565059733222176 0.7860068629682548 +1.5655120883701543 0.7863793868836915 +1.5659644435181326 0.784713197542766 +1.5664167986661108 0.7849600596313928 +1.5668691538140893 0.782878419728969 +1.5673215089620676 0.7844400716492649 +1.5677738641100458 0.7832857278273423 +1.5682262192580243 0.7841609999322041 +1.5686785744060026 0.784961060293167 +1.5691309295539808 0.7828033273764353 +1.5695832847019593 0.783226038448471 +1.5700356398499375 0.7820990066005571 +1.5704879949979158 0.7825784619619442 +1.5709403501458943 0.7828372920399407 +1.5713927052938725 0.7824144364341932 +1.5718450604418508 0.7820816939931063 +1.572297415589829 0.7821041587953823 +1.5727497707378075 0.7822721666620736 +1.5732021258857858 0.7825319529738699 +1.573654481033764 0.7828245893343931 +1.5741068361817425 0.7822906892398546 +1.5745591913297208 0.7827043855792328 +1.575011546477699 0.7823841329884874 +1.5754639016256775 0.7833881044083991 +1.5759162567736558 0.7826986541309462 +1.576368611921634 0.7825367174796076 +1.5768209670696123 0.7826243142429118 +1.5772733222175908 0.7832682551061694 +1.577725677365569 0.7835146197580142 +1.5781780325135473 0.7841847880303504 +1.5786303876615257 0.7846384096209591 +1.579082742809504 0.7844092739907351 +1.5795350979574823 0.7852003965006807 +1.5799874531054607 0.7853220176356206 +1.580439808253439 0.7855140485355903 +1.5808921634014172 0.7867122025722522 +1.5813445185493955 0.78685812688562 +1.581796873697374 0.7878621826322838 +1.5822492288453522 0.7887361420655985 +1.5827015839933305 0.788568215529943 +1.583153939141309 0.7893885476340458 +1.5836062942892872 0.79038491872604 +1.5840586494372655 0.7909880105461228 +1.584511004585244 0.7919251162848248 +1.5849633597332222 0.7920212042414353 +1.5854157148812005 0.7927813743939625 +1.585868070029179 0.7934700495397311 +1.5863204251771572 0.7940746677890956 +1.5867727803251355 0.794926031546474 +1.5872251354731137 0.7959026284379584 +1.5876774906210922 0.7966423508649279 +1.5881298457690705 0.798875945202319 +1.5885822009170487 0.7989946033509177 +1.5890345560650272 0.7997959597874386 +1.5894869112130054 0.8004003544028865 +1.5899392663609837 0.8024955523847281 +1.5903916215089622 0.8023033171099732 +1.5908439766569404 0.803276924719187 +1.5912963318049187 0.8043553233791316 +1.591748686952897 0.8052147047544047 +1.5922010421008754 0.8059755507803203 +1.5926533972488537 0.8060053528523803 +1.593105752396832 0.8076294681919287 +1.5935581075448104 0.808649407388425 +1.5940104626927887 0.8099347384808421 +1.594462817840767 0.8100996224778715 +1.5949151729887454 0.811992799218328 +1.5953675281367237 0.8111933958422022 +1.595819883284702 0.8135829867275178 +1.5962722384326804 0.8137589141359964 +1.5967245935806587 0.8146603693698863 +1.597176948728637 0.8159860082357259 +1.5976293038766152 0.8154746527077069 +1.5980816590245936 0.8156773835140534 +1.598534014172572 0.817039672484301 +1.5989863693205502 0.8174364723145406 +1.5994387244685286 0.81941578608852 +1.599891079616507 0.8195014894999315 +1.6003434347644852 0.8199146412174834 +1.6007957899124636 0.81985942394447 +1.6012481450604419 0.821079492311608 +1.6017005002084201 0.8207374663378958 +1.6021528553563984 0.8208793496307948 +1.6026052105043769 0.821175755231762 +1.6030575656523551 0.8207763940335832 +1.6035099208003334 0.8221332339479508 +1.6039622759483119 0.8216521596230235 +1.6044146310962901 0.8218471728281688 +1.6048669862442684 0.82133791279735 +1.6053193413922469 0.8222139902546729 +1.6057716965402251 0.8213357413807922 +1.6062240516882034 0.8202612494155445 +1.6066764068361818 0.8221178306083486 +1.60712876198416 0.8214520433355179 +1.6075811171321384 0.8215920297074029 +1.6080334722801166 0.8188278831009767 +1.608485827428095 0.8190532945245752 +1.6089381825760734 0.8165174262355 +1.6093905377240516 0.817596476362454 +1.60984289287203 0.815350909059357 +1.6102952480200083 0.8150354207953912 +1.6107476031679866 0.8152174913460765 +1.611199958315965 0.8118420192831194 +1.6116523134639433 0.8122342220886309 +1.6121046686119216 0.8099515303858115 +1.6125570237598998 0.8100245669891983 +1.6130093789078783 0.8045532747757287 +1.6134617340558566 0.8055269245869385 +1.6139140892038348 0.7993594879540791 +1.6143664443518133 0.799997784913748 +1.6148187994997916 0.792787366556463 +1.6152711546477698 0.7941230465734967 +1.6157235097957483 0.7938012192066342 +1.6161758649437266 0.7841824817597027 +1.6166282200917048 0.7846641974738648 +1.6170805752396833 0.7775090275890777 +1.6175329303876615 0.7779777215249729 +1.6179852855356398 0.764584419924338 +1.618437640683618 0.7646842581000439 +1.6188899958315965 0.7485862888187156 +1.6193423509795748 0.7489405991480682 +1.619794706127553 0.7355654392835524 +1.6202470612755315 0.7355993818650082 +1.6206994164235098 0.736096003155938 +1.621151771571488 0.7050216888642076 +1.6216041267194665 0.7054649720762728 +1.6220564818674448 0.6823517265019124 +1.622508837015423 0.6829847252868991 +1.6229611921634013 0.6514138618142288 +1.6234135473113798 0.6515429187008848 +1.623865902459358 0.6117609132584892 +1.6243182576073363 0.6125866623277618 +1.6247706127553148 0.6131715952013359 +1.625222967903293 0.5902143513012453 +1.6256753230512713 0.5904237106822332 +1.6261276781992497 0.5393855660185155 +1.626580033347228 0.5398986412462439 +1.6270323884952063 0.49982113986454557 +1.6274847436431847 0.49909396745371454 +1.627937098791163 0.4565485306562065 +1.6283894539391413 0.4558661698466149 +1.6288418090871195 0.41583176307552816 +1.629294164235098 0.4149385233943291 +1.6297465193830762 0.4154363046796031 +1.6301988745310545 0.3869193706988458 +1.630651229679033 0.3875247323472696 +1.6311035848270112 0.33797876117474457 +1.6315559399749895 0.3376769027006694 +1.632008295122968 0.3110331558328847 +1.6324606502709462 0.31001374602965986 +1.6329130054189245 0.2918556923475617 +1.6333653605669027 0.2922476266142688 +1.6338177157148812 0.2891043087055897 +1.6342700708628595 0.2557595040940585 +1.6347224260108377 0.25642144103202474 +1.6351747811588162 0.2310866169095357 +1.6356271363067945 0.23139208663420216 +1.6360794914547727 0.2157570448668743 +1.6365318466027512 0.21651410948592312 +1.6369842017507295 0.19566308425310897 +1.6374365568987077 0.19571041272615786 +1.637888912046686 0.18560408861641203 +1.6383412671946644 0.18604941052934826 +1.6387936223426427 0.18549844311704292 +1.639245977490621 0.16604640816391567 +1.6396983326385994 0.1661120707824396 +1.640150687786578 0.15184279615849447 +1.640603042934556 0.15128947678188567 +1.6410553980825344 0.1428897616641379 +1.6415077532305127 0.14307605442265797 +1.641960108378491 0.13143562706199227 +1.6424124635264696 0.13101473939619493 +1.6428648186744477 0.12208763056610467 +1.643317173822426 0.12187656637090717 +1.6437695289704042 0.12288519920893863 +1.6442218841183827 0.11303049074930475 +1.6446742392663611 0.1140868412776458 +1.6451265944143392 0.10648909563652671 +1.6455789495623176 0.10719174999593883 +1.646031304710296 0.10197733555623621 +1.6464836598582742 0.10203059813087625 +1.6469360150062529 0.09351309223001464 +1.647388370154231 0.09419296317791355 +1.6478407253022092 0.09425411816682824 +1.6482930804501874 0.08844738129209845 +1.6487454355981659 0.08852278470443574 +1.6491977907461444 0.08498403249618983 +1.6496501458941224 0.08553618026267279 +1.6501025010421009 0.07956579032949454 +1.6505548561900794 0.0790624588609538 +1.6510072113380574 0.07571206605620757 +1.651459566486036 0.07682722921312504 +1.6519119216340141 0.07237003731289934 +1.6523642767819924 0.0724779353934494 +1.652816631929971 0.07238716643642253 +1.6532689870779491 0.0682695520129291 +1.6537213422259276 0.0692504767937696 +1.6541736973739056 0.06588999725753829 +1.654626052521884 0.06618298382588746 +1.6550784076698626 0.06312681494287807 +1.6555307628178406 0.06247526085079916 +1.6559831179658193 0.06061930706882378 +1.6564354731137974 0.06121785840992664 +1.6568878282617756 0.058320027279746445 +1.6573401834097543 0.05734622649259138 +1.6577925385577323 0.057291908010157835 +1.6582448937057108 0.05508580172589407 +1.6586972488536889 0.05552973391202461 +1.6591496040016673 0.05389162827606465 +1.6596019591496458 0.05386386553443928 +1.6600543142976238 0.05081369655609439 +1.6605066694456025 0.0497695288830324 +1.6609590245935806 0.04812303196082162 +1.6614113797415588 0.048533414750257055 +1.6618637348895375 0.047873165399366584 +1.6623160900375156 0.0470938763646672 +1.662768445185494 0.047300951970151786 +1.6632208003334723 0.0438672565056881 +1.6636731554814506 0.04388961993388451 +1.664125510629429 0.04183282967503366 +1.664577865777407 0.041616944272429304 +1.6650302209253858 0.03983610120722594 +1.6654825760733638 0.03927749827414944 +1.665934931221342 0.03728262941205966 +1.6663872863693208 0.03733351834516636 +1.6668396415172988 0.03787697618116499 +1.6672919966652773 0.03691294113944295 +1.6677443518132555 0.035879095554396126 +1.668196706961234 0.0339468820044997 +1.6686490621092123 0.034417145672620976 +1.6691014172571903 0.03270837295183074 +1.669553772405169 0.03199489079548527 +1.670006127553147 0.03035821514392859 +1.6704584827011255 0.030124410539155922 +1.670910837849104 0.02867100568935622 +1.671363192997082 0.028382977369709534 +1.6718155481450605 0.027897024896525492 +1.6722679032930388 0.027250817275566462 +1.6727202584410172 0.026932495950746937 +1.6731726135889955 0.024489430417301786 +1.6736249687369738 0.024373178765771754 +1.6740773238849522 0.023206283394034563 +1.6745296790329303 0.02298974992782825 +1.6749820341809087 0.022545920764127897 +1.6754343893288872 0.022313033008818747 +1.6758867444768653 0.02281332721783607 +1.6763390996248437 0.020780332268609217 +1.676791454772822 0.020017772469430418 +1.6772438099208005 0.018915640363321964 +1.6776961650687787 0.01937669937061007 +1.678148520216757 0.018167499600736253 +1.6786008753647355 0.018187121367469614 +1.6790532305127135 0.017062043164486052 +1.679505585660692 0.016691406923308547 +1.6799579408086704 0.016676349195960352 +1.6804102959566485 0.015926377865015016 +1.680862651104627 0.015902265463307814 +1.6813150062526052 0.01529863798468609 +1.6817673614005837 0.014653434471086921 +1.682219716548562 0.014245340799255289 +1.6826720716965402 0.014007017702797116 +1.6831244268445187 0.01354050478498797 +1.6835767819924967 0.013267029297832475 +1.6840291371404754 0.012412388535981464 +1.6844814922884537 0.012346695047732741 +1.6849338474364317 0.011365386035026554 +1.6853862025844102 0.011327174479817266 +1.6858385577323884 0.011435636460140206 +1.686290912880367 0.010497867069883912 +1.6867432680283452 0.01111915914994469 +1.6871956231763234 0.009914971362174566 +1.687647978324302 0.010539923281328306 +1.68810033347228 0.009778004345858701 +1.6885526886202586 0.009998389987951236 +1.689005043768237 0.00875892692825984 +1.689457398916215 0.009284324156696775 +1.6899097540641934 0.008188840090605222 +1.6903621092121717 0.007735505692052966 +1.6908144643601501 0.008559477416116575 +1.6912668195081284 0.007823925919715018 +1.6917191746561067 0.007341293285653628 +1.6921715298040851 0.006830773418781479 +1.6926238849520632 0.007268347480951657 +1.6930762401000419 0.006356977181158408 +1.6935285952480204 0.006678023300935216 +1.6939809503959984 0.005730164880998559 +1.6944333055439769 0.006074519334814097 +1.694885660691955 0.006171783146184631 +1.6953380158399334 0.0060348767150116105 +1.6957903709879119 0.006255043105280792 +1.69624272613589 0.005183708325970688 +1.6966950812838684 0.005391594098102751 +1.6971474364318464 0.005141334533802911 +1.697599791579825 0.004863636478207935 +1.6980521467278036 0.005151906210815816 +1.6985045018757816 0.005062785066009764 +1.69895685702376 0.004006410020696952 +1.6994092121717381 0.004924218194668104 +1.6998615673197166 0.004069417855090604 +1.700313922467695 0.0043151861910722305 +1.7007662776156733 0.003937846628510935 +1.7012186327636516 0.004322559339835224 +1.7016709879116296 0.003971730330243926 +1.7021233430596083 0.0032883509687976625 +1.7025756982075868 0.0036095522777792742 +1.7030280533555648 0.0039130476512144454 +1.7034804085035433 0.0033520459171408217 +1.7039327636515214 0.0034500399170389177 +1.7043851187994998 0.0035396120581816137 +1.7048374739474785 0.003263049987759202 +1.7052898290954566 0.003779364130064016 +1.7057421842434348 0.002669910940708459 +1.7061945393914129 0.0034362748729794253 +1.7066468945393916 0.0031829145314699182 +1.70709924968737 0.0035841609698352133 +1.707551604835348 0.0025385267677196788 +1.7080039599833265 0.0022750516536457124 +1.7084563151313046 0.003205453099936621 +1.708908670279283 0.0028270249245395634 +1.7093610254272618 0.0022611857617190236 +1.7098133805752398 0.0020634467387126705 +1.710265735723218 0.002155566399514602 +1.710718090871196 0.00251543208785314 +1.7111704460191748 0.0022640832963340828 +1.7116228011671533 0.0024343317121512894 +1.7120751563151313 0.001972916577249438 +1.7125275114631098 0.0023550154471838627 +1.7129798666110878 0.001686839305472624 +1.7134322217590663 0.002079723627857767 +1.713884576907045 0.001965290077135839 +1.714336932055023 0.001806862833510736 +1.7147892872030013 0.0018061344776961871 +1.7152416423509793 0.001616528645526164 +1.715693997498958 0.002118022681334582 +1.7161463526469365 0.001831676691181145 +1.7165987077949145 0.0012472418954504795 +1.717051062942893 0.0015164751526579132 +1.717503418090871 0.0016305752502222442 +1.7179557732388495 0.0023937661504016884 +1.7184081283868282 0.0023921034571123766 +1.7188604835348062 0.0012151200844303758 +1.7193128386827847 0.002315194287061003 +1.7197651938307628 0.0020781278737106645 +1.7202175489787412 0.001441542249778817 +1.7206699041267197 0.0010019545369643293 +1.7211222592746978 0.0017139225423430345 +1.7215746144226765 0.0012598572687423477 +1.7220269695706545 0.000850590210157023 +1.7224793247186327 0.0009709818433004745 +1.7229316798666114 0.0009051153223464888 +1.7233840350145895 0.0012461088929780894 +1.723836390162568 0.0013504336557146827 +1.7242887453105462 0.0007838441382840686 +1.7247411004585245 0.0019228238142737772 +1.725193455606503 0.0007000471252729554 +1.725645810754481 0.0 +1.7260981659024597 0.0 +1.7265505210504377 0.0 +1.727002876198416 0.0 +1.7274552313463947 0.0 +1.7279075864943727 0.0 +1.7283599416423512 0.0 +1.7288122967903294 0.0 +1.7292646519383077 0.0 +1.7297170070862862 0.0 +1.7301693622342644 0.0 +1.730621717382243 0.0 +1.731074072530221 0.0 +1.7315264276781992 0.0 +1.731978782826178 0.0 +1.732431137974156 0.0 +1.7328834931221344 0.0 +1.7333358482701127 0.0 +1.733788203418091 0.0 +1.7342405585660694 0.0 +1.7346929137140477 0.0 +1.7351452688620261 0.0 +1.7355976240100042 0.0 +1.7360499791579824 0.0 +1.7365023343059611 0.0 +1.7369546894539392 0.0 +1.7374070446019176 0.0 +1.737859399749896 0.0 +1.7383117548978742 0.0 +1.7387641100458526 0.0 +1.7392164651938309 0.0 +1.7396688203418094 0.0 +1.7401211754897874 0.0 +1.7405735306377659 0.0 +1.7410258857857444 0.0 +1.7414782409337224 0.0 +1.7419305960817009 0.0 +1.7423829512296791 0.0 +1.7428353063776574 0.0 +1.7432876615256359 0.0 +1.7437400166736141 0.0 +1.7441923718215926 0.0 +1.7446447269695706 0.0 +1.745097082117549 0.0 +1.7455494372655276 0.0 +1.7460017924135056 0.0 +1.7464541475614843 0.0 +1.7469065027094623 0.0 +1.7473588578574408 0.0 +1.747811213005419 0.0 +1.7482635681533973 0.0 +1.7487159233013758 0.0 +1.7491682784493539 0.0 +1.7496206335973326 0.0 +1.7500729887453108 0.0 +1.7505253438932888 0.0 +1.7509776990412675 0.0 +1.7514300541892456 0.0 +1.751882409337224 0.0 +1.7523347644852023 0.0 +1.7527871196331806 0.0 +1.753239474781159 0.0 diff --git a/DREAMS/TER_atmosphere.dat b/DREAMS/TER_atmosphere.dat new file mode 100644 index 00000000..a471871f --- /dev/null +++ b/DREAMS/TER_atmosphere.dat @@ -0,0 +1,359 @@ +# date_created : 2023-03-21 +# location : Sidling spring +# wavelength_unit : nm +# emission_unit : ph s-1 m-2 um-1 arcsec-2 +# action : transmission +# Details : http://www.gemini.edu/sciops/ObsProcess/obsConstraints/atm-models/trans_30_10.dat +# +wavelength transmission emission +1161.0 0.924793 0.1 +1161.5 0.939469 0.1 +1162.0 0.935235 0.1 +1162.5 0.940330 0.1 +1163.0 0.967153 0.1 +1163.5 0.963672 0.1 +1164.0 0.962931 0.1 +1164.5 0.968273 0.1 +1165.0 0.949592 0.1 +1165.5 0.934222 0.1 +1166.0 0.940428 0.1 +1166.5 0.953383 0.1 +1167.0 0.959292 0.1 +1167.5 0.968087 0.1 +1168.0 0.967105 0.1 +1168.5 0.966740 0.1 +1169.0 0.973188 0.1 +1169.5 0.975666 0.1 +1170.0 0.976777 0.1 +1170.5 0.970486 0.1 +1171.0 0.971351 0.1 +1171.5 0.978771 0.1 +1172.0 0.974734 0.1 +1172.5 0.969387 0.1 +1173.0 0.968874 0.1 +1173.5 0.950085 0.1 +1174.0 0.926160 0.1 +1174.5 0.950492 0.1 +1175.0 0.970293 0.1 +1175.5 0.969632 0.1 +1176.0 0.985673 0.1 +1176.5 0.992625 0.1 +1177.0 0.976347 0.1 +1177.5 0.939686 0.1 +1178.0 0.939704 0.1 +1178.5 0.967125 0.1 +1179.0 0.977988 0.1 +1179.5 0.963961 0.1 +1180.0 0.970498 0.1 +1180.5 0.984841 0.1 +1181.0 0.973231 0.1 +1181.5 0.931265 0.1 +1182.0 0.901812 0.1 +1182.5 0.940128 0.1 +1183.0 0.97894 0.1 +1183.5 0.983834 0.1 +1184.0 0.963308 0.1 +1184.5 0.942425 0.1 +1185.0 0.948056 0.1 +1185.5 0.974568 0.1 +1186.0 0.985875 0.1 +1186.5 0.981767 0.1 +1187.0 0.971953 0.1 +1187.5 0.946152 0.1 +1188.0 0.927766 0.1 +1188.5 0.942206 0.1 +1189.0 0.966158 0.1 +1189.5 0.97845 0.1 +1190.0 0.98131 0.1 +1190.5 0.975805 0.1 +1191.0 0.976528 0.1 +1191.5 0.981461 0.1 +1192.0 0.98515 0.1 +1192.5 0.989246 0.1 +1193.0 0.980573 0.1 +1193.5 0.969614 0.1 +1194.0 0.980815 0.1 +1194.5 0.985875 0.1 +1195.0 0.979645 0.1 +1195.5 0.975587 0.1 +1196.0 0.978874 0.1 +1196.5 0.984236 0.1 +1197.0 0.983552 0.1 +1197.5 0.974215 0.1 +1198.0 0.976686 0.1 +1198.5 0.965804 0.1 +1199.0 0.953592 0.1 +1199.5 0.969139 0.1 +1200.0 0.979289 0.1 +1200.5 0.977727 0.1 +1201.0 0.973854 0.1 +1201.5 0.96744 0.1 +1202.0 0.96946 0.1 +1202.5 0.98217 0.1 +1203.0 0.974242 0.1 +1203.5 0.938635 0.1 +1204.0 0.931655 0.1 +1204.5 0.961394 0.1 +1205.0 0.96694 0.1 +1205.5 0.979921 0.1 +1206.0 0.988763 0.1 +1206.5 0.981954 0.1 +1207.0 0.975657 0.1 +1207.5 0.97462 0.1 +1208.0 0.974888 0.1 +1208.5 0.976584 0.1 +1209.0 0.974079 0.1 +1209.5 0.975023 0.1 +1210.0 0.980829 0.1 +1210.5 0.988011 0.1 +1211.0 0.979813 0.1 +1211.5 0.970395 0.1 +1212.0 0.975829 0.1 +1212.5 0.981656 0.1 +1213.0 0.989676 0.1 +1213.5 0.989908 0.1 +1214.0 0.981482 0.1 +1214.5 0.97762 0.1 +1215.0 0.979185 0.1 +1215.5 0.985892 0.1 +1216.0 0.991672 0.1 +1216.5 0.988323 0.1 +1217.0 0.988118 0.1 +1217.5 0.992453 0.1 +1218.0 0.990045 0.1 +1218.5 0.988053 0.1 +1219.0 0.985249 0.1 +1219.5 0.986161 0.1 +1220.0 0.988808 0.1 +1220.5 0.991329 0.1 +1221.0 0.991927 0.1 +1221.5 0.985437 0.1 +1222.0 0.984916 0.1 +1222.5 0.98675 0.1 +1223.0 0.98793 0.1 +1223.5 0.988101 0.1 +1224.0 0.989341 0.1 +1224.5 0.992705 0.1 +1225.0 0.993683 0.1 +1225.5 0.99338 0.1 +1226.0 0.994528 0.1 +1226.5 0.992313 0.1 +1227.0 0.988305 0.1 +1227.5 0.991586 0.1 +1228.0 0.996353 0.1 +1228.5 0.99734 0.1 +1229.0 0.996037 0.1 +1229.5 0.995 0.1 +1230.0 0.996146 0.1 +1230.5 0.998058 0.1 +1231.0 0.998798 0.1 +1231.5 0.998681 0.1 +1232.0 0.99861 0.1 +1232.5 0.997529 0.1 +1233.0 0.996024 0.1 +1233.5 0.996784 0.1 +1234.0 0.998865 0.1 +1234.5 0.999455 0.1 +1235.0 0.999224 0.1 +1235.5 0.999201 0.1 +1236.0 0.999391 0.1 +1236.5 0.998944 0.1 +1237.0 0.998798 0.1 +1237.5 0.999424 0.1 +1238.0 0.999618 0.1 +1238.5 0.999606 0.1 +1239.0 0.999781 0.1 +1239.5 0.99993 0.1 +1240.0 0.999797 0.1 +1240.5 0.999385 0.1 +1241.0 0.99935 0.1 +1241.5 0.999734 0.1 +1242.0 0.999924 0.1 +1242.5 0.999974 0.1 +1243.0 0.999987 0.1 +1243.5 0.999939 0.1 +1244.0 0.999773 0.1 +1244.5 0.999739 0.1 +1245.0 0.999856 0.1 +1245.5 0.999907 0.1 +1246.0 0.999909 0.1 +1246.5 0.999764 0.1 +1247.0 0.999769 0.1 +1247.5 0.999678 0.1 +1248.0 0.999199 0.1 +1248.5 0.999371 0.1 +1249.0 0.999458 0.1 +1249.5 0.998813 0.1 +1250.0 0.999102 0.1 +1250.5 0.999015 0.1 +1251.0 0.997745 0.1 +1251.5 0.998324 0.1 +1252.0 0.99845 0.1 +1252.5 0.996314 0.1 +1253.0 0.997153 0.1 +1253.5 0.997924 0.1 +1254.0 0.994379 0.1 +1254.5 0.994844 0.1 +1255.0 0.997322 0.1 +1255.5 0.993264 0.1 +1256.0 0.992223 0.1 +1256.5 0.996706 0.1 +1257.0 0.993291 0.1 +1257.5 0.988848 0.1 +1258.0 0.994142 0.1 +1258.5 0.993098 0.1 +1259.0 0.984481 0.1 +1259.5 0.986507 0.1 +1260.0 0.987911 0.1 +1260.5 0.976332 0.1 +1261.0 0.96995 0.1 +1261.5 0.97284 0.1 +1262.0 0.964341 0.1 +1262.5 0.951234 0.1 +1263.0 0.952896 0.1 +1263.5 0.952426 0.1 +1264.0 0.940197 0.1 +1264.5 0.937113 0.1 +1265.0 0.94514 0.1 +1265.5 0.94353 0.1 +1266.0 0.935879 0.1 +1266.5 0.944456 0.1 +1267.0 0.956846 0.1 +1267.5 0.957313 0.1 +1268.0 0.92053 0.1 +1268.5 0.827965 0.1 +1269.0 0.807267 0.1 +1269.5 0.886275 0.1 +1270.0 0.948279 0.1 +1270.5 0.969009 0.1 +1271.0 0.972691 0.1 +1271.5 0.972872 0.1 +1272.0 0.970527 0.1 +1272.5 0.970182 0.1 +1273.0 0.970524 0.1 +1273.5 0.974835 0.1 +1274.0 0.971955 0.1 +1274.5 0.974446 0.1 +1275.0 0.976771 0.1 +1275.5 0.982604 0.1 +1276.0 0.979863 0.1 +1276.5 0.980001 0.1 +1277.0 0.984974 0.1 +1277.5 0.988458 0.1 +1278.0 0.989417 0.1 +1278.5 0.987455 0.1 +1279.0 0.99239 0.1 +1279.5 0.99362 0.1 +1280.0 0.992737 0.1 +1280.5 0.992026 0.1 +1281.0 0.994972 0.1 +1281.5 0.997955 0.1 +1282.0 0.996923 0.1 +1282.5 0.995505 0.1 +1283.0 0.997479 0.1 +1283.5 0.998524 0.1 +1284.0 0.99736 0.1 +1284.5 0.995762 0.1 +1285.0 0.997514 0.1 +1285.5 0.999254 0.1 +1286.0 0.998899 0.1 +1286.5 0.997613 0.1 +1287.0 0.997433 0.1 +1287.5 0.998147 0.1 +1288.0 0.997244 0.1 +1288.5 0.994733 0.1 +1289.0 0.993903 0.1 +1289.5 0.996418 0.1 +1290.0 0.997936 0.1 +1290.5 0.998285 0.1 +1291.0 0.997258 0.1 +1291.5 0.993251 0.1 +1292.0 0.991921 0.1 +1292.5 0.995091 0.1 +1293.0 0.99726 0.1 +1293.5 0.997584 0.1 +1294.0 0.996804 0.1 +1294.5 0.99684 0.1 +1295.0 0.995199 0.1 +1295.5 0.991666 0.1 +1296.0 0.991817 0.1 +1296.5 0.992422 0.1 +1297.0 0.987373 0.1 +1297.5 0.985714 0.1 +1298.0 0.991971 0.1 +1298.5 0.996272 0.1 +1299.0 0.994008 0.1 +1299.5 0.985871 0.1 +1300.0 0.982165 0.1 +1300.5 0.978732 0.1 +1301.0 0.980889 0.1 +1301.5 0.990831 0.1 +1302.0 0.993541 0.1 +1302.5 0.986085 0.1 +1303.0 0.976738 0.1 +1303.5 0.965915 0.1 +1304.0 0.955407 0.1 +1304.5 0.962769 0.1 +1305.0 0.985006 0.1 +1305.5 0.98931 0.1 +1306.0 0.982626 0.1 +1306.5 0.961445 0.1 +1307.0 0.960899 0.1 +1307.5 0.974298 0.1 +1308.0 0.967194 0.1 +1308.5 0.975655 0.1 +1309.0 0.981421 0.1 +1309.5 0.955877 0.1 +1310.0 0.941234 0.1 +1310.5 0.94841 0.1 +1311.0 0.971694 0.1 +1311.5 0.98802 0.1 +1312.0 0.974471 0.1 +1312.5 0.959905 0.1 +1313.0 0.949271 0.1 +1313.5 0.924982 0.1 +1314.0 0.93072 0.1 +1314.5 0.950727 0.1 +1315.0 0.953239 0.1 +1315.5 0.955262 0.1 +1316.0 0.969497 0.1 +1316.5 0.966207 0.1 +1317.0 0.947109 0.1 +1317.5 0.966528 0.1 +1318.0 0.963793 0.1 +1318.5 0.938209 0.1 +1319.0 0.936239 0.1 +1319.5 0.933048 0.1 +1320.0 0.906022 0.1 +1320.5 0.917669 0.1 +1321.0 0.942001 0.1 +1321.5 0.935802 0.1 +1322.0 0.947142 0.1 +1322.5 0.936449 0.1 +1323.0 0.91291 0.1 +1323.5 0.925838 0.1 +1324.0 0.931362 0.1 +1324.5 0.948152 0.1 +1325.0 0.958899 0.1 +1325.5 0.939779 0.1 +1326.0 0.949633 0.1 +1326.5 0.950142 0.1 +1327.0 0.927565 0.1 +1327.5 0.925407 0.1 +1328.0 0.902933 0.1 +1328.5 0.860525 0.1 +1329.0 0.860352 0.1 +1329.5 0.899508 0.1 +1330.0 0.910738 0.1 +1330.5 0.890063 0.1 +1331.0 0.841053 0.1 +1331.5 0.807372 0.1 +1332.0 0.804376 0.1 +1332.5 0.821738 0.1 +1333.0 0.870898 0.1 +1333.5 0.847962 0.1 +1334.0 0.834253 0.1 +1334.5 0.886711 0.1 +1335.0 0.904685 0.1 + + diff --git a/DREAMS/TER_mirror.dat b/DREAMS/TER_mirror.dat new file mode 100644 index 00000000..bd8459df --- /dev/null +++ b/DREAMS/TER_mirror.dat @@ -0,0 +1,22 @@ +# author : Anjali Shivani Reddy +# Assumption: Assuming that telescope has reflectivity of 85% +# date_created : 2024-04-02 +# status : Dreams mirrors +# type : mirror:reflection +# wavelength_unit : um +# +wavelength reflection +0.4 0.85 +0.5 0.85 +0.6 0.85 +0.7 0.85 +0.8 0.85 +0.9 0.85 +1.0 0.85 +1.1 0.85 +1.2 0.85 +1.3 0.85 +1.4 0.85 +1.5 0.85 +1.6 0.85 +1.7 0.85 \ No newline at end of file diff --git a/DREAMS/default.yaml b/DREAMS/default.yaml new file mode 100644 index 00000000..56bb6574 --- /dev/null +++ b/DREAMS/default.yaml @@ -0,0 +1,44 @@ +--- +### default observation parameters needed for DREAMS simulation +object : configuration +alias : OBS +name : DREAMS_default_configuration +description : default parameters needed for the DREAMS simulation + + +packages: + - DREAMS + +yamls : + - DREAMS.yaml + - DREAMS_InGaAs.yaml +properties : + airmass : 1.2 + declination : -31.273 + hour_angle : 0 + pupil_angle : 0 + dit : 10 + ndit : 1 + filter_name : !OBS.filter_name + sky : + bg_mag : 14.5 + filter_name : !OBS.filter_name + +--- +### default simulation parameters needed for DREAMS simulation +object : simulation +alias : SIM +name : LFAO_simulation_paramters +description : RC simulation paramters + +properties : + random : + seed : 9001 + + spectral : + wave_min : 1.17 + wave_mid : 1.42 + wave_max : 1.67 + + computing : + preload_field_of_view : False diff --git a/DREAMS/filters/H.dat b/DREAMS/filters/H.dat new file mode 100644 index 00000000..7a445e31 --- /dev/null +++ b/DREAMS/filters/H.dat @@ -0,0 +1,367 @@ +# source : Generic_Bessell.I SVO +# wavelength_unit : angstrom +# download_date : 2020-05-23 +wavelength transmission +14900.0 0.90802 +14905.0 0.958796 +14910.0 0.913225 +14915.0 0.849135 +14920.0 0.884093 +14925.0 0.915954 +14930.0 0.928744 +14935.0 0.949936 +14940.0 0.945656 +14945.0 0.927238 +14950.0 0.900331 +14955.0 0.895292 +14960.0 0.898208 +14965.0 0.900709 +14970.0 0.943867 +14975.0 0.955807 +14980.0 0.932836 +14985.0 0.944357 +14990.0 0.954788 +14995.0 0.954577 +15000.0 0.970904 +15005.0 0.985127 +15009.9 0.986479 +15015.0 0.973983 +15020.0 0.96211 +15025.0 0.957062 +15029.9 0.942257 +15035.0 0.916619 +15040.0 0.893669 +15045.0 0.906644 +15049.9 0.93975 +15055.0 0.973944 +15060.0 0.987869 +15065.0 0.993428 +15069.9 0.986808 +15075.0 0.981119 +15080.0 0.964471 +15085.0 0.927070 +15089.9 0.928636 +15095.0 0.970236 +15100.0 0.986694 +15105.0 0.985894 +15109.9 0.986642 +15115.0 0.989801 +15120.0 0.987493 +15125.0 0.978365 +15129.9 0.976059 +15135.0 0.97338 +15140.0 0.971952 +15145.0 0.980061 +15149.9 0.987342 +15155.0 0.991995 +15160.0 0.985098 +15165.0 0.977038 +15169.9 0.977478 +15175.0 0.978418 +15180.0 0.983991 +15185.0 0.984922 +15189.9 0.980764 +15195.0 0.985204 +15200.0 0.990749 +15205.0 0.992445 +15209.9 0.99613 +15215.0 0.994892 +15220.0 0.993991 +15225.0 0.997639 +15230.0 0.998183 +15235.0 0.996923 +15240.0 0.995911 +15245.0 0.992753 +15250.0 0.992698 +15255.0 0.992474 +15260.0 0.991742 +15265.0 0.991178 +15270.0 0.990807 +15275.0 0.993021 +15280.0 0.996219 +15285.0 0.996003 +15290.0 0.995775 +15295.0 0.995845 +15300.0 0.995311 +15305.0 0.995772 +15310.0 0.994481 +15315.0 0.993689 +15320.0 0.996246 +15325.0 0.996974 +15330.0 0.996282 +15335.0 0.995132 +15340.0 0.993863 +15345.0 0.992836 +15350.0 0.991561 +15355.0 0.992123 +15360.0 0.993688 +15365.0 0.994914 +15370.0 0.99542 +15375.0 0.996934 +15380.0 0.998167 +15385.0 0.9973 +15390.0 0.995481 +15395.0 0.994804 +15400.0 0.995068 +15405.0 0.994998 +15410.0 0.995093 +15415.0 0.995186 +15420.0 0.995262 +15425.0 0.996167 +15430.0 0.997174 +15435.0 0.997792 +15440.0 0.997405 +15445.0 0.997537 +15450.0 0.998712 +15455.0 0.998904 +15460.0 0.998787 +15465.0 0.999114 +15470.0 0.999524 +15475.0 0.99966 +15480.0 0.999717 +15485.0 0.999892 +15490.0 0.999952 +15495.0 0.999882 +15500.0 0.999877 +15505.0 0.999828 +15510.0 0.999648 +15515.0 0.999403 +15520.0 0.999029 +15525.0 0.999389 +15530.0 0.999835 +15535.0 0.9999 +15540.0 0.999712 +15545.0 0.99966 +15550.0 0.999874 +15555.0 0.999949 +15560.0 0.999817 +15565.0 0.999734 +15570.0 0.999882 +15575.0 0.99994 +15580.0 0.999821 +15585.0 0.999696 +15590.0 0.99973 +15595.0 0.999773 +15600.0 0.999786 +15605.0 0.999804 +15610.0 0.999806 +15615.0 0.999774 +15620.0 0.999318 +15625.0 0.999153 +15630.0 0.999566 +15634.9 0.999677 +15640.0 0.999438 +15645.0 0.999379 +15650.0 0.999713 +15654.9 0.99973 +15660.0 0.999565 +15665.0 0.999507 +15670.0 0.999153 +15674.9 0.998277 +15680.0 0.996639 +15685.0 0.993974 +15690.0 0.989486 +15694.9 0.98305 +15700.0 0.975111 +15705.0 0.966649 +15710.0 0.958776 +15714.9 0.952716 +15720.0 0.949206 +15725.0 0.948576 +15730.0 0.950842 +15734.9 0.956052 +15740.0 0.964453 +15745.0 0.975439 +15750.0 0.986076 +15754.9 0.988766 +15760.0 0.981985 +15765.0 0.973708 +15770.0 0.967999 +15774.9 0.965006 +15780.0 0.964174 +15785.0 0.964856 +15790.0 0.96689 +15794.9 0.969905 +15800.0 0.973248 +15805.0 0.976749 +15810.0 0.980261 +15814.9 0.983573 +15820.0 0.986629 +15825.0 0.989165 +15830.0 0.991148 +15834.9 0.993291 +15840.0 0.995228 +15845.0 0.996487 +15850.0 0.997388 +15855.0 0.998035 +15860.0 0.998226 +15865.0 0.998353 +15870.0 0.99852 +15875.0 0.999009 +15880.0 0.99961 +15885.0 0.999815 +15890.0 0.999873 +15895.0 0.999829 +15900.0 0.999595 +15905.0 0.999555 +15910.0 0.999641 +15915.0 0.999378 +15920.0 0.999227 +15925.0 0.999295 +15930.0 0.999629 +15935.0 0.999744 +15940.0 0.999343 +15945.0 0.999103 +15950.0 0.999475 +15955.0 0.999602 +15960.0 0.999202 +15965.0 0.998788 +15970.0 0.998282 +15975.0 0.997717 +15980.0 0.996794 +15985.0 0.994339 +15990.0 0.990353 +15995.0 0.984755 +16000.0 0.977766 +16005.0 0.970019 +16010.0 0.962395 +16015.0 0.95587 +16020.0 0.951126 +16025.0 0.949181 +16030.0 0.950146 +16035.0 0.953717 +16040.0 0.960126 +16045.0 0.969381 +16050.0 0.98064 +16055.0 0.989396 +16060.0 0.98851 +16065.0 0.980511 +16070.0 0.972859 +16075.0 0.967694 +16080.0 0.964677 +16085.0 0.963717 +16090.0 0.964531 +16095.0 0.966216 +16100.0 0.96848 +16105.0 0.971398 +16110.0 0.975001 +16115.0 0.97864 +16120.0 0.982068 +16125.0 0.985199 +16130.0 0.987864 +16135.0 0.990343 +16140.0 0.992741 +16145.0 0.994346 +16150.0 0.995406 +16155.0 0.996206 +16160.0 0.996663 +16165.0 0.996765 +16170.0 0.99718 +16175.0 0.997865 +16180.0 0.998152 +16185.0 0.998036 +16190.0 0.998189 +16195.0 0.998875 +16200.0 0.999207 +16205.0 0.999199 +16210.0 0.999169 +16215.0 0.999207 +16220.0 0.999327 +16225.0 0.999408 +16230.0 0.999407 +16235.0 0.999141 +16240.0 0.998969 +16245.0 0.999267 +16250.0 0.999352 +16255.0 0.999022 +16259.9 0.998794 +16265.0 0.998993 +16270.0 0.998813 +16275.0 0.998566 +16279.9 0.998311 +16285.0 0.998206 +16290.0 0.998681 +16295.0 0.998966 +16299.9 0.998134 +16305.0 0.996627 +16310.0 0.997419 +16315.0 0.998483 +16319.9 0.998122 +16325.0 0.996479 +16330.0 0.995497 +16335.0 0.996833 +16339.9 0.998097 +16345.0 0.997933 +16350.0 0.995308 +16355.0 0.993438 +16359.9 0.996261 +16365.0 0.997731 +16370.0 0.996135 +16375.0 0.990789 +16379.9 0.99119 +16385.0 0.996058 +16390.0 0.996186 +16395.0 0.993223 +16400.0 0.986465 +16405.0 0.984192 +16410.0 0.99106 +16415.0 0.99367 +16420.0 0.992093 +16425.0 0.984065 +16430.0 0.978558 +16435.0 0.987738 +16440.0 0.994092 +16445.0 0.994839 +16450.0 0.987458 +16455.0 0.976427 +16460.0 0.98537 +16465.0 0.995292 +16470.0 0.996081 +16475.0 0.991804 +16480.0 0.981326 +16485.0 0.980932 +16490.0 0.989585 +16495.0 0.992634 +16500.0 0.992504 +16505.0 0.984313 +16510.0 0.976919 +16515.0 0.986775 +16520.0 0.994091 +16525.0 0.996391 +16530.0 0.993693 +16535.0 0.983716 +16540.0 0.985604 +16545.0 0.995338 +16550.0 0.997057 +16555.0 0.996474 +16560.0 0.994213 +16565.0 0.990891 +16570.0 0.993737 +16575.0 0.997352 +16580.0 0.998644 +16585.0 0.998632 +16590.0 0.996879 +16595.0 0.995637 +16600.0 0.997682 +16605.0 0.99915 +16610.0 0.998298 +16615.0 0.996932 +16620.0 0.99522 +16625.0 0.994924 +16630.0 0.997324 +16635.0 0.998011 +16640.0 0.998667 +16645.0 0.996788 +16650.0 0.979618 +16655.0 0.948488 +16660.0 0.945662 +16665.0 0.966614 +16670.0 0.983386 +16675.0 0.992919 +16680.0 0.996386 +16685.0 0.996785 +16690.0 0.997608 +16695.0 0.998402 +16700.0 0.998608 + + diff --git a/DREAMS/filters/I.dat b/DREAMS/filters/I.dat new file mode 100644 index 00000000..2fbe0590 --- /dev/null +++ b/DREAMS/filters/I.dat @@ -0,0 +1,29 @@ +# source : Generic_Bessell.I SVO +# wavelength_unit : angstrom +# download_date : 2020-05-23 +wavelength transmission +7000.0 0.0000000000 +7100.0 0.0240000000 +7200.0 0.2320000000 +7300.0 0.5550000000 +7400.0 0.7850000000 +7500.0 0.9100000000 +7600.0 0.9650000000 +7700.0 0.9850000000 +7800.0 0.9900000000 +7900.0 0.9950000000 +8000.0 1.0000000000 +8100.0 1.0000000000 +8200.0 0.9900000000 +8300.0 0.9800000000 +8400.0 0.9500000000 +8500.0 0.9100000000 +8600.0 0.8600000000 +8700.0 0.7500000000 +8800.0 0.5600000000 +8900.0 0.3300000000 +9000.0 0.1500000000 +9100.0 0.0300000000 +9200.0 0.0000000000 + + diff --git a/DREAMS/filters/J.dat b/DREAMS/filters/J.dat new file mode 100644 index 00000000..2bc87cd8 --- /dev/null +++ b/DREAMS/filters/J.dat @@ -0,0 +1,341 @@ +# source : Generic_Bessell.I SVO +# wavelength_unit : angstrom +# download_date : 2020-05-23 +wavelength transmission +11610.0 0.924793 +11615.0 0.939469 +11620.0 0.935235 +11625.0 0.940330 +11630.0 0.967153 +11635.0 0.963672 +11640.0 0.962931 +11645.0 0.968273 +11700.0 0.976777 +11705.0 0.970486 +11710.0 0.971351 +11715.0 0.978771 +11720.0 0.974734 +11725.0 0.969387 +11730.0 0.968874 +11735.0 0.950085 +11740.0 0.926160 +11745.0 0.950492 +11750.0 0.970293 +11755.0 0.969632 +11760.0 0.985673 +11765.0 0.992625 +11770.0 0.976347 +11775.0 0.939686 +11780.0 0.939704 +11785.0 0.967125 +11790.0 0.977988 +11795.0 0.963961 +11800.0 0.970498 +11805.0 0.984841 +11810.0 0.973231 +11815.0 0.931265 +11820.0 0.901812 +11825.0 0.940128 +11830.0 0.97894 +11835.0 0.983834 +11840.0 0.963308 +11845.0 0.942425 +11850.0 0.948056 +11855.0 0.974568 +11860.0 0.985875 +11865.0 0.981767 +11870.0 0.971953 +11875.0 0.946152 +11880.0 0.927766 +11885.0 0.942206 +11890.0 0.966158 +11895.0 0.97845 +11900.0 0.98131 +11905.0 0.975805 +11910.0 0.976528 +11915.0 0.981461 +11920.0 0.98515 +11925.0 0.989246 +11930.0 0.980573 +11935.0 0.969614 +11940.0 0.980815 +11945.0 0.985875 +11950.0 0.979645 +11955.0 0.975587 +11960.0 0.978874 +11965.0 0.984236 +11970.0 0.983552 +11975.0 0.974215 +11980.0 0.976686 +11985.0 0.965804 +11990.0 0.953592 +11995.0 0.969139 +12000.0 0.979289 +12005.0 0.977727 +12010.0 0.973854 +12015.0 0.96744 +12020.0 0.96946 +12025.0 0.98217 +12030.0 0.974242 +12035.0 0.938635 +12040.0 0.931655 +12045.0 0.961394 +12050.0 0.96694 +12055.0 0.979921 +12060.0 0.988763 +12065.0 0.981954 +12070.0 0.975657 +12075.0 0.97462 +12080.0 0.974888 +12085.0 0.976584 +12090.0 0.974079 +12095.0 0.975023 +12100.0 0.980829 +12105.0 0.988011 +12110.0 0.979813 +12115.0 0.970395 +12120.0 0.975829 +12125.0 0.981656 +12130.0 0.989676 +12135.0 0.989908 +12140.0 0.981482 +12145.0 0.97762 +12150.0 0.979185 +12155.0 0.985892 +12160.0 0.991672 +12165.0 0.988323 +12170.0 0.988118 +12175.0 0.992453 +12180.0 0.990045 +12185.0 0.988053 +12190.0 0.985249 +12195.0 0.986161 +12200.0 0.988808 +12205.0 0.991329 +12210.0 0.991927 +12215.0 0.985437 +12220.0 0.984916 +12225.0 0.98675 +12230.0 0.98793 +12235.0 0.988101 +12240.0 0.989341 +12245.0 0.992705 +12250.0 0.993683 +12255.0 0.99338 +12260.0 0.994528 +12265.0 0.992313 +12270.0 0.988305 +12275.0 0.991586 +12280.0 0.996353 +12285.0 0.99734 +12290.0 0.996037 +12295.0 0.995 +12300.0 0.996146 +12305.0 0.998058 +12310.0 0.998798 +12315.0 0.998681 +12320.0 0.99861 +12325.0 0.997529 +12330.0 0.996024 +12335.0 0.996784 +12340.0 0.998865 +12345.0 0.999455 +12350.0 0.999224 +12355.0 0.999201 +12360.0 0.999391 +12365.0 0.998944 +12370.0 0.998798 +12375.0 0.999424 +12380.0 0.999618 +12385.0 0.999606 +12390.0 0.999781 +12395.0 0.99993 +12400.0 0.999797 +12405.0 0.999385 +12410.0 0.999350 +12415.0 0.999734 +12420.0 0.999924 +12425.0 0.999974 +12430.0 0.999987 +12435.0 0.999939 +12440.0 0.999773 +12445.0 0.999739 +12450.0 0.999856 +12455.0 0.999907 +12460.0 0.999909 +12465.0 0.999764 +12470.0 0.999769 +12475.0 0.999678 +12480.0 0.999199 +12485.0 0.999371 +12490.0 0.999458 +12495.0 0.998813 +12500.0 0.999102 +12505.0 0.999015 +12510.0 0.997745 +12515.0 0.998324 +12520.0 0.99845 +12525.0 0.996314 +12530.0 0.997153 +12535.0 0.997924 +12540.0 0.994379 +12545.0 0.994844 +12550.0 0.997322 +12555.0 0.993264 +12560.0 0.992223 +12565.0 0.996706 +12570.0 0.993291 +12575.0 0.988848 +12580.0 0.994142 +12585.0 0.993098 +12590.0 0.984481 +12595.0 0.986507 +12600.0 0.987911 +12605.0 0.976332 +12610.0 0.96995 +12615.0 0.97284 +12620.0 0.964341 +12625.0 0.951234 +12630.0 0.952896 +12635.0 0.952426 +12640.0 0.940197 +12645.0 0.937113 +12650.0 0.94514 +12655.0 0.94353 +12660.0 0.935879 +12665.0 0.944456 +12670.0 0.956846 +12675.0 0.957313 +12680.0 0.92053 +12685.0 0.827965 +12690.0 0.807267 +12695.0 0.886275 +12700.0 0.948279 +12705.0 0.969009 +12710.0 0.972691 +12715.0 0.972872 +12720.0 0.970527 +12725.0 0.970182 +12730.0 0.970524 +12735.0 0.974835 +12740.0 0.971955 +12745.0 0.974446 +12750.0 0.976771 +12755.0 0.982604 +12760.0 0.979863 +12765.0 0.980001 +12770.0 0.984974 +12775.0 0.988458 +12780.0 0.989417 +12785.0 0.987455 +12790.0 0.99239 +12795.0 0.99362 +12800.0 0.992737 +12805.0 0.992026 +12810.0 0.994972 +12815.0 0.997955 +12820.0 0.996923 +12825.0 0.995505 +12830.0 0.997479 +12835.0 0.998524 +12840.0 0.99736 +12845.0 0.995762 +12850.0 0.997514 +12855.0 0.999254 +12860.0 0.998899 +12865.0 0.997613 +12870.0 0.997433 +12875.0 0.998147 +12880.0 0.997244 +12885.0 0.994733 +12890.0 0.993903 +12895.0 0.996418 +12900.0 0.997936 +12905.0 0.998285 +12910.0 0.997258 +12915.0 0.993251 +12920.0 0.991921 +12925.0 0.995091 +12930.0 0.99726 +12935.0 0.997584 +12940.0 0.996804 +12945.0 0.99684 +12950.0 0.995199 +12955.0 0.991666 +12960.0 0.991817 +12965.0 0.992422 +12970.0 0.987373 +12975.0 0.985714 +12980.0 0.991971 +12985.0 0.996272 +12990.0 0.994008 +12995.0 0.985871 +13000.0 0.982165 +13005.0 0.978732 +13010.0 0.980889 +13015.0 0.990831 +13020.0 0.993541 +13025.0 0.986085 +13030.0 0.976738 +13035.0 0.965915 +13040.0 0.955407 +13045.0 0.962769 +13050.0 0.985006 +13055.0 0.98931 +13060.0 0.982626 +13065.0 0.961445 +13070.0 0.960899 +13075.0 0.974298 +13080.0 0.967194 +13085.0 0.975655 +13090.0 0.981421 +13095.0 0.955877 +13100.0 0.941234 +13105.0 0.94841 +13110.0 0.971694 +13115.0 0.98802 +13120.0 0.974471 +13125.0 0.959905 +13130.0 0.949271 +13135.0 0.924982 +13140.0 0.93072 +13145.0 0.950727 +13150.0 0.953239 +13155.0 0.955262 +13160.0 0.969497 +13165.0 0.966207 +13170.0 0.947109 +13175.0 0.966528 +13180.0 0.963793 +13185.0 0.938209 +13190.0 0.936239 +13195.0 0.933048 +13200.0 0.906022 +13205.0 0.917669 +13210.0 0.942001 +13215.0 0.935802 +13220.0 0.947142 +13225.0 0.936449 +13230.0 0.91291 +13235.0 0.925838 +13240.0 0.931362 +13245.0 0.948152 +13250.0 0.958899 +13255.0 0.939779 +13260.0 0.949633 +13265.0 0.950142 +13270.0 0.927565 +13275.0 0.925407 +13280.0 0.902933 +13285.0 0.860525 +13290.0 0.860352 +13295.0 0.899508 +13300.0 0.910738 +13305.0 0.890063 +13310.0 0.841053 +13315.0 0.807372 +13320.0 0.804376 +13325.0 0.821738 +13330.0 0.870898 + + From 7504a8b30c835da438bb8cc3e11f9f142ad76307 Mon Sep 17 00:00:00 2001 From: Astrogirlanjali Date: Wed, 7 Aug 2024 09:36:01 +1000 Subject: [PATCH 02/15] Add test scripts --- DREAMS/Test_codes/LMC.py | 75 +++++++++++++++++++ DREAMS/Test_codes/gal.py | 85 ++++++++++++++++++++++ DREAMS/Test_codes/star_1.py | 84 ++++++++++++++++++++++ DREAMS/Test_codes/testt.py | 140 ++++++++++++++++++++++++++++++++++++ 4 files changed, 384 insertions(+) create mode 100644 DREAMS/Test_codes/LMC.py create mode 100644 DREAMS/Test_codes/gal.py create mode 100644 DREAMS/Test_codes/star_1.py create mode 100644 DREAMS/Test_codes/testt.py diff --git a/DREAMS/Test_codes/LMC.py b/DREAMS/Test_codes/LMC.py new file mode 100644 index 00000000..4fc2fcf1 --- /dev/null +++ b/DREAMS/Test_codes/LMC.py @@ -0,0 +1,75 @@ +#cluster in the LMC +import os +import pytest +import numpy as np +from astropy.io.fits import HDUList +from matplotlib import pyplot as plt +from matplotlib.colors import LogNorm +import scopesim +import synphot +from scopesim import Source +from astropy.io import fits + + +from scopesim import rc +from scopesim.source.source_templates import star_field +import scopesim_templates as sim_tp +from scopesim.optics.fov_manager import FOVManager + +PLOTS = True + +if rc.__config__["!SIM.tests.run_integration_tests"] is False: + pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") + +# Set TOP_PATH to the directory containing the DREAMS package +TOP_PATH = "/Users/anjali/Desktop" +rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH + +# Adjust the PKGS dictionary to reflect the correct path +PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} + +# Verify the path to the DREAMS package +if not os.path.exists(PKGS["DREAMS"]): + raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") +else: + print("DREAMS package found at:", PKGS["DREAMS"]) + +cmds = scopesim.UserCommands(use_instrument="DREAMS") +cmds["!OBS.dit"] = 1000 +cmds["!OBS.ndit"] = 1000 +cmds["!DET.bin_size"] = 1 +cmds["!OBS.sky.bg_mag"] = 14.9 +cmds["!OBS.sky.filter_name"] = "J" +cmds["SIM.sub_pixel.flag"] = True +dreams = scopesim.OpticalTrain(cmds) +dreams["detector_linearity"].include = False +dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) +# Then make the initial field of view 10 times larges than normal. +dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec +dreams.fov_manager.volumes_list[0]["x_max"] = 18000 +dreams.fov_manager.volumes_list[0]["y_min"] = -18000 +dreams.fov_manager.volumes_list[0]["y_max"] = 18000 +# Finally, shrink the field of view to the detector size. +dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) + +print("scopesim package loaded successfully.") +src = sim_tp.stellar.clusters.cluster(mass=1000, distance=50000, core_radius=500, seed=9002) + +dreams.observe(src, update=False) +print("yessss anjali") +hdus = dreams.readout() +#dreams.readout(filename="Han.fits") +plt.subplot(121) +wave = np.arange(3000, 11000) +plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) +plt.subplot(122) +im = hdus[0][1].data +# detector_order = [2, 1, 4, 3, 6, 5] +detector_order = [1, 2, 3, 4, 5, 6] +plt.figure(figsize=(20, 20)) +for plot_number, hdu_number in enumerate(detector_order, 1): + plt.subplot(3, 2, plot_number) + plt.imshow(hdus[0][hdu_number].data, norm=LogNorm(), cmap="hot") + plt.colorbar() + +plt.show() diff --git a/DREAMS/Test_codes/gal.py b/DREAMS/Test_codes/gal.py new file mode 100644 index 00000000..98a93f85 --- /dev/null +++ b/DREAMS/Test_codes/gal.py @@ -0,0 +1,85 @@ +import os +import pytest +import numpy as np +from matplotlib import pyplot as plt +from matplotlib.colors import LogNorm +import scopesim +from scopesim import Source, rc +from scopesim_templates.extragalactic import galaxy +from scopesim.source.source_templates import star_field +from scopesim.optics.fov_manager import FOVManager +from astropy.io import fits + +PLOTS = True + +# Check if integration tests should be skipped +if rc.__config__["!SIM.tests.run_integration_tests"] is False: + pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") + +# Set TOP_PATH to the directory containing the DREAMS package +TOP_PATH = "/Users/anjali/Desktop" +rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH + +# Adjust the PKGS dictionary to reflect the correct path +PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} + +# Verify the path to the DREAMS package +if not os.path.exists(PKGS["DREAMS"]): + raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") +else: + print("DREAMS package found at:", PKGS["DREAMS"]) + +# Initialize UserCommands for DREAMS +cmds = scopesim.UserCommands(use_instrument="DREAMS") +cmds["!OBS.dit"] = 10 +cmds["!DET.bin_size"] = 1 +cmds["!OBS.sky.bg_mag"] = 14.9 +cmds["!OBS.sky.filter_name"] = "J" +cmds["SIM.sub_pixel.flag"] = True + +# Set up the optical train +dreams = scopesim.OpticalTrain(cmds) +dreams["detector_linearity"].include = False + +# Configure the field of view +dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) +dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec +dreams.fov_manager.volumes_list[0]["x_max"] = 18000 +dreams.fov_manager.volumes_list[0]["y_min"] = -18000 +dreams.fov_manager.volumes_list[0]["y_max"] = 18000 +dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) + +print("scopesim package loaded successfully.") + +# Create a galaxy source +src = galaxy("kc96/s0", z=0.1, amplitude=17, filter_curve="J", pixel_scale=0.05, r_eff=2.5, n=4, ellip=0.5, theta=45, extend=3) + +# Observe the source +dreams.observe(src, update=False) + +# Readout and plot +hdus = dreams.readout() + +plt.subplot(121) +wave = np.arange(3000, 11000) +plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) + +plt.subplot(122) +im = hdus[0][1].data +plt.imshow(im, norm=LogNorm()) +plt.colorbar() +plt.title("Observed Galaxy Field") +plt.xlabel("X Pixels") +plt.ylabel("Y Pixels") + +detector_order = [2, 1, 4, 3, 6, 5] +plt.figure(figsize=(20, 20)) +for plot_number, hdu_number in enumerate(detector_order, 1): + plt.subplot(3, 2, plot_number) + plt.imshow(np.log10(src.fields[0].data), origin="lower") + plt.colorbar() + plt.title(f"HDU {hdu_number}") + +plt.show() + + diff --git a/DREAMS/Test_codes/star_1.py b/DREAMS/Test_codes/star_1.py new file mode 100644 index 00000000..c6497145 --- /dev/null +++ b/DREAMS/Test_codes/star_1.py @@ -0,0 +1,84 @@ +import os +import pytest +import numpy as np +from astropy.io.fits import HDUList +from matplotlib import pyplot as plt +from matplotlib.colors import LogNorm +import scopesim +import synphot +from scopesim import Source +from astropy.io import fits + + +from scopesim import rc +from scopesim.source.source_templates import star_field +import scopesim_templates as sim_tp +from scopesim.optics.fov_manager import FOVManager + +PLOTS = True + +if rc.__config__["!SIM.tests.run_integration_tests"] is False: + pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") + +# Set TOP_PATH to the directory containing the DREAMS package +TOP_PATH = "/Users/anjali/Desktop" +rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH + +# Adjust the PKGS dictionary to reflect the correct path +PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} + +# Verify the path to the DREAMS package +if not os.path.exists(PKGS["DREAMS"]): + raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") +else: + print("DREAMS package found at:", PKGS["DREAMS"]) + +cmds = scopesim.UserCommands(use_instrument="DREAMS") +cmds["!OBS.dit"] = 10 +cmds["!DET.bin_size"] = 1 +cmds["!OBS.sky.bg_mag"] = 14.9 +cmds["!OBS.sky.filter_name"] = "J" +cmds["SIM.sub_pixel.flag"] = True +dreams = scopesim.OpticalTrain(cmds) +dreams["detector_linearity"].include = False +dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) +# Then make the initial field of view 10 times larges than normal. +dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec +dreams.fov_manager.volumes_list[0]["x_max"] = 18000 +dreams.fov_manager.volumes_list[0]["y_min"] = -18000 +dreams.fov_manager.volumes_list[0]["y_max"] = 18000 +# Finally, shrink the field of view to the detector size. +dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) + +print("scopesim package loaded successfully.") +x, y = np.meshgrid(np.arange(100), np.arange(100)) +img = np.exp(-1 * ( ( (x - 50) / 5)**2 + ( (y - 50) / 5)**2 ) ) +# Fits headers of the image. Yes it needs a WCS +hdr = fits.Header(dict(NAXIS=2,NAXIS1=img.shape[0]+1,NAXIS2=img.shape[1]+1, CRPIX1=img.shape[0] / 2, CRPIX2=img.shape[1] / 2, CRVAL1=0, CRVAL2=0, CDELT1=0.2/3600, CDELT2=0.2/3600, +CUNIT1="DEG", CUNIT2="DEG", CTYPE1='RA---TAN', CTYPE2='DEC--TAN')) +# Creating an ImageHDU object +hdu = fits.ImageHDU(data=img, header=hdr) + +# Creating of a black body spectrum +wave = np.arange(1000, 35000, 10 ) +bb = synphot.models.BlackBody1D(temperature=5000) +sp = synphot.SourceSpectrum(synphot.Empirical1D, points=wave, lookup_table=bb(wave)) +src = Source(image_hdu=hdu, spectra=sp) +src.shift(10, 10) +dreams.observe(src, update=False) +print("yessss anjali") +hdus = dreams.readout() +#dreams.readout(filename="Han.fits") +plt.subplot(121) +wave = np.arange(3000, 11000) +plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) +plt.subplot(122) +im = hdus[0][1].data +detector_order = [2, 1, 4, 3, 6, 5] +plt.figure(figsize=(20, 20)) +for plot_number, hdu_number in enumerate(detector_order, 1): + plt.subplot(3, 2, plot_number) + plt.imshow(hdus[0][hdu_number].data, origin="lower", norm=LogNorm()) + plt.colorbar() + +plt.show() diff --git a/DREAMS/Test_codes/testt.py b/DREAMS/Test_codes/testt.py new file mode 100644 index 00000000..9bf0bcf3 --- /dev/null +++ b/DREAMS/Test_codes/testt.py @@ -0,0 +1,140 @@ +import os +import pytest +import numpy as np +from astropy.io.fits import HDUList +from matplotlib import pyplot as plt +from matplotlib.colors import LogNorm +import scopesim + +from scopesim import rc +from scopesim.source.source_templates import star_field +import scopesim_templates as sim_tp +from scopesim.optics.fov_manager import FOVManager + +PLOTS = True + +if rc.__config__["!SIM.tests.run_integration_tests"] is False: + pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") + +# Set TOP_PATH to the directory containing the DREAMS package +TOP_PATH = "/Users/anjali/github" +rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH + +# Adjust the PKGS dictionary to reflect the correct path +PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} + +# Verify the path to the DREAMS package +if not os.path.exists(PKGS["DREAMS"]): + raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") +else: + print("DREAMS package found at:", PKGS["DREAMS"]) + +class TestLoads: + def test_scopesim_loads_package(self): + dreams = scopesim.OpticalTrain("DREAMS") + assert isinstance(dreams, scopesim.OpticalTrain) # Corrected syntax + print("scopesim package loaded successfully.") + +class TestObserves: + def test_something_comes_out(self): + print("Starting observation test...") + + # Setting the width to 10000 arcsec makes the field fill the image. + # A with of 700 works as well, but covers only a fraction of the + # middle two detectors. + src = star_field(10000, 10, 20, width=10000) + + cmds = scopesim.UserCommands(use_instrument="DREAMS") + cmds["!OBS.dit"] = 8 + cmds["!DET.bin_size"] = 1 + cmds["!OBS.sky.bg_mag"] = 14.9 + cmds["!OBS.sky.filter_name"] = "J" + cmds["SIM.sub_pixel.flag"] = True + + dreams = scopesim.OpticalTrain(cmds) + dreams["detector_linearity"].include = False + + # Hackish workaround to get a larger Field of View. + # This problem is fixed in https://github.com/AstarVienna/ScopeSim/pull/433 + # This hack can thus be removed once that is merged and a new + # ScopeSim version is released. + # First recreate the fov_manager without preloading the field of + # views with the wrong values. + dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) + # Then make the initial field of view 10 times larges than normal. + dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec + dreams.fov_manager.volumes_list[0]["x_max"] = 18000 + dreams.fov_manager.volumes_list[0]["y_min"] = -18000 + dreams.fov_manager.volumes_list[0]["y_max"] = 18000 + # Finally, shrink the field of view to the detector size. + dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) + + # We now need to put update=False here, because otherwise the hacked + # fov_manager gets reinitialized. dreams can therefor only be used + # once, and needs to be recreated for the next simulation. + dreams.observe(src, update=False) + + hdus = dreams.readout("dreams.fits") + + print(f"Observation completed. HDUList type: {type(hdus[0])}") + + if PLOTS: + plt.subplot(121) + wave = np.arange(3000, 11000) + plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) + + plt.subplot(122) + im = hdus[0][1].data + plt.imshow(im, norm=LogNorm()) + plt.colorbar() + plt.title("Observed Star Field") + plt.xlabel("X Pixels") + plt.ylabel("Y Pixels") + plt.grid() + plt.show() + + #detector_order = [2, 1, 4, 3, 6, 5] + #plt.figure(figsize=(20, 20)) + #for plot_number, hdu_number in enumerate(detector_order, 1): + #plt.subplot(3, 2, plot_number) + #plt.imshow(hdus[0][hdu_number].data, origin="lower", norm=LogNorm()) + #plt.colorbar() + #plt.show() + + @pytest.mark.slow + def test_observes_from_scopesim_templates(self): + print("Starting scopesim templates observation test...") + src = sim_tp.stellar.cluster(mass=10000, distance=2000, core_radius=1) + + dreams = scopesim.OpticalTrain("DREAMS") + dreams.observe(src) + + dreams.cmds["!OBS.dit"] = 10 + hdus = dreams.readout() + + assert isinstance(hdus[0], HDUList) + print("Observation from scopesim templates completed.") + + if PLOTS: + im = hdus[0][1].data + plt.imshow(im, norm=LogNorm(), cmap="hot") + plt.colorbar() + plt.show() + + @pytest.mark.slow + def test_saves_readout_to_disc(self): + print("Starting test to save readout to disk...") + src = sim_tp.stellar.cluster(mass=10000, distance=2000, core_radius=1) + dreams = scopesim.OpticalTrain("DREAMS") + dreams.observe(src) + dreams.readout(filename="GNANU.fits") + + assert os.path.exists("GNANU.fits") + print("Readout saved to GNANU.fits.") + +def run_test_and_plot(): + test_observes = TestObserves() + test_observes.test_something_comes_out() + +# Run the test and plot as soon as the module is imported +run_test_and_plot() From 3e55c1c72c94a6ea33f390da45036bfe26f80356 Mon Sep 17 00:00:00 2001 From: Astrogirlanjali Date: Wed, 7 Aug 2024 09:47:16 +1000 Subject: [PATCH 03/15] Added crowed field examples Cleanup fields.py and remove output --- DREAMS/Test_codes/field.ipynb | 253 ++++++++++++++++++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 DREAMS/Test_codes/field.ipynb diff --git a/DREAMS/Test_codes/field.ipynb b/DREAMS/Test_codes/field.ipynb new file mode 100644 index 00000000..a988c514 --- /dev/null +++ b/DREAMS/Test_codes/field.ipynb @@ -0,0 +1,253 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Mczzz3KcUzL0", + "outputId": "0748f1e7-7361-4346-cc74-00e3cc967baa" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "from scopesim_templates.stellar import cluster\n", + "import astropy\n", + "from astropy.table import QTable\n", + "import astropy.units as u\n", + "import numpy as np\n", + "import numpy as np\n", + "from astropy.table import Table\n", + "import matplotlib.pyplot as plt\n", + "from astroquery.simbad import Simbad\n", + "from astropy.coordinates import SkyCoord\n", + "import astropy.units as u\n", + "import numpy as np\n", + "from astropy.table import Table\n", + "import matplotlib.pyplot as plt\n", + "from astroquery.gaia import Gaia\n", + "import astropy.units as u\n", + "from astropy.coordinates import SkyCoord\n", + "from scopesim_templates.stellar import star_field, star_grid\n", + "import numpy as np\n", + "from astropy.table import Table\n", + "import matplotlib.pyplot as plt\n", + "from astroquery.gaia import Gaia\n", + "import astropy.units as u\n", + "from astropy.coordinates import SkyCoord\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "src = cluster(mass=1E3, distance=50000, core_radius=1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "hQvqPUhqVjUZ", + "outputId": "583b2ac8-7abe-40a5-bbeb-182ba3bede4e" + }, + "outputs": [], + "source": [ + "src.fields\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 714 + }, + "id": "EimFNanwVrDD", + "outputId": "75ba5c44-4072-4889-bb18-6f94171222c7" + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(8, 8))\n", + "plt.plot(src.fields[0][\"x\"], src.fields[0][\"y\"], '.')\n", + "plt.xlabel(\"X [arcsec]\")\n", + "plt.ylabel(\"Y [arcsec]\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "uUnEhR9ClNDp", + "outputId": "31f08023-3207-48e6-dc82-14f08867fb28" + }, + "outputs": [], + "source": [ + "\n", + "# Define the query for Gaia\n", + "query = \"\"\"\n", + "SELECT TOP 1000\n", + " source_id,\n", + " ra,\n", + " dec,\n", + " phot_g_mean_mag,\n", + " bp_rp\n", + "FROM gaiadr2.gaia_source\n", + "WHERE CONTAINS(\n", + " POINT('ICRS', ra, dec),\n", + " CIRCLE('ICRS', 75.0, -65.0, 5)\n", + ")=1\n", + "\"\"\"\n", + "\n", + "# Execute the query\n", + "job = Gaia.launch_job(query)\n", + "result = job.get_results()\n", + "\n", + "# Convert the results to an Astropy table\n", + "star_table = Table(result)\n", + "\n", + "# Display the table\n", + "print(star_table)\n", + "\n", + "# Plot the star field\n", + "plt.figure(figsize=(10, 10))\n", + "plt.scatter(star_table['ra'], star_table['dec'], s=10, c='white')\n", + "plt.gca().invert_yaxis() # Invert y-axis to match astronomical convention\n", + "plt.gca().set_facecolor('black') # Set the background color to black\n", + "plt.title('Star Field of Dorado Constellation')\n", + "plt.xlabel('RA (degrees)')\n", + "plt.ylabel('Dec (degrees)')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "teaFHYJDmH8O", + "outputId": "48a550f6-69fe-4ba5-92f3-81364ef49be0" + }, + "outputs": [], + "source": [ + "\n", + "\n", + "# Define the query for Gaia\n", + "query = \"\"\"\n", + "SELECT TOP 1000\n", + " source_id,\n", + " ra,\n", + " dec,\n", + " phot_g_mean_mag,\n", + " bp_rp\n", + "FROM gaiadr2.gaia_source\n", + "WHERE CONTAINS(\n", + " POINT('ICRS', ra, dec),\n", + " CIRCLE('ICRS', 90.0, -75.0, 5)\n", + ")=1\n", + "\"\"\"\n", + "\n", + "# Execute the query\n", + "job = Gaia.launch_job(query)\n", + "result = job.get_results()\n", + "\n", + "# Convert the results to an Astropy table\n", + "star_table = Table(result)\n", + "\n", + "# Display the table\n", + "print(star_table)\n", + "\n", + "# Plot the star field\n", + "plt.figure(figsize=(10, 10))\n", + "plt.scatter(star_table['ra'], star_table['dec'], s=10, c='white')\n", + "plt.gca().invert_yaxis() # Invert y-axis to match astronomical convention\n", + "plt.gca().set_facecolor('black') # Set the background color to black\n", + "plt.title('Star Field of Mensa Constellation')\n", + "plt.xlabel('RA (degrees)')\n", + "plt.ylabel('Dec (degrees)')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 617 + }, + "id": "Mtz9oAyYmu5o", + "outputId": "7a86eefd-bd6f-4fd9-f5b2-49c36208e2c3" + }, + "outputs": [], + "source": [ + "\n", + "field = star_field(n=400, mmin=15, mmax=25, width=20, height=20, filter_name=\"Ks\")\n", + "grid = star_grid(n=400, mmin=15, mmax=25, separation=1 , filter_name=\"Ks\")\n", + "\n", + "plt.figure(figsize=(14, 7))\n", + "plt.subplot(121)\n", + "\n", + "size = np.log10(field.fields[0][\"weight\"])**2\n", + "plt.scatter(field.fields[0][\"x\"], field.fields[0][\"y\"], s=size, marker=\"o\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "tsRbG1pAnTch" + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From e14ba68cf6619372211788769bdec6c70befbc8e Mon Sep 17 00:00:00 2001 From: Astrogirlanjali Date: Thu, 8 Aug 2024 18:02:08 +1000 Subject: [PATCH 04/15] Update default.yaml --- DREAMS/DREAMS.yaml | 6 +++--- DREAMS/default.yaml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DREAMS/DREAMS.yaml b/DREAMS/DREAMS.yaml index 0bf83cca..f575f82f 100644 --- a/DREAMS/DREAMS.yaml +++ b/DREAMS/DREAMS.yaml @@ -6,7 +6,7 @@ alias : INST name : DREAMS description : DREAMS is a 0.5m telescope operated - by the Department of Astropyhics at the University of ANU. + by the Department of Astrophyhics at the University of ANU. properties: temperature: -40 # deg @@ -18,7 +18,7 @@ effects: description : Schoepfl PSF class : SeeingPSF kwargs : - fwhm : 15.00 # [arcsec] + fwhm : 5.00 # [arcsec] - name : skycalc_average_atmo description : atmospheric properties for a default skycalc run class : AtmosphericTERCurve @@ -28,7 +28,7 @@ effects: rescale_emission: filter_name: "!OBS.filter_name" filename_format: "filters/{}.dat" - value: "!OBS.bg_mag" + value: "!OBS.sky.bg_mag" unit: mag - name: dreams_static_surfaces description : telescope and camera optical surfaces diff --git a/DREAMS/default.yaml b/DREAMS/default.yaml index 56bb6574..3c319132 100644 --- a/DREAMS/default.yaml +++ b/DREAMS/default.yaml @@ -17,17 +17,17 @@ properties : declination : -31.273 hour_angle : 0 pupil_angle : 0 - dit : 10 + dit : 8 ndit : 1 - filter_name : !OBS.filter_name + filter_name : J sky : bg_mag : 14.5 - filter_name : !OBS.filter_name + filter_name : J --- ### default simulation parameters needed for DREAMS simulation object : simulation -alias : SIM +alias : OBS name : LFAO_simulation_paramters description : RC simulation paramters From a96e150e1cfbc71ac891a0f1e85d19fa9fc4967b Mon Sep 17 00:00:00 2001 From: Astrogirlanjali Date: Thu, 29 Aug 2024 12:39:16 +1000 Subject: [PATCH 05/15] Added S0, elliptical galaxy --- DREAMS/Test_codes/Galaxy.py | 88 ++++++++++++++++++++++++++ DREAMS/Test_codes/LMC.py | 4 +- DREAMS/Test_codes/{gal.py => ellip.py} | 39 +++++------- 3 files changed, 105 insertions(+), 26 deletions(-) create mode 100644 DREAMS/Test_codes/Galaxy.py rename DREAMS/Test_codes/{gal.py => ellip.py} (79%) diff --git a/DREAMS/Test_codes/Galaxy.py b/DREAMS/Test_codes/Galaxy.py new file mode 100644 index 00000000..f76e5c38 --- /dev/null +++ b/DREAMS/Test_codes/Galaxy.py @@ -0,0 +1,88 @@ +# Extragalatic +import os +import pytest +import numpy as np +from astropy.io.fits import HDUList +from matplotlib import pyplot as plt +from matplotlib.colors import LogNorm +import scopesim +import synphot +from scopesim import Source +from astropy.io import fits +from scopesim_templates.extragalactic import galaxy +from scopesim import rc +from scopesim.source.source_templates import star_field +import scopesim_templates as sim_tp +from scopesim.optics.fov_manager import FOVManager + +PLOTS = True + +if rc.__config__["!SIM.tests.run_integration_tests"] is False: + pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") + +# Set TOP_PATH to the directory containing the DREAMS package +TOP_PATH = "/Users/anjali/github" +rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH + +# Adjust the PKGS dictionary to reflect the correct path +PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} + +# Verify the path to the DREAMS package +if not os.path.exists(PKGS["DREAMS"]): + raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") +else: + print("DREAMS package found at:", PKGS["DREAMS"]) + +cmds = scopesim.UserCommands(use_instrument="DREAMS") +cmds["!OBS.dit"] = 1000 +cmds["!OBS.ndit"] = 1000 +cmds["!DET.bin_size"] = 1 +cmds["!OBS.sky.bg_mag"] = 14.9 +cmds["!OBS.sky.filter_name"] = "J" +cmds["SIM.sub_pixel.flag"] = True +dreams = scopesim.OpticalTrain(cmds) +dreams["detector_linearity"].include = False +dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) +# Then make the initial field of view 10 times larges than normal. +dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec +dreams.fov_manager.volumes_list[0]["x_max"] = 18000 +dreams.fov_manager.volumes_list[0]["y_min"] = -18000 +dreams.fov_manager.volumes_list[0]["y_max"] = 18000 +# Finally, shrink the field of view to the detector size. +dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) + +print("scopesim package loaded successfully.") +from scopesim_templates.extragalactic import galaxy +src = galaxy("kc96/s0", z=1.5, amplitude=17, filter_curve="J", pixel_scale=0.01, r_eff=2.5, n=4, ellip=0.5, theta=45, extend=3) + +dreams.observe(src, update=False) +print("yessss anjali") +hdus = dreams.readout() +dreams.readout(filename="gal.fits") +# Observe the source +dreams.observe(src, update=False) + +# Readout and plot +hdus = dreams.readout() + +plt.subplot(122) +im = hdus[0][1].data +plt.imshow(im, norm=LogNorm()) +plt.colorbar() +plt.title("Observed Galaxy Field") +plt.xlabel("X Pixels") +plt.ylabel("Y Pixels") + +detector_order = [2, 1, 4, 3, 6, 5] +plt.figure(figsize=(20, 20)) +for plot_number, hdu_number in enumerate(detector_order, 1): + plt.subplot(3, 2, plot_number) + plt.imshow(np.log10(src.fields[0].data), origin="lower") + plt.colorbar() + plt.title(f"HDU {hdu_number}") + +plt.show() + + + + diff --git a/DREAMS/Test_codes/LMC.py b/DREAMS/Test_codes/LMC.py index 4fc2fcf1..9b3e8cfb 100644 --- a/DREAMS/Test_codes/LMC.py +++ b/DREAMS/Test_codes/LMC.py @@ -22,7 +22,7 @@ pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") # Set TOP_PATH to the directory containing the DREAMS package -TOP_PATH = "/Users/anjali/Desktop" +TOP_PATH = "/Users/anjali/github" rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH # Adjust the PKGS dictionary to reflect the correct path @@ -53,7 +53,7 @@ dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) print("scopesim package loaded successfully.") -src = sim_tp.stellar.clusters.cluster(mass=1000, distance=50000, core_radius=500, seed=9002) +src = sim_tp.stellar.clusters.cluster(mass=10000, distance=1800, core_radius=500, seed=9002) dreams.observe(src, update=False) print("yessss anjali") diff --git a/DREAMS/Test_codes/gal.py b/DREAMS/Test_codes/ellip.py similarity index 79% rename from DREAMS/Test_codes/gal.py rename to DREAMS/Test_codes/ellip.py index 98a93f85..ef452f57 100644 --- a/DREAMS/Test_codes/gal.py +++ b/DREAMS/Test_codes/ellip.py @@ -1,18 +1,23 @@ +#Elliptical Galaxy import os import pytest import numpy as np +from astropy.io.fits import HDUList from matplotlib import pyplot as plt from matplotlib.colors import LogNorm import scopesim -from scopesim import Source, rc -from scopesim_templates.extragalactic import galaxy +import synphot +from scopesim_templates.extragalactic.galaxies import elliptical +from astropy.io import fits + + +from scopesim import rc from scopesim.source.source_templates import star_field +import scopesim_templates as sim_tp from scopesim.optics.fov_manager import FOVManager -from astropy.io import fits PLOTS = True -# Check if integration tests should be skipped if rc.__config__["!SIM.tests.run_integration_tests"] is False: pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") @@ -29,41 +34,29 @@ else: print("DREAMS package found at:", PKGS["DREAMS"]) -# Initialize UserCommands for DREAMS cmds = scopesim.UserCommands(use_instrument="DREAMS") -cmds["!OBS.dit"] = 10 +cmds["!OBS.dit"] = 1000 +cmds["!OBS.ndit"] = 1000 cmds["!DET.bin_size"] = 1 cmds["!OBS.sky.bg_mag"] = 14.9 cmds["!OBS.sky.filter_name"] = "J" cmds["SIM.sub_pixel.flag"] = True - -# Set up the optical train dreams = scopesim.OpticalTrain(cmds) dreams["detector_linearity"].include = False - -# Configure the field of view dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) +# Then make the initial field of view 10 times larges than normal. dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec dreams.fov_manager.volumes_list[0]["x_max"] = 18000 dreams.fov_manager.volumes_list[0]["y_min"] = -18000 dreams.fov_manager.volumes_list[0]["y_max"] = 18000 +# Finally, shrink the field of view to the detector size. dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) print("scopesim package loaded successfully.") - -# Create a galaxy source -src = galaxy("kc96/s0", z=0.1, amplitude=17, filter_curve="J", pixel_scale=0.05, r_eff=2.5, n=4, ellip=0.5, theta=45, extend=3) - -# Observe the source +src = elliptical(half_light_radius=11500, pixel_scale=2.48, filter_name="J", amplitude=17, normalization="total", n=4, ellipticity=0.5, angle=30) dreams.observe(src, update=False) - -# Readout and plot hdus = dreams.readout() - -plt.subplot(121) -wave = np.arange(3000, 11000) -plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) - +dreams.readout(filename="ellip.fits") plt.subplot(122) im = hdus[0][1].data plt.imshow(im, norm=LogNorm()) @@ -81,5 +74,3 @@ plt.title(f"HDU {hdu_number}") plt.show() - - From 3cd3c082a94964fe1913cd4e71c325e7ff183bb6 Mon Sep 17 00:00:00 2001 From: Astrogirlanjali Date: Sat, 14 Sep 2024 01:23:50 +1000 Subject: [PATCH 06/15] Added block filters --- DREAMS/filters/H_block.dat | 8 ++++++++ DREAMS/filters/J_block.dat | 8 ++++++++ 2 files changed, 16 insertions(+) create mode 100644 DREAMS/filters/H_block.dat create mode 100644 DREAMS/filters/J_block.dat diff --git a/DREAMS/filters/H_block.dat b/DREAMS/filters/H_block.dat new file mode 100644 index 00000000..c1def74f --- /dev/null +++ b/DREAMS/filters/H_block.dat @@ -0,0 +1,8 @@ +# source : Generic_Bessell.I SVO +# wavelength_unit : angstrom +# download_date : 2020-05-23 +wavelength transmission +14900.0 0.0 +16700.0 0.0 + + diff --git a/DREAMS/filters/J_block.dat b/DREAMS/filters/J_block.dat new file mode 100644 index 00000000..a3664a86 --- /dev/null +++ b/DREAMS/filters/J_block.dat @@ -0,0 +1,8 @@ +# source : Generic_Bessell.I SVO +# wavelength_unit : angstrom +# download_date : 2020-05-23 +wavelength transmission +11610.0 0.0 +13330.0 0.870898 + + From 46edf17a98b710f8d7bf421dd7ddc9ea8895d10c Mon Sep 17 00:00:00 2001 From: Anjali_Shivani <114407895+Astrogirlanajli@users.noreply.github.com> Date: Sun, 11 Aug 2024 18:04:53 +1000 Subject: [PATCH 07/15] Create README.md --- DREAMS/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 DREAMS/README.md diff --git a/DREAMS/README.md b/DREAMS/README.md new file mode 100644 index 00000000..dc1da135 --- /dev/null +++ b/DREAMS/README.md @@ -0,0 +1,5 @@ +# DREAMS Telescope in a nutshell: + +The Dynamic REd All-Sky Monitoring Survey (DREAMS) is a cutting-edge 0.5-meter infrared telescope strategically situated at the Siding Spring Observatory, part of the Australian National University. DREAMS is pioneering in its application of Indium Gallium Arsenide (InGaAs) detectors, which, despite having a higher noise profile, offer a cost-effective alternative to the traditionally used mercury-cadmium-telluride (HgCdTe) detectors in infrared astronomy. The telescope is equipped with the advanced Princeton Infrared Technologies 1280SCICAM, enabling high-sensitivity observations across the near-infrared spectrum. + +DREAMS is designed to push the boundaries of wide-field time-domain astronomy in parallel with other surveys such as Palomar Gattini-IR and WINTER. As a southern sky near-infrared time-domain survey, DREAMS is uniquely positioned to contribute to a range of astrophysical phenomena significantly. These include detecting and characterising Fast Radio Bursts (FRBs), studying variable stars such as RR Lyrae, and advancing multi-messenger astronomy by providing crucial infrared observations that complement data from other wavelengths and messengers. From 8f69c8505d42eadbb53ba186bf2d2c9a88ca483a Mon Sep 17 00:00:00 2001 From: Anjali_Shivani <114407895+Astrogirlanajli@users.noreply.github.com> Date: Wed, 14 Aug 2024 23:25:02 +1000 Subject: [PATCH 08/15] Add files via upload --- DREAMS/Test_codes/Lc.py | 75 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 DREAMS/Test_codes/Lc.py diff --git a/DREAMS/Test_codes/Lc.py b/DREAMS/Test_codes/Lc.py new file mode 100644 index 00000000..132f5bbf --- /dev/null +++ b/DREAMS/Test_codes/Lc.py @@ -0,0 +1,75 @@ +#cluster in the LMC +import os +import pytest +import numpy as np +from astropy.io.fits import HDUList +from matplotlib import pyplot as plt +from matplotlib.colors import LogNorm +import scopesim +import synphot +from scopesim import Source +from astropy.io import fits + + +from scopesim import rc +from scopesim.source.source_templates import star_field +import scopesim_templates as sim_tp +from scopesim_templates.stellar import cluster + +from scopesim.optics.fov_manager import FOVManager + +PLOTS = True + +if rc.__config__["!SIM.tests.run_integration_tests"] is False: + pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") + +# Set TOP_PATH to the directory containing the DREAMS package +TOP_PATH = "/Users/anjali/github" +rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH + +# Adjust the PKGS dictionary to reflect the correct path +PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} + +# Verify the path to the DREAMS package +if not os.path.exists(PKGS["DREAMS"]): + raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") +else: + print("DREAMS package found at:", PKGS["DREAMS"]) + +cmds = scopesim.UserCommands(use_instrument="DREAMS") +cmds["!OBS.dit"] = 1000 +cmds["!OBS.ndit"] = 1000 +cmds["!DET.bin_size"] = 1 +cmds["!OBS.sky.bg_mag"] = 14.9 +cmds["!OBS.sky.filter_name"] = "J" +cmds["SIM.sub_pixel.flag"] = True +dreams = scopesim.OpticalTrain(cmds) +dreams["detector_linearity"].include = False +dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) +# Then make the initial field of view 10 times larges than normal. +dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec +dreams.fov_manager.volumes_list[0]["x_max"] = 18000 +dreams.fov_manager.volumes_list[0]["y_min"] = -18000 +dreams.fov_manager.volumes_list[0]["y_max"] = 18000 +# Finally, shrink the field of view to the detector size. +dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) + +print("scopesim package loaded successfully.") +src = cluster(mass=1000, distance=50000, core_radius=500, seed=9002) + +dreams.observe(src, update=False) +print("yessss anjali") +hdus = dreams.readout() +dreams.readout(filename="Lc.fits") +#plt.subplot(121) +#wave = np.arange(3000, 11000) +#plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) +plt.subplot(122) +im = hdus[0][1].data +plt.imshow(im, norm=LogNorm()) +plt.colorbar() +plt.title("Observed Star Field") +plt.xlabel("X Pixels") +plt.ylabel("Y Pixels") +plt.grid() +plt.show() From bc2553cac1ab42e45eb0b9da46f5bad9e5379fba Mon Sep 17 00:00:00 2001 From: Anjali_Shivani <114407895+Astrogirlanajli@users.noreply.github.com> Date: Wed, 2 Oct 2024 12:31:16 +1000 Subject: [PATCH 09/15] Create GaussianDiffractionPSF.py --- DREAMS/Test_codes/GaussianDiffractionPSF.py | 68 +++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 DREAMS/Test_codes/GaussianDiffractionPSF.py diff --git a/DREAMS/Test_codes/GaussianDiffractionPSF.py b/DREAMS/Test_codes/GaussianDiffractionPSF.py new file mode 100644 index 00000000..cad84dcf --- /dev/null +++ b/DREAMS/Test_codes/GaussianDiffractionPSF.py @@ -0,0 +1,68 @@ +import os +import numpy as np +from astropy import units as u +from matplotlib import pyplot as plt +from matplotlib.colors import LogNorm +from astropy.convolution import Gaussian2DKernel +from scopesim.utils import quantify +from scopesim import rc +from scopesim_templates.stellar import star_field +from scopesim.optics.fov_manager import FOVManager + +# Set plotting flag +PLOTS = True + +# GaussianDiffractionPSF Class +class GaussianDiffractionPSF: + def __init__(self, diameter=0.1, **kwargs): # Default diameter is 0.1 m + self.meta = {"diameter": diameter, "z_order": [242, 642]} + self.required_keys = {"pixel_scale"} + self.valid_waverange = [11610.0 * u.angstrom.to(u.micron), # Min wavelength in microns + 13330.0 * u.angstrom.to(u.micron)] # Max wavelength in microns + + def update(self, **kwargs): + if "diameter" in kwargs: + self.meta["diameter"] = kwargs["diameter"] + + def get_kernel(self, pixel_scale): + wave_min = 11610.0 * u.angstrom.to(u.micron) # Using J band min wave + wave_max =13330.0 * u.angstrom.to(u.micron) # Using J band max wave + wave = 0.5 * (wave_max + wave_min) # Average wave + wave = quantify(wave, u.um) + + + diameter = quantify(self.meta["diameter"], u.m).to(u.um) + fwhm = 1.22 * (wave / diameter) * u.rad.to(u.arcsec) / pixel_scale + + sigma = fwhm.value / 2.35 + kernel = Gaussian2DKernel(sigma, mode="center").array + kernel /= np.sum(kernel) + + return kernel + + def plot(self, pixel_scale): + kernel = self.get_kernel(pixel_scale) + + size = kernel.shape[0] + arcsec_extent = size * pixel_scale / 2 + x = np.linspace(-arcsec_extent, arcsec_extent, size) + y = np.linspace(-arcsec_extent, arcsec_extent, size) + + plt.figure(figsize=(8, 6)) + plt.imshow(kernel, origin='lower', extent=[x[0], x[-1], y[0], y[-1]], cmap='plasma', norm=LogNorm(vmin=1e-6, vmax=1)) + plt.colorbar(label='Intensity') + plt.title(f"Gaussian Diffraction PSF (Diameter = {self.meta['diameter']} m, J Band Wavelength)") + plt.xlabel("X [arcseconds]") + plt.ylabel("Y [arcseconds]") + plt.gca().set_aspect('equal', adjustable='box') + plt.grid(False) + plt.show() + +# Define the pixel scale for DREAMS +pixel_scale = 2.48 # Arcseconds per pixel for DREAMS + +# Instantiate the GaussianDiffractionPSF class +gaussian_psf = GaussianDiffractionPSF(diameter=0.5) + +# Plot the Gaussian Diffraction PSF +gaussian_psf.plot(pixel_scale) From f146cf76179f1584ceeb8e0f5d664dfbbd5e1b8a Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Wed, 15 Oct 2025 22:06:15 +0200 Subject: [PATCH 10/15] Add inst_pkgs symlink --- DREAMS/Test_codes/inst_pkgs | 1 + 1 file changed, 1 insertion(+) create mode 120000 DREAMS/Test_codes/inst_pkgs diff --git a/DREAMS/Test_codes/inst_pkgs b/DREAMS/Test_codes/inst_pkgs new file mode 120000 index 00000000..c25bddb6 --- /dev/null +++ b/DREAMS/Test_codes/inst_pkgs @@ -0,0 +1 @@ +../.. \ No newline at end of file From 8c1f1b2afab6ed3c9bb2f7095daf5aa9db0fb27f Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Wed, 15 Oct 2025 22:13:04 +0200 Subject: [PATCH 11/15] Rename SummedExposure to ExposureIntegration --- DREAMS/DREAMS_InGaAs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DREAMS/DREAMS_InGaAs.yaml b/DREAMS/DREAMS_InGaAs.yaml index e59666ca..2c290ba3 100644 --- a/DREAMS/DREAMS_InGaAs.yaml +++ b/DREAMS/DREAMS_InGaAs.yaml @@ -29,9 +29,9 @@ effects: kwargs : filename : QE_InGaAs.dat -- name: exposure_action +- name: exposure_integration description: Summing up sky signal for all DITs and NDITs - class: SummedExposure + class: ExposureIntegration - name: dark_current description : SBIG dark current From bc860aa92fe3077ee7631cf441f8f81957cfeca6 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Wed, 15 Oct 2025 22:06:53 +0200 Subject: [PATCH 12/15] Cleanup example scripts Remove now unnecessary references to specific path Replace surfaces_table.throughput with system_transmission Remove FOV-workaround that is now not necessary anymore. Fixed by https://github.com/AstarVienna/ScopeSim/pull/433. Rename testt.py to cluster.py and cleanup --- DREAMS/Test_codes/Galaxy.py | 25 +-------- DREAMS/Test_codes/LMC.py | 25 +-------- DREAMS/Test_codes/Lc.py | 25 +-------- DREAMS/Test_codes/{testt.py => cluster.py} | 60 +++++++--------------- DREAMS/Test_codes/ellip.py | 23 +-------- DREAMS/Test_codes/star_1.py | 25 +-------- 6 files changed, 28 insertions(+), 155 deletions(-) rename DREAMS/Test_codes/{testt.py => cluster.py} (58%) diff --git a/DREAMS/Test_codes/Galaxy.py b/DREAMS/Test_codes/Galaxy.py index f76e5c38..7287ea2f 100644 --- a/DREAMS/Test_codes/Galaxy.py +++ b/DREAMS/Test_codes/Galaxy.py @@ -20,19 +20,6 @@ if rc.__config__["!SIM.tests.run_integration_tests"] is False: pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") -# Set TOP_PATH to the directory containing the DREAMS package -TOP_PATH = "/Users/anjali/github" -rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH - -# Adjust the PKGS dictionary to reflect the correct path -PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} - -# Verify the path to the DREAMS package -if not os.path.exists(PKGS["DREAMS"]): - raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") -else: - print("DREAMS package found at:", PKGS["DREAMS"]) - cmds = scopesim.UserCommands(use_instrument="DREAMS") cmds["!OBS.dit"] = 1000 cmds["!OBS.ndit"] = 1000 @@ -42,25 +29,17 @@ cmds["SIM.sub_pixel.flag"] = True dreams = scopesim.OpticalTrain(cmds) dreams["detector_linearity"].include = False -dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) -# Then make the initial field of view 10 times larges than normal. -dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec -dreams.fov_manager.volumes_list[0]["x_max"] = 18000 -dreams.fov_manager.volumes_list[0]["y_min"] = -18000 -dreams.fov_manager.volumes_list[0]["y_max"] = 18000 -# Finally, shrink the field of view to the detector size. -dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) print("scopesim package loaded successfully.") from scopesim_templates.extragalactic import galaxy src = galaxy("kc96/s0", z=1.5, amplitude=17, filter_curve="J", pixel_scale=0.01, r_eff=2.5, n=4, ellip=0.5, theta=45, extend=3) -dreams.observe(src, update=False) +dreams.observe(src) print("yessss anjali") hdus = dreams.readout() dreams.readout(filename="gal.fits") # Observe the source -dreams.observe(src, update=False) +dreams.observe(src) # Readout and plot hdus = dreams.readout() diff --git a/DREAMS/Test_codes/LMC.py b/DREAMS/Test_codes/LMC.py index 9b3e8cfb..8c02e732 100644 --- a/DREAMS/Test_codes/LMC.py +++ b/DREAMS/Test_codes/LMC.py @@ -21,19 +21,6 @@ if rc.__config__["!SIM.tests.run_integration_tests"] is False: pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") -# Set TOP_PATH to the directory containing the DREAMS package -TOP_PATH = "/Users/anjali/github" -rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH - -# Adjust the PKGS dictionary to reflect the correct path -PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} - -# Verify the path to the DREAMS package -if not os.path.exists(PKGS["DREAMS"]): - raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") -else: - print("DREAMS package found at:", PKGS["DREAMS"]) - cmds = scopesim.UserCommands(use_instrument="DREAMS") cmds["!OBS.dit"] = 1000 cmds["!OBS.ndit"] = 1000 @@ -43,25 +30,17 @@ cmds["SIM.sub_pixel.flag"] = True dreams = scopesim.OpticalTrain(cmds) dreams["detector_linearity"].include = False -dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) -# Then make the initial field of view 10 times larges than normal. -dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec -dreams.fov_manager.volumes_list[0]["x_max"] = 18000 -dreams.fov_manager.volumes_list[0]["y_min"] = -18000 -dreams.fov_manager.volumes_list[0]["y_max"] = 18000 -# Finally, shrink the field of view to the detector size. -dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) print("scopesim package loaded successfully.") src = sim_tp.stellar.clusters.cluster(mass=10000, distance=1800, core_radius=500, seed=9002) -dreams.observe(src, update=False) +dreams.observe(src) print("yessss anjali") hdus = dreams.readout() #dreams.readout(filename="Han.fits") plt.subplot(121) wave = np.arange(3000, 11000) -plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) +plt.plot(wave, dreams.optics_manager.system_transmission(wave)) plt.subplot(122) im = hdus[0][1].data # detector_order = [2, 1, 4, 3, 6, 5] diff --git a/DREAMS/Test_codes/Lc.py b/DREAMS/Test_codes/Lc.py index 132f5bbf..3e37bb18 100644 --- a/DREAMS/Test_codes/Lc.py +++ b/DREAMS/Test_codes/Lc.py @@ -23,19 +23,6 @@ if rc.__config__["!SIM.tests.run_integration_tests"] is False: pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") -# Set TOP_PATH to the directory containing the DREAMS package -TOP_PATH = "/Users/anjali/github" -rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH - -# Adjust the PKGS dictionary to reflect the correct path -PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} - -# Verify the path to the DREAMS package -if not os.path.exists(PKGS["DREAMS"]): - raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") -else: - print("DREAMS package found at:", PKGS["DREAMS"]) - cmds = scopesim.UserCommands(use_instrument="DREAMS") cmds["!OBS.dit"] = 1000 cmds["!OBS.ndit"] = 1000 @@ -45,25 +32,17 @@ cmds["SIM.sub_pixel.flag"] = True dreams = scopesim.OpticalTrain(cmds) dreams["detector_linearity"].include = False -dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) -# Then make the initial field of view 10 times larges than normal. -dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec -dreams.fov_manager.volumes_list[0]["x_max"] = 18000 -dreams.fov_manager.volumes_list[0]["y_min"] = -18000 -dreams.fov_manager.volumes_list[0]["y_max"] = 18000 -# Finally, shrink the field of view to the detector size. -dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) print("scopesim package loaded successfully.") src = cluster(mass=1000, distance=50000, core_radius=500, seed=9002) -dreams.observe(src, update=False) +dreams.observe(src) print("yessss anjali") hdus = dreams.readout() dreams.readout(filename="Lc.fits") #plt.subplot(121) #wave = np.arange(3000, 11000) -#plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) +#plt.plot(wave, dreams.optics_manager.system_transmission(wave)) plt.subplot(122) im = hdus[0][1].data plt.imshow(im, norm=LogNorm()) diff --git a/DREAMS/Test_codes/testt.py b/DREAMS/Test_codes/cluster.py similarity index 58% rename from DREAMS/Test_codes/testt.py rename to DREAMS/Test_codes/cluster.py index 9bf0bcf3..e238512e 100644 --- a/DREAMS/Test_codes/testt.py +++ b/DREAMS/Test_codes/cluster.py @@ -9,25 +9,12 @@ from scopesim import rc from scopesim.source.source_templates import star_field import scopesim_templates as sim_tp -from scopesim.optics.fov_manager import FOVManager PLOTS = True if rc.__config__["!SIM.tests.run_integration_tests"] is False: pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") -# Set TOP_PATH to the directory containing the DREAMS package -TOP_PATH = "/Users/anjali/github" -rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH - -# Adjust the PKGS dictionary to reflect the correct path -PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} - -# Verify the path to the DREAMS package -if not os.path.exists(PKGS["DREAMS"]): - raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") -else: - print("DREAMS package found at:", PKGS["DREAMS"]) class TestLoads: def test_scopesim_loads_package(self): @@ -35,6 +22,7 @@ def test_scopesim_loads_package(self): assert isinstance(dreams, scopesim.OpticalTrain) # Corrected syntax print("scopesim package loaded successfully.") + class TestObserves: def test_something_comes_out(self): print("Starting observation test...") @@ -54,25 +42,7 @@ def test_something_comes_out(self): dreams = scopesim.OpticalTrain(cmds) dreams["detector_linearity"].include = False - # Hackish workaround to get a larger Field of View. - # This problem is fixed in https://github.com/AstarVienna/ScopeSim/pull/433 - # This hack can thus be removed once that is merged and a new - # ScopeSim version is released. - # First recreate the fov_manager without preloading the field of - # views with the wrong values. - dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) - # Then make the initial field of view 10 times larges than normal. - dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec - dreams.fov_manager.volumes_list[0]["x_max"] = 18000 - dreams.fov_manager.volumes_list[0]["y_min"] = -18000 - dreams.fov_manager.volumes_list[0]["y_max"] = 18000 - # Finally, shrink the field of view to the detector size. - dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) - - # We now need to put update=False here, because otherwise the hacked - # fov_manager gets reinitialized. dreams can therefor only be used - # once, and needs to be recreated for the next simulation. - dreams.observe(src, update=False) + dreams.observe(src) hdus = dreams.readout("dreams.fits") @@ -81,7 +51,7 @@ def test_something_comes_out(self): if PLOTS: plt.subplot(121) wave = np.arange(3000, 11000) - plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) + plt.plot(wave, dreams.optics_manager.system_transmission(wave)) plt.subplot(122) im = hdus[0][1].data @@ -93,13 +63,18 @@ def test_something_comes_out(self): plt.grid() plt.show() - #detector_order = [2, 1, 4, 3, 6, 5] - #plt.figure(figsize=(20, 20)) - #for plot_number, hdu_number in enumerate(detector_order, 1): - #plt.subplot(3, 2, plot_number) - #plt.imshow(hdus[0][hdu_number].data, origin="lower", norm=LogNorm()) - #plt.colorbar() - #plt.show() + detector_order = [2, 1, 4, 3, 6, 5] + plt.figure(figsize=(20, 20)) + for plot_number, hdu_number in enumerate(detector_order, 1): + plt.subplot(3, 2, plot_number) + data = hdus[0][hdu_number].data + med = np.median(data) + std = np.std(data) + vmin = med + vmax = med + 5 * std + plt.imshow(data, origin="lower", norm=LogNorm(vmin=vmin, vmax=vmax)) + plt.colorbar() + plt.show() @pytest.mark.slow def test_observes_from_scopesim_templates(self): @@ -132,9 +107,12 @@ def test_saves_readout_to_disc(self): assert os.path.exists("GNANU.fits") print("Readout saved to GNANU.fits.") + def run_test_and_plot(): test_observes = TestObserves() test_observes.test_something_comes_out() + # Run the test and plot as soon as the module is imported -run_test_and_plot() +if __name__ == '__main__': + run_test_and_plot() diff --git a/DREAMS/Test_codes/ellip.py b/DREAMS/Test_codes/ellip.py index ef452f57..7004683b 100644 --- a/DREAMS/Test_codes/ellip.py +++ b/DREAMS/Test_codes/ellip.py @@ -21,19 +21,6 @@ if rc.__config__["!SIM.tests.run_integration_tests"] is False: pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") -# Set TOP_PATH to the directory containing the DREAMS package -TOP_PATH = "/Users/anjali/Desktop" -rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH - -# Adjust the PKGS dictionary to reflect the correct path -PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} - -# Verify the path to the DREAMS package -if not os.path.exists(PKGS["DREAMS"]): - raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") -else: - print("DREAMS package found at:", PKGS["DREAMS"]) - cmds = scopesim.UserCommands(use_instrument="DREAMS") cmds["!OBS.dit"] = 1000 cmds["!OBS.ndit"] = 1000 @@ -43,18 +30,10 @@ cmds["SIM.sub_pixel.flag"] = True dreams = scopesim.OpticalTrain(cmds) dreams["detector_linearity"].include = False -dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) -# Then make the initial field of view 10 times larges than normal. -dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec -dreams.fov_manager.volumes_list[0]["x_max"] = 18000 -dreams.fov_manager.volumes_list[0]["y_min"] = -18000 -dreams.fov_manager.volumes_list[0]["y_max"] = 18000 -# Finally, shrink the field of view to the detector size. -dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) print("scopesim package loaded successfully.") src = elliptical(half_light_radius=11500, pixel_scale=2.48, filter_name="J", amplitude=17, normalization="total", n=4, ellipticity=0.5, angle=30) -dreams.observe(src, update=False) +dreams.observe(src) hdus = dreams.readout() dreams.readout(filename="ellip.fits") plt.subplot(122) diff --git a/DREAMS/Test_codes/star_1.py b/DREAMS/Test_codes/star_1.py index c6497145..55ac0556 100644 --- a/DREAMS/Test_codes/star_1.py +++ b/DREAMS/Test_codes/star_1.py @@ -20,19 +20,6 @@ if rc.__config__["!SIM.tests.run_integration_tests"] is False: pytestmark = pytest.mark.skip("Ignoring DREAMS integration tests") -# Set TOP_PATH to the directory containing the DREAMS package -TOP_PATH = "/Users/anjali/Desktop" -rc.__config__["!SIM.file.local_packages_path"] = TOP_PATH - -# Adjust the PKGS dictionary to reflect the correct path -PKGS = {"DREAMS": os.path.join(TOP_PATH, "DREAMS")} - -# Verify the path to the DREAMS package -if not os.path.exists(PKGS["DREAMS"]): - raise FileNotFoundError(f"DREAMS package not found at {PKGS['DREAMS']}") -else: - print("DREAMS package found at:", PKGS["DREAMS"]) - cmds = scopesim.UserCommands(use_instrument="DREAMS") cmds["!OBS.dit"] = 10 cmds["!DET.bin_size"] = 1 @@ -41,14 +28,6 @@ cmds["SIM.sub_pixel.flag"] = True dreams = scopesim.OpticalTrain(cmds) dreams["detector_linearity"].include = False -dreams.fov_manager = FOVManager(dreams.optics_manager.fov_setup_effects, cmds=dreams.cmds, preload_fovs=False) -# Then make the initial field of view 10 times larges than normal. -dreams.fov_manager.volumes_list[0]["x_min"] = -18000 # arcsec -dreams.fov_manager.volumes_list[0]["x_max"] = 18000 -dreams.fov_manager.volumes_list[0]["y_min"] = -18000 -dreams.fov_manager.volumes_list[0]["y_max"] = 18000 -# Finally, shrink the field of view to the detector size. -dreams.fov_manager._fovs_list = list(dreams.fov_manager.generate_fovs_list()) print("scopesim package loaded successfully.") x, y = np.meshgrid(np.arange(100), np.arange(100)) @@ -65,13 +44,13 @@ sp = synphot.SourceSpectrum(synphot.Empirical1D, points=wave, lookup_table=bb(wave)) src = Source(image_hdu=hdu, spectra=sp) src.shift(10, 10) -dreams.observe(src, update=False) +dreams.observe(src) print("yessss anjali") hdus = dreams.readout() #dreams.readout(filename="Han.fits") plt.subplot(121) wave = np.arange(3000, 11000) -plt.plot(wave, dreams.optics_manager.surfaces_table.throughput(wave)) +plt.plot(wave, dreams.optics_manager.system_transmission(wave)) plt.subplot(122) im = hdus[0][1].data detector_order = [2, 1, 4, 3, 6, 5] From 501a4e3e479a26842af9a03c965cb54b864648a4 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Wed, 15 Oct 2025 22:54:01 +0200 Subject: [PATCH 13/15] Add bin_size to the default detector properties --- DREAMS/DREAMS_InGaAs.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DREAMS/DREAMS_InGaAs.yaml b/DREAMS/DREAMS_InGaAs.yaml index 2c290ba3..2e8077e9 100644 --- a/DREAMS/DREAMS_InGaAs.yaml +++ b/DREAMS/DREAMS_InGaAs.yaml @@ -14,6 +14,8 @@ properties: height: 1024 x: 0 y: 0 + bin_size: 1 + effects: - name: full_detector_array description: THe full DREAMS detector array list From 6b5473ea151c3df50bb31a21250d684ec0b2dc37 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Thu, 7 May 2026 12:24:45 +0200 Subject: [PATCH 14/15] Cleanup LMC.py and make compatible with latest scopesim --- DREAMS/Test_codes/LMC.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/DREAMS/Test_codes/LMC.py b/DREAMS/Test_codes/LMC.py index 8c02e732..dd52859c 100644 --- a/DREAMS/Test_codes/LMC.py +++ b/DREAMS/Test_codes/LMC.py @@ -1,4 +1,5 @@ -#cluster in the LMC +"""A cluster in the LMC.""" + import os import pytest import numpy as np @@ -35,20 +36,24 @@ src = sim_tp.stellar.clusters.cluster(mass=10000, distance=1800, core_radius=500, seed=9002) dreams.observe(src) -print("yessss anjali") -hdus = dreams.readout() -#dreams.readout(filename="Han.fits") -plt.subplot(121) -wave = np.arange(3000, 11000) -plt.plot(wave, dreams.optics_manager.system_transmission(wave)) -plt.subplot(122) -im = hdus[0][1].data +hdus = dreams.readout("LMC.fits") + +dreams.optics_manager.system_transmission(plot=True) + # detector_order = [2, 1, 4, 3, 6, 5] detector_order = [1, 2, 3, 4, 5, 6] + plt.figure(figsize=(20, 20)) +# Nothing visible here because the sources are too small. for plot_number, hdu_number in enumerate(detector_order, 1): plt.subplot(3, 2, plot_number) - plt.imshow(hdus[0][hdu_number].data, norm=LogNorm(), cmap="hot") + plt.imshow(hdus[0][hdu_number].data, norm='log', cmap="hot") plt.colorbar() - + +# Does show something. +plt.figure(figsize=(20, 20)) +plt.subplot(1, 1, 1) +plt.imshow(hdus[0][2].data, norm='log', cmap="hot") +plt.colorbar() + plt.show() From 8bfb0d1b8439a63cda47acc89441ae476a19f6a8 Mon Sep 17 00:00:00 2001 From: Hugo Buddelmeijer Date: Thu, 7 May 2026 15:11:55 +0200 Subject: [PATCH 15/15] Various cleanups --- DREAMS/DREAMS.yaml | 14 ++++++++------ DREAMS/DREAMS_InGaAs.yaml | 1 - DREAMS/FPA_array_layout.dat | 3 +-- DREAMS/QE_InGaAs.dat | 1 + DREAMS/default.yaml | 8 ++++---- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/DREAMS/DREAMS.yaml b/DREAMS/DREAMS.yaml index f575f82f..af48f8b5 100644 --- a/DREAMS/DREAMS.yaml +++ b/DREAMS/DREAMS.yaml @@ -1,10 +1,7 @@ ---- - -### Leopold Figl SBIG camera object : instrument alias : INST name : DREAMS -description : +description : DREAMS is a 0.5m telescope operated by the Department of Astrophyhics at the University of ANU. @@ -15,10 +12,14 @@ properties: effects: - name : seeing_psf - description : Schoepfl PSF + description : DREAMS PSF class : SeeingPSF kwargs : + # 5.00 arcseconds is too large for DREAMS, the actual value is + # more like 1.50 arcsec. Using 1.50 arcsec makes the sources hard + # to see. fwhm : 5.00 # [arcsec] + - name : skycalc_average_atmo description : atmospheric properties for a default skycalc run class : AtmosphericTERCurve @@ -30,12 +31,13 @@ effects: filename_format: "filters/{}.dat" value: "!OBS.sky.bg_mag" unit: mag + - name: dreams_static_surfaces description : telescope and camera optical surfaces class: SurfaceList kwargs: filename: LIST_DREAMS_mirrors_static.dat - + - name: filter_curve description : transmission curve for filter class: FilterCurve diff --git a/DREAMS/DREAMS_InGaAs.yaml b/DREAMS/DREAMS_InGaAs.yaml index 2e8077e9..37218ac8 100644 --- a/DREAMS/DREAMS_InGaAs.yaml +++ b/DREAMS/DREAMS_InGaAs.yaml @@ -1,4 +1,3 @@ ---- ### Princeton DREAMS InGaAs DETECTOR object : detector alias : DET diff --git a/DREAMS/FPA_array_layout.dat b/DREAMS/FPA_array_layout.dat index 8fcbc105..939908fc 100644 --- a/DREAMS/FPA_array_layout.dat +++ b/DREAMS/FPA_array_layout.dat @@ -1,8 +1,7 @@ # name : DREAMS 1280SCICAM # author : Anjali Shivani Reddy -# sources : https://github.com/Astrogirlanajli/DREAMS/blob/main/5240-0001%20Scicam%20FPA%20Drawing%20mm%20v1.pdf +# sources : 5240-0001 Scicam FPA Drawing mm v1.pdf # date_created : 2024-05-04 -# type : detector:chip_list # x_cen_unit : mm # y_cen_unit : mm # x_size_unit : pix diff --git a/DREAMS/QE_InGaAs.dat b/DREAMS/QE_InGaAs.dat index dc1b3997..e1439d8c 100644 --- a/DREAMS/QE_InGaAs.dat +++ b/DREAMS/QE_InGaAs.dat @@ -2,6 +2,7 @@ # wavelength_unit : um # wavelength transmission +0.8 0.0 0.8010318882867862 0.47089420439103236 0.8014842434347645 0.48637536025609485 0.8019365985827428 0.4782511781493827 diff --git a/DREAMS/default.yaml b/DREAMS/default.yaml index 3c319132..eb545dbb 100644 --- a/DREAMS/default.yaml +++ b/DREAMS/default.yaml @@ -1,4 +1,3 @@ ---- ### default observation parameters needed for DREAMS simulation object : configuration alias : OBS @@ -14,7 +13,7 @@ yamls : - DREAMS_InGaAs.yaml properties : airmass : 1.2 - declination : -31.273 + declination : -31.273 hour_angle : 0 pupil_angle : 0 dit : 8 @@ -25,15 +24,16 @@ properties : filter_name : J --- + ### default simulation parameters needed for DREAMS simulation object : simulation alias : OBS -name : LFAO_simulation_paramters +name : simulation_paramters description : RC simulation paramters properties : random : - seed : 9001 + seed : None spectral : wave_min : 1.17