# Sample program to read the keogram data of Syowa WMI # stored in the directory "/data/aurora/amuaurora/Syowa/Syowa_WMI/keo_data" # 2024/02/19 by Akira Kadokura # yyyymmdd0: start date of the observation night (yyyy:year mm:month dd:day) # ch_no: WMI-1:430nm, 2:560nm, 3:486nm, 4:480nm # nkeo_jmax: number of sample time during the one night # irmax: number of pixels along the diameter of the all-sky FOV of each camera # ns_elv: elevation angle(deg) at each pixel along geomagnetic N-S meridian within FOV # ew_elv: elevation angle(deg) at each pixel along geomagnetic E-W meridian within FOV # image_time: time(sec) of each sample in the night # nskeo2: pixel output(digit:0-255) along geomagnetic N-S meridian within FOV at each sample time # ewkeo2: pixel output(digit:0-255) along geomagnetic E-W meridian within FOV at each sample time ------------------------------------- #define WIDTH0 700 #define HEIGHT0 700 #define IMAX0 60*60*30 void main(int argc, char *argv[]) { FILE *fin; static char base_dir[]="/data/aurora/amuaurora/Syowa/Syowa_WMI"; static char fname[100]; int yyyymmdd0,ch_no,yyyy; int nkeo_jmax,irmax; int nskeo[IMAX0][HEIGHT0],ewkeo[IMAX0][HEIGHT0]; int nskeo2[IMAX0*HEIGHT0],ewkeo2[IMAX0*HEIGHT0]; float ns_elv[HEIGHT0],ew_elv[HEIGHT0]; double image_time[IMAX0]; int i,j,j0,imax,jmax,icnt,icnt_max; /********************/ if(argc!=3){ printf("Please type \"pltJPG_keogram \"\n"); exit(1); }; yyyymmdd0 = atoi(argv[1]); ch_no = atoi(argv[2]); yyyy = yyyymmdd0/10000; sprintf(fname,"%s/keo_data/%1d/%4d/wmi%1d_%8d.keodata",base_dir,ch_no,yyyy,ch_no,yyyymmdd0); fin = fopen(fname,"r"); fread(&ch_no,sizeof(int),1, fin); fread(&yyyymmdd0,sizeof(int),1, fin); fread(&nkeo_jmax,sizeof(int),1, fin); fread(&irmax,sizeof(int),1, fin); fread(ns_elv,sizeof(float),(irmax+1), fin); fread(ew_elv,sizeof(float),(irmax+1), fin); fread(image_time,sizeof(double),(nkeo_jmax+1), fin); fread(nskeo2,sizeof(int),(nkeo_jmax+1)*(irmax+1), fin); fread(ewkeo2,sizeof(int),(nkeo_jmax+1)*(irmax+1), fin); fclose(fin); icnt_max=(nkeo_jmax+1)*(irmax+1); for(icnt=0;icnt