C+ C NAME: C smei_hdr_str C PURPOSE: C Extract character quantities from SMEI frame header C CALLING SEQUENCE: subroutine smei_hdr_str(id, hdr, chdr) C INPUTS: C id integer abs(id): entry for char entry in SMEI header C (see smei_frm_hdr.h) C if id > 0 a string is extracted from hdr C if id < 0 a string is entered into hdr C hdr(*) double precision SMEI frame header C chdr character*(*) id < 0: string to be put in header C OUTPUTS: C chdr character*(*) id > 0: sting extracted from header C INCLUDE: include 'smei_frm_hdr.h' C MODIFICATION HISTORY: C JUN-2004, Paul Hick (UCSD/CASS; pphick@ucsd.edu) C- integer id double precision hdr(*) character chdr*(*) character cStr*120 double precision dStr(15) equivalence (cStr,dStr) if (id .eq. SMEI__HDR_TLM_FILE) then do I=0,14 ! Copy 120 bytes (TLM+L1A) into cStr dStr(1+I) = hdr(SMEI__HDR_TLM_FILE+I) end do ! First 60 chars is TLM file chdr = cStr(1:60) else if (id .eq. SMEI__HDR_L1A_FILE) then do I=0,15 ! Copy 120 bytes (TLM+L1A) into cStr dStr(1+I) = hdr(SMEI__HDR_TLM_FILE+I) end do ! Second 60 chars is L1A file chdr = cStr(61:120) else if (id .eq. SMEI__HDR_CAL_PATTERN) then do I=1,3 dStr(I) = hdr(SMEI__HDR_CAL_PATTERN-1+I) end do chdr = cStr(:24) else if (id .eq. SMEI__HDR_ORB_PATTERN) then do I=1,3 dStr(I) = hdr(SMEI__HDR_ORB_PATTERN-1+I) end do chdr = cStr(:24) else if (id .eq. -SMEI__HDR_TLM_FILE) then do I=0,14 ! Copy 120 bytes (TLM+L1A) into cStr dStr(1+I) = hdr(SMEI__HDR_TLM_FILE+I) end do ! Overwrite first 60 chars with TLM file cStr(1:60) = chdr do I=0,14 ! Copy 120 bytes (TLM+L1A) back into hdr hdr(SMEI__HDR_TLM_FILE+I) = dStr(1+I) end do else if (id .eq. -SMEI__HDR_L1A_FILE) then do I=0,14 ! Copy 120 bytes (TLM+L1A) into cStr dStr(1+I) = hdr(SMEI__HDR_TLM_FILE+I) end do ! Overwrite second 60 char with L1A file cStr(61:120) = chdr do I=0,14 ! Copy 120 bytes (TLM+L1A) back into hdr hdr(SMEI__HDR_TLM_FILE+I) = dStr(1+I) end do else if (id .eq. -SMEI__HDR_CAL_PATTERN) then cStr = chdr do I=1,3 hdr(SMEI__HDR_CAL_PATTERN-1+I) = dStr(I) end do else if (id .eq. -SMEI__HDR_ORB_PATTERN) then cStr = chdr do I=1,3 hdr(SMEI__HDR_ORB_PATTERN-1+I) = dStr(I) end do end if return end