pro sycframe20090810a,sdate,stime,yy1,obs,sbc,xsz,updmsc0,orgmsf,drcmsc,drcmsf,xx1=xx1,FIRST=first,LEFT=left,DRC=drc,SNOG=snog,PEVT=pevt,PRT=prt,DISPSYN=dispsyn,DISPSYC=dispsyc,MX=mx if n_params( ) lt 1 then begin print,'pro sycframe20090810a,sdate,stime,yy1,obs,sbc,xsz,updmsc0,orgmsf,drcmsc,' print,' drcmsf,xx1=xx1,/first,/drc,/left,/snog(/pevt),/dispsyn' print,' /dispsyc,mx=' print,"sdate='1998.05.23' & stime='16:03:30'" print,"sdate='2002.08.27' & stime='14:35:20'" print,"xx1=40 in deg, yy1=10 in pixel" print,"Note:magnetogram and synoptic map must have same spatial resolution" return endif ; Data source if obs eq 'MDI' then begin ; get remapped MDI MG files using sdate if keyword_set(first) then mkremapmmg,sdate,remapmmgf,/first $ else mkremapmmg,sdate,remapmmgf ; get mmgbra,B0,cl0,crn,t_obs based on stime and 5 synoptic chart files mmgbra_remapmmgf,remapmmgf,stime,mmgbra,B0,cl0,crn,t_obs ;Br,Cl0 in deg ; mmgbra=SMOOTH(mmgbra,5,/edge_truncate) scrn0=strtrim(crn,2) scrnr1=strtrim(crn-1,2) & scrnr2=strtrim(crn-2,2) scrnl1=strtrim(crn+1,2) & scrnl2=strtrim(crn+2,2) if sbc eq 'Br' then begin ; xsz eq 360 mscfr2='/scr20/xuepu/MDIBRSC/phof360_type1/br360_'+scrnr2+'.fits' mscfr1='/scr20/xuepu/MDIBRSC/phof360_type1/br360_'+scrnr1+'.fits' mscf0='/scr20/xuepu/MDIBRSC/phof360_type1/br360_'+scrn0+'.fits' mscfl1='/scr20/xuepu/MDIBRSC/phof360_type1/br360_'+scrnl1+'.fits' mscfl2='/scr20/xuepu/MDIBRSC/phof360_type1/br360_'+scrnl2+'.fits' endif else begin ; xsz=3600 mscfr2='/home3/xudong/POLCORR/synop/synop_Mr_0.polfil.'+scrnr2+'.fits' mscfr1='/home3/xudong/POLCORR/synop/synop_Mr_0.polfil.'+scrnr1+'.fits' mscf0='/home3/xudong/POLCORR/synop/synop_Mr_0.polfil.'+scrn0+'.fits' mscfl1='/home3/xudong/POLCORR/synop/synop_Mr_0.polfil.'+scrnl1+'.fits' mscfl2='/home3/xudong/POLCORR/synop/synop_Mr_0.polfil.'+scrnl2+'.fits' endelse endif ; Get good_mgbra and its hwd sz=SIZE(mmgbra) xmg=sz(1) & ymg=sz(2) ; in pixels ppdx=xmg/180. if not keyword_set(xx1) then xx1=40*ppdx else xx1=xx1*ppdx xx2=xmg-xx1 & yy2=ymg-yy1 ; xx1,xx2,yy2 in pixels*** good_mgbra=mmgbra(xx1:xx2,yy1:yy2) szgm=size(good_mgbra) xgmr=szgm(1) hwd=90-xx1/ppdx ; hwd in degrees ; get updmsc0 (updated MSC), updmscf, and orgmsf (original MSF), orgmsff ; Specify Carringtom map with same spacial resolution if keyword_set(left) then itl=hwd else itl=180 ; itl in degrees if cl0 gt itl then begin bccmr1=readfits(mscfr1,ht,/silent) bccmr2=bccmr1 bccm0=readfits(mscf0,ht,/silent) bccml1=readfits(mscfl1,ht,/silent) bccml2=readfits(mscfl2,ht,/silent) endif else begin bccmr2=readfits(mscfr2,ht,/silent) bccmr1=readfits(mscfr1,ht,/silent) bccm0=readfits(mscf0,ht,/silent) bccml1=readfits(mscfl1,ht,/silent) bccml2=bccml1 endelse scrncl0=strtrim(crn,2)+':'+strtrim(cl0,2) ; cl0 in decimal degrees if keyword_set(prt) then begin updbccm_crnclog,crn,cl0,itl,bccm0,bccmr1,bccml1,updmsc0,updscrnphd0,/sinl,hwd endif else updbccm_crnclog,crn,cl0,itl,bccm0,bccmr1,bccml1,updmsc0,updscrnphd0 sz=SIZE(updmsc0) & xsm=sz(1) & ysm=sz(2) ; in pixels sitl=STRMID(STRTRIM(itl,2),0,3) updmscf='updmsc0_'+sitl+'_'+t_obs+'.fits' writefits,updmscf,updmsc0,hd print,updmscf orgmsf=updmsc0 xx1n=itl*ppdx-xgmr/2 & xx2n=itl*ppdx+xgmr/2 print,'yy1,yy2:',yy1,yy2 orgmsf(xx1n:xx2n,yy1:yy2)=good_mgbra orgmsff='orgmsf_'+sitl+'_'+t_obs+'.fits' writefits,orgmsff,orgmsf,hd print,orgmsff ; get drcmsc if keyword_set(drc) then begin if keyword_set(prt) then begin updbccm_crnclog,crn-1,cl0,itl,bccmr1,bccmr2,bccm0,updmscr,updscrnphdr,/sinl,hwd updbccm_crnclog,crn+1,cl0,itl,bccml1,bccm0,bccml2,updmscl,updscrnphdl,/sinl,hwd endif else begin updbccm_crnclog,crn-1,cl0,itl,bccmr1,bccmr2,bccm0,updmscr,updscrnphdr updbccm_crnclog,crn+1,cl0,itl,bccml1,bccm0,bccml2,updmscl,updscrnphdl endelse updmscrf='updmscr_'+sitl+'_'+t_obs+'.fits' updmsclf='updmscl_'+sitl+'_'+t_obs+'.fits' writefits,updmscrf,updmscr,hd writefits,updmsclf,updmscl,hd print,updmscrf,' ',updmsclf ; drcmsc_updmsc20090810,crn,cl0,itl,updmsc0,updmscr,updmscl,updscrnphd0,updscrnphdr,updscrnphdl,drcmsc,longi drcmsc_updmsc20090810a,crn,cl0,itl,updmsc0,updmscr,updmscl,updscrnphd0,updscrnphdr,updscrnphdl,drcmsc,longi drcmsf=drcmsc drcmsf(xx1n:xx2n,yy1:yy2)=good_mgbra if keyword_set(pevt) then begin drcmscf='drcmsc_pevt_'+sitl+'_'+t_obs+'.fits' drcmsff='drcmsf_pevt_'+sitl+'_'+t_obs+'.fits' endif else begin drcmscf='drcmsc_snog_'+sitl+'_'+t_obs+'.fits' drcmsff='drcmsf_snog_'+sitl+'_'+t_obs+'.fits' endelse writefits,drcmscf,drcmsc,hd writefits,drcmsff,drcmsf,hd print,drcmscf,' ',drcmsff endif if keyword_set(dispsyn) then begin ; Display scmgbra, updmsc0 and orgmsf if not keyword_set(mx) then mx=100 tek_color Figure1='orgmsf_'+sitl+'_'+t_obs+'.ps' clog=cl0 ; psout,031,Figure1 !p.multi=[0,1,3] ; Panel 1 xticsm_crnclog09,crn,cl0,itl,xticscb,xticsct xticsm_crnclog09,crn,cl0,itl,xticsfb,xticsft,/sf scmgbra=fltarr(xsm,ysm) ; x1=(itl-hwd)*ppd & x2=(itl+hwd)*ppd ; For MG in whole solar surface print,'xx1n,xx2n:',xx1n,xx2n help,good_mgbra scmgbra(xx1n:xx2n,yy1:yy2)=good_mgbra bscmgbra=bytscl(scmgbra,max=mx,min=-mx) pscimg06,bscmgbra,'Construction of Synoptic Frame',px,py,sy='sla' is=0 & ie=359*ppdx & di=10*ppdx for i=is,ie,di do oplot,[i,i],[-1,1] sc_annot06,1,xticb=xticsfb,longi='heliographic',/sinl ; yy1=yy1-90 & yy2=yy2-90 zgrid,xsm,ysm,phd,thd,lad slat=SIN(lad*!DTOR) yy1s=slat(yy1) & yy2s=slat(yy2) oplot,[itl,itl]*ppdx,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1s,yy2s],line=0,color=2 oplot,[xx2n,xx2n],[yy1s,yy2s],line=0,color=2 oplot,[xx1n,xx2n],[yy1s,yy1s],line=0,color=2 oplot,[xx1n,xx2n],[yy2s,yy2s],line=0,color=2 ; Panel 2 bupdmsc0=BYTSCL(updmsc0,max=mx,min=-mx) pscimg06,bupdmsc0,' ',px,py,sy='sla' for i=is,ie,di do oplot,[i,i],[-1,1],color=4 ; xticsct(6)='CR1936:200-centered Synoptic Chart' updsc_annot09,1,xticb=xticscb,xtict=xticsct,longi='carrington',/sinl oplot,[itl,itl]*ppdx,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1s,yy2s],line=2,color=2 oplot,[xx2n,xx2n],[yy1s,yy2s],line=2,color=2 oplot,[xx1n,xx2n],[yy1s,yy1s],line=2,color=2 oplot,[xx1n,xx2n],[yy2s,yy2s],line=2,color=2 print,sdate ; Panel 3 borgmsf=BYTSCL(orgmsf,max=mx,min=-mx) pscimg06,borgmsf,' ' ,px,py,sy='sla' for i=is,ie,di do oplot,[i,i],[-1,1],color=4 for i=xx1n,xx2n,di do oplot,[i,i],[yy1s,yy2s],thick=3 ; xticbh=xticscb ;xticbh(6)=xticsfb(6) ; xticsft(6)='1998.05.23_16:03:30 Synoptic Frame' updsc_annot09,1,xticb=xticscb,xtict=xticsfb,longi='hybrid',/sinl oplot,[itl,itl]*ppdx,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1s,yy2s],line=0,color=2 oplot,[xx2n,xx2n],[yy1s,yy2s],line=0,color=2 oplot,[xx1n,xx2n],[yy1s,yy1s],line=0,color=2 oplot,[xx1n,xx2n],[yy2s,yy2s],line=0,color=2 !p.multi=0 psdone print,'Finished '+Figure1 endif if keyword_set(dispsyc) then begin ; Display scmgbra, drcmsc and drcmsf if not keyword_set(mx) then mx=100 tek_color Figure2='drcmsf_'+sitl+'_'+t_obs+'.ps' clog=cl0 ; psout,031,Figure2 !p.multi=[0,1,3] ; Panel 1 xticsm_crnclog09,crn,cl0,itl,xticscb,xticsct xticsm_crnclog09,crn,cl0,itl,xticsfb,xticsft,/sf scmgbra=fltarr(xsm,ysm) ; x1=(itl-hwd)*ppd & x2=(itl+hwd)*ppd ; For MG in whole solar surface print,'xx1n,xx2n,yy1,yy2:',xx1n,xx2n,yy1,yy2 help,good_mgbra scmgbra(xx1n:xx2n,yy1:yy2)=good_mgbra bscmgbra=bytscl(scmgbra,max=mx,min=-mx) pscimg06,bscmgbra,'Construction of Synchronic Frame',px,py,sy='sla' is=0 & ie=359*ppdx & di=10*ppdx for i=is,ie,di do oplot,[i,i],[-1,1] sc_annot06,1,xticb=xticsfb,longi='heliographic',/sinl ; yy1=yy1-90 & yy2=yy2-90 zgrid,xsm,ysm,phd,thd,lad slat=SIN(lad*!DTOR) yy1s=slat(yy1) & yy2s=slat(yy2) oplot,[itl,itl]*ppdx,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1s,yy2s],line=0,color=2 oplot,[xx2n,xx2n],[yy1s,yy2s],line=0,color=2 oplot,[xx1n,xx2n],[yy1s,yy1s],line=0,color=2 oplot,[xx1n,xx2n],[yy2s,yy2s],line=0,color=2 ; Panel 2 bdrcmsc=BYTSCL(drcmsc,max=mx,min=-mx) pscimg06,bdrcmsc,' ',px,py,sy='sla' for i=is,ie,di do oplot,[i,i],[-1,1] ; xticsct(6)='CR1936:200-centered Synoptic Chart' updsc_annot09,1,xticb=xticsfb,xtict=xticsct,longi='heliographic',/sinl oplot,[itl,itl]*ppdx,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1s,yy2s],line=2,color=2 oplot,[xx2n,xx2n],[yy1s,yy2s],line=2,color=2 oplot,[xx1n,xx2n],[yy1s,yy1s],line=2,color=2 oplot,[xx1n,xx2n],[yy2s,yy2s],line=2,color=2 print,sdate ; Panel 3 bdrcmsf=BYTSCL(drcmsf,max=mx,min=-mx) pscimg06,bdrcmsf,' ' ,px,py,sy='sla' for i=is,ie,di do oplot,[i,i],[-1,1] for i=xx1n,xx2n,di do oplot,[i,i],[yy1s,yy2s],thick=3 updsc_annot09,1,xticb=xticsfb,xtict=xticsft,longi='heliographic',/sinl oplot,[itl,itl]*ppdx,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1s,yy2s],line=0,color=2 oplot,[xx2n,xx2n],[yy1s,yy2s],line=0,color=2 oplot,[xx1n,xx2n],[yy1s,yy1s],line=0,color=2 oplot,[xx1n,xx2n],[yy2s,yy2s],line=0,color=2 !p.multi=0 psdone print,'Finished '+Figure2 endif end