;+
;NAME:
pro interpretfem,fem,femtime,femflg,femstr=femstr,verbose=verbose
;KEYWORDS:	Yohkoh Operation
;PURPOSE:
;	Interpret fem and return sorted times and event flags
;CALLING SEQUENCE:
;       loadopfem,'op61021d.txt',time,og,fem,/verbose
;	interpretfem,fem,femtime,femflg,/verbose
;INPUTS:
;	fem:	fem data
;OUTPUTS:
;	femtime:	sorted time array of events
;	femflg:		event flag (byte)
;		0:DAY 1:NIGHT 2:START SAA 3:END SAA
;		128:START KSC   129:START DSN-M 130:START DSN-C
;		131:START DSN-G 132:START DSN-W 133:START DSN-S
;		192:END KSC     193:END DSN-M   194:END DSN-C
;		195:END DSN-G   196:END DSN-W   197:END DSN-S
;OPTIONAL OUTPUT:
;	femstr: COMMENT of the event flags (STRING ARRAY 256)
;HISTORY:
;	Ver 1.0 96-10-23	Created by TY
;-
	if keyword_set(verbose) then verbose=1 else verbose=0
	sunrise=anytim2ints(fem)
	sunset=anytim2ints(fem,off=fem.night)
	nm=n_elements(fem)
	sstrst=['U','M','C','G','W','S']
	strst=byte(sstrst)
	nullflg=intarr(16)-1
	flgst=nullflg
	nulltm=anytim2ints(strarr(16))
	sttst=nulltm
	endst=nulltm
	cntst=0
	for i=0,nm-1 do $
	for j=0,n_elements(fem(i).st$station)-1 do $
	for k=0,n_elements(strst)-1 do $
	if strst(k) eq fem(i).st$station(j) then begin
		flgst(cntst)=k
		sttst(cntst)=anytim2ints(fem(i),off=fem(i).st_station(j))
		endst(cntst)=anytim2ints(fem(i),off=fem(i).en_station(j))
		cntst=cntst+1
		if n_elements(flgst) eq cntst then begin
			flgst=[flgst,nullflg]
			sttst=[sttst,nulltm]
			endst=[endst,nulltm]
		endif
	endif
	flgst=flgst(0:cntst-1)
	sttst=sttst(0:cntst-1)
	endst=endst(0:cntst-1)
	sttsaa=nulltm
	endsaa=nulltm
	cntsaa=0
	for i=0,nm-1 do if fem(i).en_saa gt 0 then begin
		sttsaa(cntsaa)=anytim2ints(fem(i),off=fem(i).st_saa)
		endsaa(cntsaa)=anytim2ints(fem(i),off=fem(i).en_saa)
		cntsaa=cntsaa+1
		if n_elements(sttsaa) eq cntsaa then begin
			sttsaa=[sttsaa,nulltm]
			endsaa=[endsaa,nulltm]
		endif
	endif
	sttsaa=sttsaa(0:cntsaa-1)
	endsaa=endsaa(0:cntsaa-1)

	totnm=nm*2+cntst*2+cntsaa*2
	femflg=bytarr(totnm)
	femtime=[sunrise,sunset,sttst,endst,sttsaa,endsaa]
	femflg(0:nm-1)=0
	femflg(nm:2*nm-1)=1
	femflg(2*nm:2*nm+cntst-1)=128+flgst
	femflg(2*nm+cntst:2*nm+2*cntst-1)=128+64+flgst
	femflg(2*nm+2*cntst:2*nm+2*cntst+cntsaa-1)=2
	femflg(2*nm+2*cntst+cntsaa:2*nm+2*cntst+2*cntsaa-1)=3
	s=sort_index(femtime,/ss)
	femflg=femflg(s)
	femtime=femtime(s)

	femstr=strarr(256)+'UNKNOWN'
	femstr(0)='DAY    '
	femstr(1)='NIGHT  '
	femstr(2)='ST  SAA'
	femstr(3)='END SAA'
	femstr(128:128+n_elements(strst)-1)='STCNT:'+sstrst
	femstr(128+64:128+64+n_elements(strst)-1)='ENCNT:'+sstrst
	if verbose then for i=0,totnm-1 do $
		print,femstr(femflg(i))+' '+gt_time(femtime(i),/str)+' '+gt_day(femtime(i),/str)
end
