pro iug_load_ear_iono_fr_nc, parameter=parameter, $
downloadonly=downloadonly, $
trange=trange, $
verbose=verbose
if (not keyword_set(verbose)) then verbose=2
parameter_all = strsplit('fb1p16a fb1p16b fb1p16c fb1p16d fb1p16e fb1p16f fb1p16g fb1p16h fb1p16i '+$
'fb1p16j1 fb1p16j2 fb1p16j3 fb1p16j4 fb1p16j5 fb1p16j6 fb1p16j7 fb1p16j8 fb1p16j9 '+$
'fb1p16j10 fb1p16j11 fb1p16k1 fb1p16k2 fb1p16k3 fb1p16k4 fb1p16k5 fb8p16 fb8p16k1 fb8p16k2 '+$
'fb8p16k3 fb8p16k4 fb1p16m2 fb1p16m3 fb1p16m4 fb8p16m1 fb8p16m2 ',$
' ', /extract)
if(not keyword_set(parameter)) then parameter='all'
parameters = thm_check_valid_name(parameter, parameter_all, /ignore_case, /include_all)
print, parameters
unit_all = strsplit('m/s dB',' ', /extract)
jj=0L
for ii=0L,n_elements(parameters)-1 do begin
if ~size(fns,/type) then begin
file_names = file_dailynames( $
file_format='YYYY/YYYYMMDD/'+$
'YYYYMMDD',trange=trange,times=times,/unique)+'.fai'+parameters[ii]+'.nc'
source = file_retrieve(/struct)
source.verbose=verbose
source.local_data_dir = root_data_dir() + 'iugonet/rish/misc/ktb/ear/fai/f_region/nc/'
source.remote_data_dir = 'http://www.rish.kyoto-u.ac.jp/ear/data-fai/data/nc/'
local_paths=file_retrieve(file_names,_extra=source)
local_paths_all = ~(~size(local_paths_all,/type)) ? $
[local_paths_all, local_paths] : local_paths
if ~(~size(local_paths_all,/type)) then local_paths=local_paths_all
endif else file_names=fns
if (not keyword_set(downloadonly)) then downloadonly=0
if (downloadonly eq 0) then begin
ear_time=0
pwr1 = 0
wdt1 = 0
dpl1 = 0
pn1 = 0
for j=jj,n_elements(local_paths)-1 do begin
file= local_paths[j]
if file_test(/regular,file) then dprint,'Loading the FAI observation data taken by the EAR: ',file $
else begin
dprint,'The FAI observation data taken by the EAR ',file,' not found. Skipping'
continue
endelse
cdfid = ncdf_open(file,/NOWRITE)
glob = ncdf_inquire( cdfid )
print,'Dimensions', glob.ndims
for i=0L,glob.ndims-1 do begin
ncdf_diminq, cdfid, i, name,size
if i eq glob.recdim then $
print,' ', name, size, '(Unlimited dim)' $
else $
print,' ', name, size
endfor
print
print, 'Variables'
for m=0L,glob.nvars-1 do begin
info = ncdf_varinq(cdfid, m)
FmtStr = '(A," (",A," ) Dimension Ids = [ ", 10(I0," "),$)'
print, FORMAT=FmtStr, info.name,info.datatype, info.dim[*]
print, ']'
for l=0L,info.natts-1 do begin
attname = ncdf_attname(cdfid,m,l)
ncdf_attget,cdfid,m,attname,attvalue
print,' Attribute ', attname, '=', string(attvalue)
if (info.name eq 'time') and (attname eq 'units') then time_data=string(attvalue)
endfor
endfor
time_info=strsplit(time_data,' ',/extract)
syymmdd=time_info[2]
shhmmss=time_info[3]
time_diff=strsplit(time_info[4],':',/extract)
time_diff2=fix(time_diff[0])*3600+fix(time_diff[1])*60
ncdf_varget, cdfid, 'lat', lat
ncdf_varget, cdfid, 'lon', lon
ncdf_varget, cdfid, 'sealvl', sealvl
ncdf_varget, cdfid, 'bmwdh', bmwdh
ncdf_varget, cdfid, 'freq', freq
ncdf_varget, cdfid, 'ipp', ipp
ncdf_varget, cdfid, 'ndata', ndata
ncdf_varget, cdfid, 'nfft', nfft
ncdf_varget, cdfid, 'ncoh', ncoh
ncdf_varget, cdfid, 'nicoh', nicoh
ncdf_varget, cdfid, 'beam', beam
ncdf_varget, cdfid, 'range', range
ncdf_varget, cdfid, 'az', az
ncdf_varget, cdfid, 'ze', ze
ncdf_varget, cdfid, 'date', date
ncdf_varget, cdfid, 'time', time
ncdf_varget, cdfid, 'height', height
ncdf_varget, cdfid, 'pwr', pwr
ncdf_varget, cdfid, 'width', width
ncdf_varget, cdfid, 'dpl', dpl
ncdf_varget, cdfid, 'pnoise', pnoise
year = fix(strmid(strtrim(string(date),1),0,4))
month = fix(strmid(strtrim(string(date),1),4,2))
day = fix(strmid(strtrim(string(date),1),6,2))
height2 = fltarr(n_elements(range))
unix_time = dblarr(n_elements(time))
pwr1_ear=fltarr(n_elements(time),n_elements(range),n_elements(beam))
wdt1_ear=fltarr(n_elements(time),n_elements(range),n_elements(beam))
dpl1_ear=fltarr(n_elements(time),n_elements(range),n_elements(beam))
snr1_ear=fltarr(n_elements(time),n_elements(range),n_elements(beam))
pnoise1_ear=fltarr(n_elements(time),n_elements(beam))
for i=0L, n_elements(time)-1 do begin
unix_time[i] = double(time[i]) +time_double(string(syymmdd)+'/'+string(shhmmss))-double(time_diff2)
for k=0L, n_elements(range)-1 do begin
for l=0L, n_elements(beam)-1 do begin
a = pwr[k,i,l]
wbad = where(a eq 10000000000,nbad)
if nbad gt 0 then a[wbad] = !values.f_nan
pwr[k,i,l] =a
b = width[k,i,l]
wbad = where(b eq 10000000000,nbad)
if nbad gt 0 then b[wbad] = !values.f_nan
width[k,i,l] =b
c = dpl[k,i,l]
wbad = where(c eq 10000000000,nbad)
if nbad gt 0 then c[wbad] = !values.f_nan
dpl[k,i,l] =c
pwr1_ear[i,k,l]=pwr[k,i,l]
wdt1_ear[i,k,l]=width[k,i,l]
dpl1_ear[i,k,l]=dpl[k,i,l]
endfor
endfor
for l=0L, n_elements(beam)-1 do begin
d = pnoise[i,l]
wbad = where(d eq 10000000000,nbad)
if nbad gt 0 then d[wbad] = !values.f_nan
pnoise[i,l] =d
pnoise1_ear[i,l]=pnoise[i,l]
endfor
endfor
ncdf_close,cdfid
snr=fltarr(n_elements(time),n_elements(range),n_elements(beam))
for i=0L,n_elements(time)-1 do begin
for l=0L,n_elements(beam)-1 do begin
for k=0L,n_elements(range)-1 do begin
snr1_ear[i,k,l]=pwr1_ear[i,k,l]-(pnoise1_ear[i,l]+alog10(nfft))
endfor
endfor
endfor
append_array, ear_time, unix_time
append_array, pwr1, pwr1_ear
append_array, wdt1, wdt1_ear
append_array, dpl1, dpl1_ear
append_array, pn1, pnoise1_ear
append_array, snr1, snr1_ear
endfor
acknowledgstring = 'The Equatorial Atmosphere Radar belongs to Research Institute for ' $
+ 'Sustainable Humanosphere (RISH), Kyoto University and is operated by ' $
+ 'RISH and National Institute of Aeronautics and Space (LAPAN) Indonesia. ' $
+ 'Distribution of the data has been partly supported by the IUGONET '$
+ '(Inter-university Upper atmosphere Global Observation NETwork) project ' $
+ '(http://www.iugonet.org/) funded by the Ministry of Education, Culture, ' $
+ 'Sports, Science and Technology (MEXT), Japan.'
if n_elements(ear_time) gt 1 then begin
bname2=strarr(n_elements(beam))
bname=strarr(n_elements(beam))
pwr2_ear=fltarr(n_elements(ear_time),n_elements(range))
wdt2_ear=fltarr(n_elements(ear_time),n_elements(range))
dpl2_ear=fltarr(n_elements(ear_time),n_elements(range))
snr2_ear=fltarr(n_elements(ear_time),n_elements(range))
pnoise2_ear=fltarr(n_elements(ear_time))
if size(pwr1,/type) eq 4 then begin
dlimit=create_struct('data_att',create_struct('acknowledgment',acknowledgstring,'PI_NAME', 'H. Hashiguchi'))
for l=0L, n_elements(beam)-1 do begin
bname2[l]=string(beam[l]+1)
bname[l]=strsplit(bname2[l],' ', /extract)
for k=0L, n_elements(range)-1 do begin
height2[k]=height[k,l]
endfor
for i=0L, n_elements(ear_time)-1 do begin
for k=0L, n_elements(range)-1 do begin
pwr2_ear[i,k]=pwr1[i,k,l]
endfor
endfor
store_data,'iug_ear_fai'+parameters[ii]+'_pwr'+bname[l],data={x:ear_time, y:pwr2_ear, v:height2},dlimit=dlimit
new_vars=tnames('iug_ear_fai'+parameters[ii]+'_pwr'+bname[l])
if new_vars[0] ne '' then begin
options,'iug_ear_fai'+parameters[ii]+'_pwr'+bname[l],ytitle='EAR-iono!CHeight!C[km]',ztitle='pwr'+bname[l]+'!C[dB]'
options,'iug_ear_fai'+parameters[ii]+'_pwr'+bname[l],'spec',1
tdegap, 'iug_ear_fai'+parameters[ii]+'_pwr'+bname[l], /overwrite
endif
for i=0L, n_elements(ear_time)-1 do begin
for k=0L, n_elements(range)-1 do begin
wdt2_ear[i,k]=wdt1[i,k,l]
endfor
endfor
store_data,'iug_ear_fai'+parameters[ii]+'_wdt'+bname[l],data={x:ear_time, y:wdt2_ear, v:height2},dlimit=dlimit
new_vars=tnames('iug_ear_fai'+parameters[ii]+'_wdt'+bname[l])
if new_vars[0] ne '' then begin
options,'iug_ear_fai'+parameters[ii]+'_wdt'+bname[l],ytitle='EAR-iono!CHeight!C[km]',ztitle='wdt'+bname[l]+'!C[m/s]'
options,'iug_ear_fai'+parameters[ii]+'_wdt'+bname[l],'spec',1
tdegap, 'iug_ear_fai'+parameters[ii]+'_wdt'+bname[l], /overwrite
endif
for i=0L, n_elements(ear_time)-1 do begin
for k=0L, n_elements(range)-1 do begin
dpl2_ear[i,k]=dpl1[i,k,l]
endfor
endfor
store_data,'iug_ear_fai'+parameters[ii]+'_dpl'+bname[l],data={x:ear_time, y:dpl2_ear, v:height2},dlimit=dlimit
new_vars=tnames('iug_ear_fai'+parameters[ii]+'_dpl'+bname[l])
if new_vars[0] ne '' then begin
options,'iug_ear_fai'+parameters[ii]+'_dpl'+bname[l],ytitle='EAR-iono!CHeight!C[km]',ztitle='dpl'+bname[l]+'!C[m/s]'
options,'iug_ear_fai'+parameters[ii]+'_dpl'+bname[l],'spec',1
tdegap, 'iug_ear_fai'+parameters[ii]+'_dpl'+bname[l], /overwrite
endif
for i=0L, n_elements(ear_time)-1 do begin
for k=0L, n_elements(range)-1 do begin
snr2_ear[i,k]=snr1[i,k,l]
endfor
endfor
store_data,'iug_ear_fai'+parameters[ii]+'_snr'+bname[l],data={x:ear_time, y:snr2_ear, v:height2},dlimit=dlimit
new_vars=tnames('iug_ear_fai'+parameters[ii]+'_snr'+bname[l])
if new_vars[0] ne '' then begin
options,'iug_ear_fai'+parameters[ii]+'_snr'+bname[l],ytitle='EAR-iono!CHeight!C[km]',ztitle='snr'+bname[l]+'!C[dB]'
options,'iug_ear_fai'+parameters[ii]+'_snr'+bname[l],'spec',1
tdegap, 'iug_ear_fai'+parameters[ii]+'_snr'+bname[l], /overwrite
endif
for i=0L, n_elements(time)-1 do begin
pnoise2_ear[i]=pn1[i,l]
endfor
store_data,'iug_ear_fai'+parameters[ii]+'_pn'+bname[l],data={x:ear_time, y:pnoise2_ear},dlimit=dlimit
new_vars=tnames('iug_ear_fai'+parameters[ii]+'_pn'+bname[l])
if new_vars[0] ne '' then begin
options,'iug_ear_fai'+parameters[ii]+'_pn'+bname[l],ytitle='pn'+bname[l]+'!C[dB]'
tdegap, 'iug_ear_fai'+parameters[ii]+'_pn'+bname[l], /overwrite
endif
endfor
endif
new_vars=tnames('iug_ear_fai*')
if new_vars[0] ne '' then begin
print,'**********************************************************************************
print,'Data loading is successful!!'
print,'**********************************************************************************
endif
endif
endif
ear_time=0
pwr1 = 0
wdt1 = 0
dpl1 = 0
pn1 = 0
snr1 = 0
jj=n_elements(local_paths)
endfor
print, '****************************************************************
print, 'Acknowledgement'
print, '****************************************************************
print, 'The Equatorial Atmosphere Radar belongs to Research Institute for '
print, 'Sustainable Humanosphere (RISH), Kyoto University and is operated by '
print, 'RISH and National Institute of Aeronautics and Space (LAPAN) Indonesia. '
print, 'Distribution of the data has been partly supported by the IUGONET '
print, '(Inter-university Upper atmosphere Global Observation NETwork) project '
print, '(http://www.iugonet.org/) funded by the Ministry of Education, Culture, '
print, 'Sports, Science and Technology (MEXT), Japan.'
end