;+ ;Procedure: THM_LOAD_GREENLAND_GMAG, ; thm_load_greenland_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_greenland_gmag, site = 'amk', the ; default is 'all', i.e., load all available stations . This ; can be an array of strings, e.g., ['amk', 'atu'] or a ; single string delimited by spaces, e.g., 'amk atu'. The ; valid site names for this case are: ; ['AMK', 'ATU', 'DMH', 'DNB', 'GDH', 'KUV', 'NAQ', 'NRD', 'SCO', $ ; 'SKT', 'STF', 'SVS', 'THL', 'UMQ', 'UPN'] ; ['Tasiilaq', 'Attu', 'Danmarkshavn', 'Daneborg', 'Qeqertarsuaq', $ ; 'Kullorsuaq', 'Narsarsuaq', $ ; 'Nord', 'Ittoqqortoormiit', 'Maniitsoq', 'Kangerlussuaq', $ ; 'Savissivik', 'Qaanaaq', 'Uummannaq', 'Upernavik'] ; Note that the station 'naq' is the THEMIS GMAG ; station 'NRSQ' ; 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_greenland_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: ; timespan, '2007-06-04',1 ; thm_load_greenland_gmag, site = 'amk' ; ; 19-mar-2007, jmm, chnaged name from thm_load_gmag, to read greenland ; gmag stations not included in the usual GMAG distribution ; $LastChangedBy: jimmpc $ ; $LastChangedDate: 2009-05-06 10:53:21 -0700 (Wed, 06 May 2009) $ ; $LastChangedRevision: 5788 $ ; $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_5_11/idl/themis/ground/thm_load_greenland_gmag.pro $ ;- Function thm_load_greenland_gmag_relpath, sname = sname, $ trange = trange, $ addmaster = addmaster, $ version = version, _extra = _extra If(keyword_set(sname)) Then snamei = sname Else sname = 'amk' relpath = 'thg/greenland_gmag/l2/'+snamei + '/' prefix = 'thg_l2_mag_'+snamei + '_' dir = 'YYYY/' If(version Eq '') Then Begin ending = '.cdf' Endif Else ending = '_'+version+'.cdf' relpathnames = file_dailynames(relpath, prefix, ending, dir = dir, $ trange = trange, addmaster = addmaster) Return, relpathnames End ; processing for subracting average, median, and returning subracted value. pro thm_load_greenland_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, /def, varname, ytitle = sitei, ysubtitle = 'B (nT)', $ constant = 0., labels = ['bx', 'by', 'bz'], labflag = 1 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_greenland_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, files = files, $ _extra = _extra if arg_present(relpathnames_all) then begin downloadonly=1 no_download=1 end varcount = 0 vsnames = 'amk atu dmh dnb gdh kuv naq nrd sco skt stf svs thl umq upn' 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 = vsnames, $ type_sname = 'site', $ vdatatypes = 'mag', $ get_support_data=get_support_data, $ vlevels = 'l2', $ deflevel = 'l2', $ version = 'v01', $ post_process_proc = 'thm_load_greenland_gmag_post', $ subtract_average = subavg, $ subtract_median = subtract_median, $ varname_out = varname_out, $ subtracted_values = subtracted_values, $ varcount = varcount, $ progobj = progobj, $ relpath_funct = 'thm_load_greenland_gmag_relpath', $ _extra = _extra end