;+ *********************************************************************** ; NAME: ; FOPEN_STD_GMRT ; ; PURPOSE: ; Cette procedure ouvre un fichier GMRT au standard FITS ; ; CATEGORY: ; Fichiers ; ; CALLING SEQUENCE: ; FOPEN_STD_GMRT, File, Str_fic ; ; INPUTS: ; FILE Nom du fichier ; ; KEYWORD PARAMETERS: ; Rien ; ; OUTPUTS: ; STR_FIC Structure de description du fichier (NRH_STR_INFIC). Cette ; structure doit etre declaree avant l'appel ; ; COMMON BLOCKS: ; Rien ; ; PROCEDURE: ; Le STANDARD GMRT implique que ; le fichier ne contient pas d'extensions ; il y a une seule image (NAXIS = 4) ; - axe 3 frequence ; - axe 4 polar ; Les mots cles traites sont: DATE-OBS, NAXIS1, NAXIS2, CDELT1 ; l'image est supposee centree sur le centre du soleil ; ; ; EXAMPLE: ; Please provide a simple example here ; ; MODIFICATION HISTORY: ; Ecrit par A Bouteille (obspm.fr) le: 05/12/02 ;-******************************************************************* PRO FOPEN_STD_GMRT, File, Str_inf2d H = HEADFITS( File) Str_inf2d.Content = 'STD' Str_inf2d.Freq = 0.0 Str_inf2d.date = FXPAR(h,'DATE-OBS') print,Str_inf2d.date str_inf2d.nim = 1 Str_inf2d.hd = FXPAR(h, 'TIME-OBS') Str_inf2d.hf = Str_inf2d.hd Str_inf2d.npx = FXPAR (h, 'NAXIS1') Str_inf2d.npy = FXPAR (h,'NAXIS2') Str_inf2d.Tscan = Fxpar(h, 'EXPTIME') STR_Inf2d.Xcen = Str_inf2d.npx/2 ; SUN CENTER X, in pixels Str_inf2d.Ycen = Str_inf2d.npx/2 ; SUN CENTER Y, in pixels ; pour calculer le rayon solaire en pixels on dispose du nb de degres ; par pixel sur l'axe 1 CDELT1 et sur l'axe 2 CDELT2 ;;;;;;provisoire ; SOLAR RADIUS, in pixels chdate = Str_inf2d.date yyyy=long(strmid(chdate,0,4)) mm=long(strmid(chdate,5,2)) dd=long(strmid(chdate,8,2)) jday = julday(mm, dd, yyyy) jday0 = julday(1, 1, yyyy) numday = jday - jday0 ;print, 'fopen gmrt yyyy,mm,jj',yyyy,mm,dd,jday,jday0 ; rsol = 16.020 + 0.268 * sin(a * (n - 278)) ; ray sol (min d'arc). ; avec : a = 2 * !pi / 365.25 et n = numero du jour dans l'annee ; Tu peux verifier que ca passe par un maximum quand la terre passe au ; perihelie vers le 10 janvier. aaa = 2. * !pi / 365.25 rsol = 16.020 + 0.268 * sin(aaa * (numday - 278)) ;print, 'fopen gmrt numday, rsol', numday, rsol ; cdelt1 : nb de degres par pixel cdelt1 = Fxpar(h, 'CDELT1') ray_deg = rsol/60. ; ray = ray_deg / abs(cdelt1) ; Str_inf2d.ray : nb de pixels par rayon solaire Str_inf2d.ray = ray print, 'fopen gmrt nb de pixels par rayon', ray RETURN END