Commit f71ca420 authored by Simone Iovenitti's avatar Simone Iovenitti
Browse files

Clean and comment the original code.

parent df9061f2
Loading
Loading
Loading
Loading
+22 −41
Original line number Diff line number Diff line
@@ -14,40 +14,21 @@
;-


    ROTATION = +1 ; +1 gira NATURAL, come il cielo (CCW), -1 gira in "REVERSE" (CW)
    VIEW     = +1 ; +1 mostra la SKYVIEW, -1 inserisce un flip N-S (CAMVIEW)   NB. Solo nei GRAFICI

;-- INSERISCI I DATI DELLA SIMULAZIONE:
    POINT = (catalogue("BRIGHT_STARS"))[where((catalogue("BRIGHT_STARS")).name eq "NCP")]  ;Navi ;Vega
    R     = 6.0   ; 5.8 ;deg
    MAG   = "5.5" ;"6.5"
    DATA  = '2019-02-26T02:36:43'   ; IN UTC!   ; DATA = sxpar( headfits(file) ,'DATE-OBS')
    ROTATION = +1 ; +1 NATURAL (same of the sky, CCW), -1 is "REVERSE" (CW)
    VIEW     = +1 ; +1 plot in SKYVIEW, -1 plot in CAMVIEW (flip n-s)


;-- PARAMS OF SIMULATION:
    POINT = {ra:279.23473, dec:38.7836889}  ;Vega
    R     = 6.0                     ;deg
    MAG   = "5.5"                   ;mag
    DATA  = '2019-02-26T02:36:43'   ; IN UTC!
    LAST  = ten(2,30,00)            ; IN HMS!

;;-- PUNTAMENTO DI UN RUN DAL CATALOGO
;RUNS  = catalogue('RUNID') 
;RUN   = runs[0]
;POINT = {ra:run.ra,  dec:run.dec  }
;R     = 4.0 
;MAG   = "5.5" ;"6.5"
;DATA  = run.time_utc               ; IN UTC!   ; DATA = sxpar( headfits(file) ,'DATE-OBS')
;LAST  = ten(sec2hms(run.time))     ; IN HMS!
;tel   = telescope_parameters('ASTRI')                                                  ; Torna una struct con tutti i parametri del telescopio
;;********************

;;-- SORGENTI MINIARRAY
;a = indgen(15)  & remove,  [1, 2, 3, 4, 9, 10, 13], a  & print, a
;RUNS  = catalogue('MINIARRAY')
;R     = 4.5
;MAG   = "5.5" ;"6.5"
;DATA  = '2023-06-20T22:30:00'             ; IN UTC!   ; DATA = sxpar( headfits(file) ,'DATE-OBS')
;LAST  = ten(2,30,00)                      ; IN HMS!
;tel   = (telescope_parameters('MINIARRAY'))[1]                                                  ; Torna una struct con tutti i parametri del telescopio
;RUN   = runs[13]
;POINT = {ra:run.ra,  dec:run.dec  }
;;********************    
    
;;-- CONTROLLO CHE IL CAMPO SIA OSSERVABILE



;-- Field over horizon?
    JD    = DATE_CONV(DATA, 'JD')
    EQ2HOR, POINT.RA, POINT.DEC, jd,                           alt_i, az_i, lat=tel.LAT_DEG,  lon=tel.lon_deg, altitude=tel.altitude
    EQ2HOR, POINT.RA, POINT.DEC, (jd*24.d + LAST*(0.5d))/24.d, alt_m, az_m, lat=tel.LAT_DEG,  lon=tel.lon_deg, altitude=tel.altitude
@@ -60,7 +41,7 @@
    ENDIF
    
    
;;-- CONTROLLO CHE SIA SEMPRE NOTTE    
;-- Is it during night?
    sunpos, jd,                           ra_sun_i, dec_sun_i
    sunpos, (jd*24.d + LAST*(0.5d))/24.d, ra_sun_m, dec_sun_m
    sunpos, (jd*24.d + LAST)/24.d,        ra_sun_f, dec_sun_f
