<< Description of Akebono VLF-MCA in Science Database Format >>> Sep. 15, 1996 (Version 3.01) The MCA which is one of subsystems of the VLF instrument onboard Akebono provides one component of electric field and one component of magnetic field at 16 frequency points. The center frequency for each channel is 3.16 Hz, 5.62 Hz, 10.0 Hz, 17.8 Hz, 31.6 Hz, 56.2 Hz, 100. Hz, 178. Hz, 316. Hz, 562. Hz, 1.00 kHz, 1.78 kHz, 3.16 kHz, 5.62 kHz, 10.0 kHz, 17.8 kHz with a band width of 30% of each center frequency. The file name of VLF-MCA is given as 'yymmddhh.vlf'. The file is composed of a series of blocks, each of which consists of 496bytes. The first block is the header whose format is : 0----+----1----+----2----+----3----+----4---(...)---- yymmddhhmmss YYMMDDHHMMSS VLF-MCA Ver.3.01 yymmddhhmmss: Start date and time (UT) at the 1st record of the 2nd block (ASCII) YYMMDDHHMMSS: End date and time (UT) at the last record of the last block (ASCII) Ver.3.01 : Version Number The blocks following the 1st block are the VLF wave data. One block datum consists of block number (1byte) and 15 records (1record = 33bytes), each of which is corresponding to every 8sec interval (1block = 1 + 33*15 = 496bytes). Therefore each data block is constructed as follows: byte | contents | Elapsed time ---------------------------------------------------------------- 1 | block number | (NO) 2 - 34 | 1st record | yymmddhhmmss + NO*120(sec) 35 - 67 | 2st record | yymmddhhmmss + NO*120(sec) + 8sec 68 - 100 | 3rd record | yymmddhhmmss + NO*120(sec) + 16sec : | : | 464 - 496 | 15th record | yymmddhhmmss + NO*120(sec) + 112sec Each record consists of E and B field intensities of 8sec average at 16 frequency points (from 1st to 32th byte) and flags (33th byte) for observation status. The 8sec average is taken for an interval from 4sec before to 4sec after the elapsed time. E and B intensity data and flags are represented by 1byte integer (I) with no sign bit as follows: byte | contents ---------------------------------------------------------------- 1 - 16 | E-field (3.16Hz, 5.62Hz, ..., 17.8kHz) 17 - 32 | B-field (3.16Hz, 5.62Hz, ..., 17.8kHz) 33 | Flags for observation status The intensities are described in [dB] (0 #include FILE *fp; unsigned char buf[496]; opnrmca_(file, l) char *file; int l; { register unsigned char *p = buf; register int i; if ((fp = fopen(fs2cs(file, l), "r")) == NULL) { perror(file); exit(1); } } clsrmca_() { fclose(fp); } gtmchd_(head, ver, stm, etm) double *stm; double *etm; char head[10], ver[10]; { char astm[15], aetm[15]; fseek(fp, 0L, 0); fread(buf, sizeof(*buf), sizeof(buf), fp); sscanf(buf, "%s %s %s %s", astm, aetm, head, ver); *stm=atof(astm); *etm=atof(aetm); } int irdblkm_(iblock) long *iblock; { register unsigned char *p = buf; register int i; if (fread(buf, sizeof(*buf), sizeof(buf), fp) == 0) return(-1); for (i = 0; i < 496; i++) { *iblock++ = *p++; } return(0); } ---(Part 2 : FORTRAN language)--- implicit real*4(a-h,o-z),integer*4(i-n) character*20 file character*10 head, ver real*8 stm, etm narg = iargc(0) if(narg.le.0) then write(0,1000) 1000 format('Usage: rdmca filename(yymmddhh.vlf)') call exit(1) end if call getarg(1,file) call opnrmca(file) call gtmchd(head, ver, stm, etm) print*, 'head=', head, ' ', ver, stm, etm call readmca call clsrmca stop end ************************************************************************ subroutine readmca ************************************************************************ implicit real*4(a-h,o-z),integer*4(i-n) parameter (nwrd = 496) parameter (nblk = 90) common /mcadata/ iblock(nwrd,nblk), num num = 1 1 continue irc = irdblkm(iblock(1,num)) if (irc.ne.0) goto 999 num = num + 1 goto 1 999 continue num = num - 1 return end