; ; History: ; date what who ; 11/10/1997 initiated M Valovic ; Sept 1999 modified to read new EFIT format M Valovic ; April 2002 to read MAST data M Valovic ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: pro psi_my,shot,time,NSTX=NSTX,MAST=MAST NSTX=1 ; input experimental data if keyword_set(MAST) then begin ;@ida3 ; ; file=ida_open(lsida(shot,'efm'),ida_read) ; p=ida_find(file,item='EFM_psi(R,Z)') ; err=ida_matrix_t(p,psit,dpsiu,psil,t,tu,tl,rpsi,ru,rl,zpsi,zu,zl) ; err=ida_free(p) ; calculate index of ts time in EFIT ; n=size(t) ; nt_efit=n(1) ; itime=round((time-min(t))/(max(t)-min(t))*(nt_efit-1)) ; extract the value at this time ; psi=transpose(psit(*,*,itime)) ; p=ida_find(file,item='EFM_IROD') ; err=ida_data_t(p,irod_t,pu,pl,t,tu,tl) ; err=ida_free(p) ; irod=irod_t(itime); ; ; p=ida_find(file,item='EFM_psi_axis') ; err=ida_data_t(p,psi_a_t,pu,pl,t,tu,tl) ; err=ida_free(p) ; psi_a=psi_a_t(itime);;; ; p=ida_find(file,item='EFM_psi_boundary') ; err=ida_data_t(p,psi_b_t,pu,pl,t,tu,tl) ; err=ida_free(p) ; psi_b=psi_b_t(itime) ; p=ida_find(file,item='EFM_p(psi)_(C)') ; err=ida_vector_t(p,p_psi_t,p_psiu,p_psil,t,tu,tl) ; err=ida_free(p) ; p_psi=p_psi_t(*,itime) ; p=ida_find(file,item='EFM_f(psi)_(C)') ; err=ida_vector_t(p,f_psi_t,f_psiu,f_psil,t,tu,tl) ; err=ida_free(p) ; f_psi=f_psi_t(*,itime) ; p=ida_find(file,item='EFM_q(psi)_(C)') ; err=ida_vector_t(p,q_psi_t,q_psiu,q_psil,t,tu,tl) ; err=ida_free(p) ; q_psi=q_psi_t(*,itime) ; p=ida_find(file,item='EFM_volp_(C)') ; err=ida_vector_t(p,v_psi_t,v_psiu,v_psil,t_ef_v,tu,tl,a,u,l) ; err=ida_free(p) ; v_psi=v_psi_t(*,itime) ; P=IDA_FIND(FILE,ITEM='EFC_LCFS(r)_(c)') ; ERR=IDA_vector_t(P,lcfs_r_t,du,dl,t_ef,tu,tl,a,u,l) ; eRR=IDA_FREE(P) ; P=IDA_FIND(FILE,ITEM='EFC_LCFS(z)_(c)') ; ERR=IDA_vector_t(P,lcfs_z_t,du,dl,t_ef,tu,tl,a,u,l) ; eRR=IDA_FREE(P) ; p=ida_find(file,item='EFC_lcfs(n)_(C)') ; err=ida_data_t(p,nlcfs,pu,pl,t,tu,tl) ; err=ida_free(p) ; psi_a=psi_a_t(Itime) ; ; lcfs_r=lcfs_r_t(0:(nlcfs(itime)-1),itime) ; lcfs_z=lcfs_z_t(0:(nlcfs(itime)-1),itime) ; ; err=ida_close(file) endif else begin mdsconnect,'europa.pppl.gov:8501' mdsopen,'efit01',shot psirz = mdsvalue('\psirz') bcentr= mdsvalue('\bcentr') rbcent = mdsvalue('\rbcent') r = mdsvalue('\r') z = mdsvalue('\z') fpol = mdsvalue('\fpol') ssibry= mdsvalue('\ssibry') ssimag= mdsvalue('\ssimag') qpsi = mdsvalue('\qpsi') volume= mdsvalue('\volume') t_efit= mdsvalue('dim_of(\ssimag)') itime = where(abs(t_efit - time) eq min(abs(t_efit -time))) psi = psirz(*,*,itime) irod = bcentr(itime)*rbcent(itime)/(2.e-7) rpsi = r(*,itime) zpsi = z(*,itime) f_psi= fpol(*,itime) psi_a= ssimag(itime) psi_b= ssibry(itime) v_psi = volume(itime) q_psi = qpsi(*,itime) endelse stop ; ;; end of reading of experimental data ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ; openw,1,strcompress('psi'+string(shot),/rem)+'.out' printf,1,shot, time printf,1,'irod' printf,1,irod printf,1,'psi' printf,1,psi printf,1,'rpsi' printf,1,rpsi printf,1,'zpsi' printf,1,zpsi printf,1,'f_psi' printf,1,f_psi printf,1,'psi_a,b' printf,1,psi_a,psi_b printf,1,'v_psi' printf,1,v_psi printf,1,'q_psi' printf,1,q_psi close,1 ; end