;+ ;Procedure: THM_LOAD_GMAG, ; thm_load_gmag, site = site, datatype = datatype, trange = trange, $ ; level = level, verbose = verbose, $ ; subtract_average = subtract_average, $ ; subtract_median = subtract_median, $ ; varname_out = varname_out, $ ; subtracted_values = subtracted_values, $ ; downloadonly = downloadonly, $ ; valid_names = valid_names ;keywords: ; site = Observatory name, example, thm_load_gmag, site = 'bmls', the ; default is 'all', i.e., load all available stations . This ; can be an array of strings, e.g., ['bmls', 'ccmv'] or a ; single string delimited by spaces, e.g., 'bmls ccnv' ; datatype = The type of data to be loaded, for this case, there is only ; one option, the default value of 'mag', so this is a ; placeholder should there be more that one data type. 'all' ; can be passed in also, to get all variables. ; TRANGE= (Optional) Time range of interest (2 element array), if ; this is not set, the default is to prompt the user. Note ; that if the input time range is not a full day, a full ; day's data is loaded ; level = the level of the data, the default is 'l2', or level-2 ; data. A string (e.g., 'l2') or an integer can be used. 'all' ; can be passed in also, to get all levels. ; /VERBOSE : set to output some useful info ; /SUBTRACT_AVERAGE, if set, then the average values are subtracted ; from the loaded variables, ; /SUBTRACT_MEDIAN, if set, then the median values are subtracted ; from the loaded variables, ; varname_out= a string array containing the tplot variable names for ; the loaded data, useful for the following keyword: ; subtracted_values = returns N_elements(varname_out) by 3 array ; containing the average or median (or 0) values ; subtracted from the data. ; /downloadonly, if set, then only download the data, do not load it ; into variables. ; no_download: use only files which are online locally. ; relpathnames_all: named variable in which to return all files that are ; required for specified timespan, probe, datatype, and level. ; If present, no files will be downloaded, and no data will be loaded. ; /valid_names, if set, then this will return the valid site, datatype ; and/or level options in named variables, for example, ; ; thm_load_gmag, site = xxx, /valid_names ; ; will return the array of valid sites in the ; variable xxx ; get_support_data = does nothing. present only for consistency with other ; load routines ; ;Example: ; thm_load_gmag, site = 'bmls', trange = ; ['2007-01-22/00:00:00','2007-01-24/00:00:00'] ; ;Written by: Davin Larson, Dec 2006 ; 22-jan-2007, jmm, jimm@ssl.berkeley.edu rewrote argument list, added ; keywords, ; 1-feb-2007, jmm, added subtract_median, subtracted_value keywords ; 19-mar-2007, jmm, fixed the station list... ; $LastChangedBy: jimm $ ; $LastChangedDate: 2007-05-21 16:44:54 -0700 (Mon, 21 May 2007) $ ; $LastChangedRevision: 678 $ ; $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_2_02/idl/themis/ground/thm_load_gmag.pro $ ;- ; processing for subracting average, median, and returning subracted value. pro thm_load_gmag_post, sname=sitei, datatype=dtj, $ varcount = varcount, verbose = vb, $ subtract_average = subavg, $ subtract_median = subtract_median, $ varname_out = varname_out, $ subtracted_values = subtracted_values, _extra=_extra ; varname = 'thg_'+lvlk+'_'+dtj+'_'+sitei varname = 'thg_'+dtj+'_'+sitei options, /default, varname, ytitle = sitei+'!cB (nT)', constant = 0. if varcount Eq 0 then begin varname_out = varname subtracted_values = dblarr(1, 3) ;3 field components varcount = varcount+1 endif else begin varname_out = [varname_out, varname] subtracted_values = [subtracted_values, dblarr(1, 3)] varcount = varcount+1 endelse if keyword_set(subavg) Or keyword_set(subtract_median) then begin get_data, varname, data = d, alim = alim if keyword_set(d) then begin lng = struct_value(alim, 'cdf.vatt.station_longitude', default = !values.f_nan) lat = struct_value(alim, 'cdf.vatt.station_longitude', default = !values.f_nan) ;Note 'lat' and 'lng' could be used to subtract off a model dipole ;field svalue = average(d.y, 1, /double, $ ret_median = keyword_set(subtract_median)) d.y -= (replicate(1, n_elements(d.x)) # svalue ) ; subtract the average value subtracted_values[varcount-1, *] = transpose(svalue) store_data, varname, data = d endif endif end Pro thm_load_gmag, site = site, datatype = datatype, trange = trange, $ level = level, verbose = verbose, $ subtract_average = subavg, $ subtract_median = subtract_median, $ varname_out = varname_out, $ subtracted_values = subtracted_values, $ downloadonly = downloadonly, no_download=no_download, $ relpathnames_all=relpathnames_all, $ valid_names = valid_names, $ get_support_data=get_support_data, $ progobj = progobj ; _extra = _extra ;krb 5/4 if arg_present(relpathnames_all) then begin downloadonly=1 no_download=1 end varcount = 0 thm_load_xxx,sname=site, datatype=datatype, trange=trange, $ level=level, verbose=verbose, downloadonly=downloadonly, $ no_download=no_download, relpathnames_all=relpathnames_all, $ cdf_data=cdf_data,get_cdf_data=arg_present(cdf_data), $ varnames=varnames, valid_names = valid_names, files=files, $ vsnames = 'bmls ccnv chbg drby ekat fsim fsmi fykn fyts gako '+ $ 'gbay gill hots inuv kapu kian loys mcgr pgeo pina pine ptrs '+ $ 'rank rmus swno tpas ukia whit', $ type_sname = 'site', $ vdatatypes = 'mag', $ get_support_data=get_support_data, $ vlevels = 'l2', $ deflevel = 'l2', $ version = 'v01', $ post_process_proc = 'thm_load_gmag_post', $ subtract_average = subavg, $ subtract_median = subtract_median, $ varname_out = varname_out, $ subtracted_values = subtracted_values, $ varcount = varcount, $ progobj = progobj, $ _extra = _extra end