ATK Tähtitieteessä harjoitukset 18.10.2005

0. Valmisteluja

• 1) Luo kotihakemistoosi tiedosto idl.startup, ja kirjoita siihen allaolevat rivit (emacs tai jmacs editorilla). Voit myös kopioda tiedoston komennolla cp ∼hsalo/.idl.startup .

!edit_input=500
DEVICE, True_Color=24
DEVICE, Decomposed=0
DEVICE, Bypass_Translation=0
tek_color

IDL suorittaa tämän tiedoston komennot automaattisesti käynnistyessään :

- !edit_input säätää IDL:n muistamien komentorivien määrän

- DEVICE-komennot mahdollistavat väripalettien käytön

- tek_color-komento määrittelee perusvärit

• 2) Tee oma hakemisto idl-ohjelmiasi varten (esim. mkdir OMAIDL.dir). UNIXin .cshrc-tiedostossa voidaan määritellä IDL_PATH ympäristömuuttuja, joka kertoo mistä hakemistoista - ja missä järjestyksessä - IDL etsii ohjelmia. Lisää .cshrc tiedostoosi allaolevat rivit (Voit myös kopioda valmiin tiedoston komennolla cp ∼hsalo/.cshrc .)

source /usr/local/rsi/idl/bin/idl_setup
setenv IDL_STARTUP  /idl.startup
setenv IDL_PATH +$IDL_DIR/:∼/OMAIDL.dir:+∼/ATK2005.dir

+$IDL_DIR/ varmistaa että IDL:n mukana tulevat ohjelmakirjastot on käytössä, sen jälkeen on kaksoispisteellä erotettuna muut ohjelmia sisältävät hakemistot.

• 3) Luo tiedosto ATK2005.dir omaan kotihakemistoosi, ja kopioi sinne tämän kurssin ohjelmat:

