;---------------------------------------------------------------------------
; Document name: WRITE_HKBYDATE.PRO
; Created by:    Dietmar Germerott, MPAE Lindau, November 15, 1998
;
; Last Modified: Tue Nov 17 16:40:17 1998 (GERMEROTT@linsu1.mpae.gwdg.de)
;---------------------------------------------------------------------------
;
PRO write_hkbydate, in_array, errmsg=errmsg
;+
; PROJECT:
;       SOHO - SUMER
;
; NAME:
;       WRITE_HKBYDATE
;
; PURPOSE: 
;       
;
; CATEGORY:
;       
; 
; EXPLANATION:
;       
; SYNTAX: 
;       write_hkbydate, 
;
; EXAMPLES:
;       
; INPUTS:
;       
;
; OPTIONAL INPUTS: 
;       None.
;
; OUTPUTS:
;       None.
;
; OPTIONAL OUTPUTS:
;       None.
;
; KEYWORDS: 
;       None.
;
; COMMON:
;       None.
;
; RESTRICTIONS: 
;       None.
;
; SIDE EFFECTS:
;       None.
;
; HISTORY:
;       Version 1, November 15, 1998, Dietmar Germerott, MPAE Lindau. Written
;
; CONTACT:
;       Dietmar Germerott, MPAE Lindau (germerott@linmpi.mpg.de)
;-
;
;   ON_ERROR, 2
   
   errmsg = ''
   msginpro = ''
   
   s = SIZE(in_array)
   
   IF s(0) LT 1 THEN BEGIN
      
      errmsg = ' Input Must be at Byte Array '
      MESSAGE, errmsg, /cont
      return
   ENDIF
   
   IF s(1) LT 26 THEN BEGIN
      
      errmsg = ' Input HK Must be at Byte Array GE 26'
      MESSAGE, errmsg, /cont
      return
   ENDIF
   
   tmp_timbyt = in_array(4:9,*)
   tmp_timbyt(4:5, *) = 0b      ;set no timebytes to 0
   
   tmp_utc = tai2utc(obt2tai(tmp_timbyt), /date_only, errmsg=msginpro)
   
   tmp_utcd = utc2str(tmp_utc, /date_only, errmsg=msginpro)
   
   CASE 1 OF
      
      (msginpro NE ''):BEGIN
         
         errmsg = msginpro
         MESSAGE,/cont,errmsg
         RETURN
      END
      
      (N_ELEMENTS(tmp_utcd) LT 1):BEGIN
         
         errmsg = 'Invalid values for DATE'
         MESSAGE,errmsg
         RETURN
      END
      
      (N_ELEMENTS(tmp_utcd) EQ 1):tmp_nx = tmp_utcd
      (N_ELEMENTS(tmp_utcd) GT 1):tmp_nx = tmp_utcd(uniq(tmp_utcd, SORT(tmp_utcd)))
     
      
   ENDCASE
   
   hk_idx = STRING(form='(i3.3)', in_array(3, 0))
   
   FOR n=0, N_ELEMENTS(tmp_nx)-1 DO BEGIN
      
      tmp_idx = WHERE(tmp_utcd EQ tmp_nx(n), cnt)
      PRINT, 'writing', cnt, ' records to file'
      f_nam = 'tm_hk'+hk_idx+'_'+tmp_nx(n)+'_xx.dat'
      outnam = concat_dir(GETENV('cd_hk_loc'), f_nam)
      y = in_array(*, tmp_idx)
      PRINT, outnam
      OPENW, uout, /append, /stream, /GET_LUN, outnam
      WRITEU, uout, y
      FREE_LUN, uout
   ENDFOR
   
END


;---------------------------------------------------------------------------
; End of 'WRITE_HKBYDATE.PRO'.
;---------------------------------------------------------------------------
