;docformat='rst' ;+ ; Set the version ; ; :Author: ; Chris Jeppensen, Bill Barrett (conversion to regular expression) ;- function lookup_version, data_product, revision=revision ; The level should end in either a single digit or a single digit ; followed by a letter. version_regex = '.*([[:digit:]]{1})([A-E])?.*' match = stregex(data_product, version_regex, /extract, /fold_case, /subexpr) ; For the regular expression above match[1] is the level number (1, 2, 3) ; and match[2] is if present a qualifier such as 'A', 'B', etc. case fix(match[1]) of 1: begin if match[2] eq 'A' then begin revision = !REVISION_1A version = !VERSION_1A endif else begin revision = !REVISION_1B version = !VERSION_1B endelse end 2: begin revision = !REVISION_2 version = !VERSION_2 end 3: begin revision = !REVISION_3 version = !VERSION_3 end 4: begin revision = !REVISION_1A version = !CIPS_VERSION end else: print, get_routine_name() + 'Unknown data product: ' + data_product endcase return, string(version,format='(f05.2)') end