@@ -76,7 +57,7 @@
    
    
    
;-- CONTROLLO LE POSIZIONI DI LUNA E PIANETI:
;-- Moon and planets?
    mphase, jd, k   &   IF k GT 0.5 THEN PRINT, "     >> OCCHIO ALLA LUNA!"
    moonpos, jd, ram, decm, dism, /RADIAN 
    planet_coords, jd, rap, decp, /jd     ;'MERCURY','VENUS', 'MARS', 'JUPITER','SATURN','URANUS','NEPTUNE', 'MOON' ---> NB che la luna è sbagliata -.-
@@ -87,21 +68,21 @@
    
    
    
;-- ANGOLO PARALLATTICO (INIZIALE E SUA EVOLUZIONE):
;-- Initial parangle and its evolution
    EQ2HOR, POINT.RA, POINT.DEC, jd, alt, az, ha, lat=tel.LAT_DEG,  lon=tel.lon_deg, altitude=tel.altitude   ; Trovo HA ; ALTAZ2HADEC, alt, az, tel.lat_deg, ha, dec_on_date  ; HA = LST - RA  ma fai la precess! (LST:   CT2LST, lst, tel.lon_deg, 1,ten(20,36), 26, 02, 2019 )
    parang_i  = PARANGLE(ha, POINT.DEC, tel.lat_deg, /DEGREE)                             ; HA cresce linearmente col tempo, PARANG invece no!
    parang_m  = PARANGLE(ha+(LAST*(1./2.)*15.), POINT.DEC, tel.lat_deg, /DEGREE)          ; QUesto intermedio serve per riconoscere il verso di rotazione...
    parang_i  = PARANGLE(ha, POINT.DEC, tel.lat_deg, /DEGREE)                             
    parang_m  = PARANGLE(ha+(LAST*(1./2.)*15.), POINT.DEC, tel.lat_deg, /DEGREE)          ; to distinghish cw and ccw
    parang_f  = PARANGLE(ha+(LAST*15.), POINT.DEC, tel.lat_deg, /DEGREE)                  ; 
    parang    = -angoli_ordinati(parang_i, parang_m, parang_f)                            ; *** METTO IL MENO PER FARLO GIRARE CCW COME IN GENERE FANNO GLI ANGOLI ***
    parang    = -angoli_ordinati(parang_i, parang_m, parang_f)                            ;


    
;-- CERCO LE STELLE NEL FOV, NELLA BANDA SPETTRALE GIUSTA:
    JUMP=0 & if nel(lista) ne 0 then begin & jump=1 & goto, here & endif                           ; vuol dire che stai runnando più volte, forse un debug?
;-- Query catalogs
    JUMP=0 & if nel(lista) ne 0 then begin & jump=1 & goto, here & endif             
    lista = queryvizier('USNO-B1',[POINT.RA, POINT.DEC], R*60.d, constraint='B1mag<'+MAG) ; radius in arcmin, B1=Optical B band between 400 and 500 nm
    IF nel(lista) eq 0 THEN BEGIN
       IF lista[0] eq -1 THEN BEGIN & print
            print, "LISTA VUOTA!"
            print, "EMPTY LIST!"
            perimetro = bordo_camera("REDUCED")
            plot_stars_i = plot([0.], [0.], linestyle=6, symbol=3, sym_filled=0, sym_size=8, sym_color='black', ASPECT_RATIO=1, XTITLE='[deg]', YTITLE='[deg]',  TITLE="ASTRI FOV", xrange=[perimetro.x/tel.PlateScaledeg-1, perimetro.x/tel.PlateScaledeg+1], yrange=[perimetro.x/tel.PlateScaledeg-1, perimetro.x/tel.PlateScaledeg+1])
            plot_bordo   = plot(perimetro.x/tel.PlateScaledeg, perimetro.y/tel.PlateScaledeg, color='light blue', /OVERPLOT)