;+ ;function thm_valid_level ;purpose: ; for thm_load routines to validate the level keyword and set it to a standard ; format ('l1', 'l2', etc.). Only a single level is allowed. ;keywords: ; level: level keyword input from thm_load routine ; vlevels: a space-separated string, like 'l1 l2' ; deflevel: a string like 'l2'. defaults to 'l1' ;example: ; lvl = thm_valid_level('l1','l1 l2','l1') ; ;- function thm_valid_level, level, vlevels, deflevel ;valid data levels vlevels = strsplit(vlevels, ' ', /extract) ; parse out data level if keyword_set(deflevel) then lvl = deflevel else lvl = 'l1' if n_elements(level) gt 0 then begin if size(level, /type) Eq 7 then begin If(level[0] Ne '') then lvl = strcompress(strlowcase(level), /remove_all) endif else lvl = 'l'+strcompress(string(fix(level)), /remove_all) endif lvls = thm_check_valid_name(strlowcase(lvl), vlevels) if not keyword_set(lvls) then begin dprint, dlevel = -1, $ 'level name invalid' + lvl return, -1L endif if n_elements(lvls) gt 1 then begin dprint, dlevel = -1, $ 'only one value may be specified for level' return, -1L endif return, lvls[0] end