pro mvn_swia_penprot_dir, reg = reg, npo = npo, archive = archive
mass = 0.0104389*1.6e-22
Const = (mass/(2.*1.6e-12))^0.5
if not keyword_set(npo) then npo = 1
common mvn_swia_data
if keyword_set(archive) then begin
get_data,'mvn_swica_en_eflux_MSO_mX',data = data
denergy = data.v*(info_str[swica.info_index].deovere_coarse#replicate(1,48))
endif else begin
get_data,'mvn_swics_en_eflux_MSO_mX',data = data
denergy = data.v*(info_str[swics.info_index].deovere_coarse#replicate(1,48))
endelse
if keyword_set(reg) then begin
ureg = interpol(reg.y(*,0),reg.x,data.x)
w = where(ureg eq 4)
times = data.x(w)
spectra = data.y(w,*)
energies = data.v(w,*)
denergies = denergy(w,*)
endif else begin
times = data.x
spectra = data.y
energies = data.v
denergies = denergy
endelse
orb = mvn_orbit_num(time = times)
orb = floor((orb+0.5)*npo)
mino = min(orb)
maxo = max(orb)
norb = maxo-mino+1
nout = fltarr(norb)
vout = fltarr(norb)
tout = dblarr(norb)
for i = 0,norb-1 do begin
w = where(orb eq (mino+i),nw)
if nw gt 5 then begin
spec = total(spectra(w,*),1,/nan)/nw
energy = total(energies(w,*),1,/nan)/nw
denergy = total(denergies(w,*),1,/nan)/nw
wr = where(energy gt 200 and energy lt 4000)
nout(i) = Const*!pi*total(denergy(wr)*energy(wr)^(-1.5)*spec(wr))
spec = spec-min(spec(wr)) > 0
maxc = max(spec(wr),maxi)
eout = energy(wr(maxi))
vout(i) = sqrt(2*eout*1.6e-19/1.67e-27)/1e3
tout(i) = mean(times(w),/double,/nan)
endif
endfor
w = where(tout ne 0)
store_data,'npen',data = {x:tout(w),y:nout(w)}
store_data,'vpen',data = {x:tout(w),y:vout(w)}
end