function st_mag_cal,x,parameter=par,probe=probe
if not keyword_set(par) then begin
if size(/type,probe) ne 7 then probe= ''
if probe eq 'b' then begin
rot = reform([1.0019827d, -0.0028700850, -0.00060321601, 0.0066352947, 1.0079380, -0.0059000393, 0.0098349958, -0.0026420171, 1.0023719],3,3)
del = [-43.40000d, 19.900000d, -38.0d]
endif else if probe eq 'a' then begin
rot = identity(3,/double)
del = dblarr(3)
endif else begin
rot = identity(3,/double)
del = dblarr(3)
endelse
par = {func:'st_mag_cal', del:del, rot:rot ,probe:probe}
endif
if n_params() eq 0 then return, par
dim = size(/dimens,x)
if n_elements(dim) eq 2 then delta= replicate(1,dim[0]) # par.del else delta = par.del
y = x - delta
y = par.rot ## y
return,y
end
function st_mag_cal2,x,parameter=par
if not keyword_set(par) then par = {func:'st_mag_cal2',qnorm:1, del:[0d,0d,0d], q:[1d,0d,0d,0d] }
if par.qnorm then par.q /= sqrt(total(par.q^2))
if n_params() eq 0 then return, par
dim = size(/dimens,x)
if n_elements(dim) eq 2 then delta= replicate(1,dim[0]) # par.del else delta = par.del
y = x - delta
y = quaternion_rotation(y,par.q)
return,y
end
ctime,tscal
timebar,tscal
if not keyword_set(stx_) then stx_ = 'st'+probe+'_'
b0 = tsample(stx_+'UV_B_SC',tscal,times=t0)
b1 = tsample(stx_+'B_SC',tscal,times=t1)
printdat,b0,b1,t0,t1
dprint,minmax(t0-t1)
par = st_mag_cal(probe=probe)
fit,b0,b1,param=par
store_data,'B_residual',data={x:t1,y: b1-func(b0,param=par)},dlim={colors:'bgr'}
end