;change year(L5), number of days and day(L7),filename(L76) ;---------------------------------------- ; this program read ascii (*.dat) flare spectra on 37-bin and convert it to netcdf format ; required by the TIEGCM year=long(2011) ;day=[22,23,24] day=indgen(365)+0 ;+[0, 365] ndays=n_elements(day) nminutes=1440L ;1-minute resolution ntimes=ndays*nminutes ; read flare spectra on 37 bin nbins=37 close,1 ;openr,1,'2012_0122-0124_fism_flare_37.dat' openr,1,'flux_37.dat' str=' ' a=fltarr((ntimes+2),nbins) readf,1,str readf,1,str readf,1,a close,1 ; define the data structure d={DATE:lonarr(ntimes),UTTIME:dblarr(ntimes),YFRAC:dblarr(ntimes),WAVE1:dblarr(nbins), $ WAVE2:dblarr(nbins),SP_FLUX:dblarr(nbins,ntimes)} date=lonarr(ntimes) uttime=dblarr(ntimes) yfrac=dblarr(ntimes) sp_flux=dblarr(nbins,ntimes) wave1=fltarr(nbins) wave2=fltarr(nbins) ; ;fism's time resolution is 1 minute for each day ;fism use utc in seconds utc=long(findgen(nminutes))*long(60) for i=0L,ndays-1 do begin date[i*nminutes:((i+1)*nminutes-1)]=long(year)*long(1000)+long(day[i]) uttime[i*nminutes:((i+1)*nminutes-1)]=double(utc)/double(3600) endfor ; for m=0,ntimes-1 do begin if ((year-fix(float(year)/4)*4) eq 0) then begin yfrac[m]=double(date[m]/1000)+ $ double(((date[m]-(date[m]/1000)*1000)-1+ $ double(uttime[m]/24.))/366.) print,'leap year' endif else begin yfrac[m]=double(date[m]/1000)+ $ double(((date[m]-(date[m]/1000)*1000)-1+ $ double(uttime[m]/24.))/365.) print,'non leap year' endelse endfor ; reverse wavelength, from long wavelength to short wavelength wave1[*]=reverse(a[0,*],2) wave2[*]=reverse(a[1,*],2) for m=0,ntimes-1 do begin sp_flux[*,m]=reverse(a[m+2,*],2) endfor ; sort the data according to fractional year result=sort(yfrac) d.date=date(result) d.uttime=uttime(result) d.yfrac=yfrac(result) for i=0,nbins-1 do begin d.sp_flux[i,*]=sp_flux[i,result] endfor d.wave1=wave1 d.wave2=wave2 ;write_netcdf,d,'2005250-254_37.nc',att_file='/net/venus/i/lqian/sun/tlsm/program/input/see__L3.attr' write_netcdf,d,'2011001_365_fism_0_195nm_37.nc',att_file='./see__L3.attr' end