mkdir ATK2005.dir
cp ∼hsalo/IDL_ESIM.dir/* ATK2005.dir

Tällöin saat esimerkkiohjelmien lisäksi käyttöösi myös seuraavat sangen hyödylliset apuohjelmat: nwin : opens a new window (can be used with !p.multi and ps-files) psopen : opens output for ps-file (vector graphics) psclose : close output for ps-file psdump : dump screen to printer (bitmap) wide : delete all windows defplot : set system plotting variables to default values plot_stamp,'text': add the string ’text’ + a ’timestamp’ to the plot histo_f : histograms

2

Harjoitus 1

(sivunumerot viittaavat “ATK TÄHTITIETEESSÄ: IDL:n perusteita”- monisteeseen)

• Pääohjelman/aliohjelman käyttö (kts s. 7-9)

• kuvan tulostaminen tiedostoon/printterille (PSOPEN,PSCLOSE kts. s. 20)

Tee aliohjelma siniplot.pro, joka plottaa tyyppiä y=A*sin(B*x+C) olevan funktion kuvaajan. Aliohjelmaan syötetään argumentti x ja parametrit A,B,C, ja keywordeillä voidaan valita tulostuksen väri ja viivatyyppi, sekä se plotataanko kuvaaja aiemman kuvaajan päälle.

Tee siniplot.pro’ta kutsuva pääohjelma, jossa määritetään sopiva argumentti x, ja plottaa esim. allaolevan esimerkin mukaisesti erilaisen amplitudin ja periodin omaavia kuvaajia (käytä !p.multi muuttuja, kts. s. 15)

Kuva 1: Kuva tehty harj1_siniplot.pro ohjelmalla (sisältää sekä pää- että aliohjelman

Sinikäyrän piirtämistä mielenkiintoisempaa voi olla esim. heittoliikkeen havainnollistaminen: plottaa yhtälöt x = v_{x}t, y = v_{y}t − 0.5gt^{2} erilaisilla alkunopeuksilla v_{x}, v_{y}, käyttäen parametrinä ajan sisältävää taulukkoa t (painovoiman kiihtyvyys g = 9.81m/s^{2})

Harjoitus 2

• Datan lukeminen ascii-tiedostosta

• ’Oikealla’ datalla leikittelyä (asteroidi-perheet, Kirkwoodin-aukot)

Luetaan tiedostosta ’triad_simple.dat’ asteroidien dataelementtejä. Tiedoston alku näyttää seuraavalta:

ASTEROIDIEN RATAELEMENTTEJA (kts triad_read.pro)
NUMBER   A    E   sinI    WBAR   NODE
     0     2.76700    0.0970    0.1690      147.80       78.70
     1     2.77100    0.1800    0.5840      156.10      184.30
     2     2.67000    0.2180    0.2450       63.60      172.60
     3     2.36200    0.0970    0.1120      228.00      107.10
     4     2.57800    0.2150    0.0830      143.50      152.70

Ilmeisestikin tiedostossa on kaksi selittävää riviä, ja sen jälkeen epämääräinenmäärä rivejä, joilla on annettu kullakin kuusi lukua: asteroidin järjestysnumero,keskietäisyys (yksikkönä AU), eksentrisyys, sin(inklinaatio), perihelin suunta, nousevan solmun suunta.

Tee ohjelma, joka lukee tiedoston sisällön muuttujiin num, a, e, sini, wbar, node (kts. monisteen s. 25)

Miltä näyttää esim e vs. a plotti, entä sini vs. a? entä muut riippuvuudet? Tulosta mielenkiintoiset plotit printterille.

Katso myös keskietäisyyksien jakauman histogrammia (käytä histo_f.pro ohjelmaa:

esim histo_f,a,amin,amax,da,/plot,nsum=10

Jakaumassa olevat aukot liittyvät Jupiterin aiheuttamiin häiriöihin, jotka ovat erityisen voimakkaita ns. resonassikohdissa, joissa asteroidin ja Jupiterin kiertoajat muodostavat kokonaislukusuhteen (esim 2:1, 5:2). Laske resonassietäisyyksiä käyttäen hyväksi Keplerin kolmatta lakia: P^{2} ∼ a^{3}; Jupiterin isoakseli on 5.2028 AU.

Kyllästyttyäsi voit katsoa tiedostossa harj2_triad.pro olevaa esimerkkiohjelmaa ja paria tämän ohjeen lopussa olevaa kuvaa.

• IDL:n matemaattiset ohjelmat

Tarkastellaan yhtä IDL:n monista sisäänrakennetuista numeerisista ohjelmista, pienimmän neliösumman polynomisovituksen tekevää poly_fit ohjelmaa. Luo ensiksi taulukot x ja y=f(x), missä y on jokin polynomifunktio. Lisää sitten y:hyn satunnaista hälyä randomu-komennolla, joka luo tasaisesti jakautuneita satunnaislukuja välillä [0,1]. Sovita sitten saamaasi “dataan” polynomi.

Kuva 2: Parabelin y = x^{2} y-pisteisiin on lisätty normaalisesti jakaantunutta hälyä (keskiarvo 0, hajonta 1). Ohjelmaesimerkki tiedostossa

harj3_polyfit.pro

Voit kokeilla myös täysin erilaisilla funktioilla luodulla datalla, käyttäen IDL:n svdfit yleistä sovitusohjelmaa. Käyttöohjeen löydät joko IDL:n helpistä (avautuu antamalla ?), tai kätevämmin doc_library,'svdfit' • oikeaa dataa, ASTRO-kirjaston käyttö

IDL:n save-tiedostossa galaxies.save on yli 50 000 galaksin paikkakoordinaatit (GARA=rektaskensio ja GADEC=deklinaatio) sekä radiaalinopeudet (VHELIO). Tulosta galaksien jakauma taivaalla. Mitä huomaat?

Tiedostossa open_clusters.save on avonaisten tähtijoukkojen jakauma taivaalla (OCRA,OCDEC). Tulosta se galaksijakauman päälle. Mistä johtuu ero jakaumissa, ja mitä voisivat olla avonaisten tähtijoukkojen jakaumassa näkyvät tiivistymät?

Tähtitieteellisessä IDL-kirjastossa “ASTRO” on useita tähtitieteellisiä rutiineja. Yksi niistä muuttaa rektaskension ja deklinaation galaktisiksi koordinaateiksi l,b tai päinvastoin. Muunnos galaktisiin koordinaatteihin on seuraavaa muotoa glactc,ra,dec,year,gl,gb,1, missä ra,dec ovat ekvatoriaaliset koordinaatit, gl,gb galaktiset koordinaatit, year on ekvatoriaalisiin koordinaatteihin viittaava epookki, tässä tapauksessa 2000. Miltä edelliset jakaumat näyttävät galaktisissa koordinaateissa tulostettuina?

ASTRO-kirjaston saat käyttöösi kopiomalla (muista $cp jos kopioit IDL komentotilasta):

cp -r ∼hsalo/astro  /ATK2005.dir

Tällöin kirjasto kopioituu ATK2005.dir hakemiston alihakemistoksi. (.cshrc tiedoston IDL_PATH muuttujan määrittely sisälsi ’+’ merkin ATK2005.dir hakemiston edessä, mikä merkitsee että IDL löytää automaattisesti kaikki sen alihakemistot). (Listaa astro/contents.txt niin näet mitä kaikkea kirjasto sisältää)

Hubblen lain mukaan kaukaisen galaksin etäisyys saadaan sen etääntymisnopeudesta seuraavasti: r = v/H_{0}. Käytä taulukon vhelio nopeuksista laskettuja etäisyyksiä Hubblen vakion arvolla H_{0} = 75kms^{−1}Mpc^{−1} ja tulosta etäisyys vs rektaskensio, deklinaatiovälillä [26.5,32.5]. Mitä huomaat?

• TV-rutiinien käyttö, PSDUMP

IDL-save tiedostossa saturn.save on Cassini luotaimen Saturnuksesta n. 50 miljoonan kilometrin päästä ottama rgb-kuva (muuttuja saturn), sekä siitä erilleen poimitut kaistat (red, green, blue).

Tulosta eri kaistojen kuvat samaan ikkunaan: avaa esim 762,256 ikkuna, ja tulosta tvscl-komennolla 256,256 kokoon rebinnatut kaistojen kuvat tahan samaan ikkunaan (kts monisteen sivu 21). Kirjoita kunkin kuvan ylalaitaan otsikko (xyouts, device-koordinaatit kts. s.16). Käytä psdump ohjelmaa kuvan tiedostoon tallentamista varten. Mitä huomaat tarkkuudesta? Entä mitä tapahtuu jos käytät psopen ja psclose komentoja?

Kuva 3: Kuva tehty harj5_cassini.pro ohjelmassa

Saturnus-kuvassa on näkyvissä A-renkaan atsimutaalinen kirkkaus-asymmetria. Valitse esim blue-kuva, ja tulosta sitä eri skaaloissa tv,blue>min<max. Kokeile esim,min=70,max=90: mitä huomaat?

Kuva 4: A-renkaan asymmetria Kuva 5: Kuva tehty harj2_triad.pro ohjelmassa Kuva 6: Kuva tehty harj2_triad.pro ohjelmassa Kuva 7: Kuva tehty harj4_galaxies.pro ohjelmasa Kuva 8: Kuva tehty harj4_galaxies.pro ohjelmasa