; ; WRITTEN: Xuepu Zhao 26May2009 ; pro SycF_sdatestime09,sdate,stime,updmsc0,orgmsf,drcmsc,drcmsf,XX1=xx1,YY1=yy1,FIRST=first,LEFT=left,DRC=drc,SNOG=snog,PEVT=pevt,DISPSYN=dispsyn,DISPSYC=dispsyc,MX=mx if n_params( ) lt 1 then begin print,'pro SycF_sdatestime09,sdate,stime,updmsc0,orgmsf,drcmsc,drcmsf' print,' xx1=,yy1=,/left,/first,/drc,/snog(/pevt),/dispsyn,mx=' print,' /dispsyc' print,"sdate='1998.05.23' & stime='16:03:30'" print,"sdate='2002.08.27' & stime='14:35:20'" print,"Note:magnetogram and synoptic map must have same spatial resolution" return endif ; 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 mmgbra_remapmmgf,remapmmgf,stime,mmgbra,B0,cl0,crn,t_obs ;Br sdatestime=sdate+':'+stime ; crncl0_time,sdatestime,crn,cl0 scrncl0=strtrim(crn,2)+':'+strtrim(cl0,2) sz=SIZE(mmgbra) xmg=sz(1) & ymg=sz(2) ppd=xmg/180. if not keyword_set(xx1) then begin xx1=30*ppd & yy1=10*ppd ; in pixels endif xx2=xmg-xx1 & yy2=ymg-yy1 good_mgbra=mmgbra(xx1:xx2,yy1:yy2) szgm=size(good_mgbra) xgmr=szgm(1) ; in pixels ; get updmsc0 (updated MSC), updmscf, and orgmsf (original MSF), orgmsff hwd=90-xx1 & dcl0hwd=cl0-hwd if keyword_set(left) then itl=hwd else itl=180 ; updmsc_crnclog09,crn,cl0,itl,updmsc0,/sinl,hwd ; itl=180 or hwd sz=SIZE(updmsc0) & xsm=sz(1) & ysm=sz(2) sitl=STRMID(STRTRIM(itl,2),0,3) updmscf='updmsc0_'+sitl+'_'+t_obs+'.fits' writefits,updmscf,updmsc0,hd print,updmscf orgmsf=updmsc0 xx1n=itl*ppd-xgmr/2 & xx2n=itl*ppd+xgmr/2 orgmsf(xx1n:xx2n,yy1:yy2)=good_mgbra orgmsff='Lorgmsf_'+t_obs+'.fits' writefits,orgmsff,orgmsf,hd print,orgmsff ; get drcmsc if keyword_set(drc) then begin if keyword_set(left) then begin updmsc_crnclog09,crn-1,cl0,itl,updmscr,/sinl,hwd updmscf='updmscr_'+sitl+'_'+t_obs+'.fits' writefits,updmscf,updmscr,hd print,updmscf ldrcmsc_updmsc,crn,cl0,hwd,updmsc0,updmscr,drcmsc,longi endif else begin updmsc_crnclog09,crn-1,cl0,itl,updmscr,/sinl,hwd updmsc_crnclog09,crn+1,cl0,itl,updmscl,/sinl,hwd updmscrf='updmscr_'+sitl+'_'+t_obs+'.fits' updmsclf='updmscl_'+sitl+'_'+t_obs+'.fits' print,updmscrf,' ',updmsclf drcmsc_updmsc20090318,updmsc0,updmscr,updmscl,drcmsc,longi,/snog endelse 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 scmgbra(xx1n:xx2n,yy1:yy2)=good_mgbra bscmgbra=bytscl(scmgbra,max=mx,min=-mx) if keyword_set(left) then ttl='Top heliographic frame + Middle updated synoptic map => Bottom updated synoptic frame' else ttl='Top heliographic frame + Middle synoptic map => Bottom synoptic frame' pscimg06,bscmgbra,ttl,px,py,sy='sla' is=0 & ie=359*ppd & di=10*ppd for i=is,ie,di do oplot,[i,i],[-1,1] updsc_annot09,1,xticb=xticsfb,longi='heliographic',/sinl ; yy1=yy1-90 & yy2=yy2-90 zgrid,xsm,ysm,phd,thd,lad slat=SIN(lad*!DTOR) yy1=slat(yy1) & yy2=slat(yy2) oplot,[itl,itl]*ppd,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1,yy2],line=0,color=2 oplot,[xx2n,xx2n],[yy1,yy2],line=0,color=2 oplot,[xx1n,xx2n],[yy1,yy1],line=0,color=2 oplot,[xx1n,xx2n],[yy2,yy2],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]*ppd,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1,yy2],line=2,color=2 oplot,[xx2n,xx2n],[yy1,yy2],line=2,color=2 oplot,[xx1n,xx2n],[yy1,yy1],line=2,color=2 oplot,[xx1n,xx2n],[yy2,yy2],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],[yy1,yy2],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]*ppd,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1,yy2],line=0,color=2 oplot,[xx2n,xx2n],[yy1,yy2],line=0,color=2 oplot,[xx1n,xx2n],[yy1,yy1],line=0,color=2 oplot,[xx1n,xx2n],[yy2,yy2],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:',xx1n,xx2n help,good_mgbra scmgbra(xx1n:xx2n,yy1:yy2)=good_mgbra bscmgbra=bytscl(scmgbra,max=mx,min=-mx) if keyword_set(left) then ttl='Top heliographic frame + Middle updated synchronic map => Bottom updated synchronic frame' else ttl='Top heliographic frame + Middle synchronic map => Bottom synchronic frame' pscimg06,bscmgbra,ttl,px,py,sy='sla' is=0 & ie=359*ppd & di=10*ppd for i=is,ie,di do oplot,[i,i],[-1,1] updsc_annot09,1,xticb=xticsfb,longi='heliographic',/sinl ; yy1=yy1-90 & yy2=yy2-90 zgrid,xsm,ysm,phd,thd,lad slat=SIN(lad*!DTOR) yy1=slat(yy1) & yy2=slat(yy2) oplot,[itl,itl]*ppd,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1,yy2],line=0,color=2 oplot,[xx2n,xx2n],[yy1,yy2],line=0,color=2 oplot,[xx1n,xx2n],[yy1,yy1],line=0,color=2 oplot,[xx1n,xx2n],[yy2,yy2],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]*ppd,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1,yy2],line=2,color=2 oplot,[xx2n,xx2n],[yy1,yy2],line=2,color=2 oplot,[xx1n,xx2n],[yy1,yy1],line=2,color=2 oplot,[xx1n,xx2n],[yy2,yy2],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],[yy1,yy2],thick=3 ; for i=0,130,10 do oplot,[i,i],[-1,1],color=4 ; for i=230,359,10 do oplot,[i,i],[-1,1],color=4 ; for i=140,220,10 do oplot,[i,i],[-1,yy1],color=4 ; for i=140,220,10 do oplot,[i,i],[yy2,1],color=4 ; for i=140,220,10 do oplot,[i,i],[yy1,yy2] ; xticbh=xticscb ;xticbh(6)=xticsfb(6) ; xticsft(6)='1998.05.23_16:03:30 Synoptic Frame' updsc_annot09,1,xticb=xticsfb,xtict=xticsft,longi='heliographic',/sinl oplot,[itl,itl]*ppd,[-1,1],thick=5,color=2 oplot,[xx1n,xx1n],[yy1,yy2],line=0,color=2 oplot,[xx2n,xx2n],[yy1,yy2],line=0,color=2 oplot,[xx1n,xx2n],[yy1,yy1],line=0,color=2 oplot,[xx1n,xx2n],[yy2,yy2],line=0,color=2 !p.multi=0 psdone print,'Finished '+Figure2 endif end