; ; 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 ; input experimental data @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) ; ;; 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