function thm_valid_level, level, vlevels, deflevel
vlevels = strsplit(vlevels, ' ', /extract)
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