This file naming convention may be specified in Backus-Naur form as:
<filename> ::= <name_part> <delim0> <type_part>
<name_part> ::= <quantity_field> [ <optional_field> ]
{ <delim1> <optional_field> }
<type_part> ::= <source_field>
<quantity_field> ::= <name_1> | <name_2> | <name_3> | <name_4>
<optional field> ::= <date_field> | <grid_field>
| <forecast_field> | <sequence field>
| <format_field> | <special field>
| <time-field>
<date_field> ::= <ave_spec> <date_spec>
<grid_field> ::= "G" <grid_form>
<forecast_field> ::= "F" <forecast_form>
<sequence_field> ::= "E" <upperalphanumeric>
{ <upperalphanumeric> }
<format_field> ::= "X" { <format_form> }
<special_field> ::= "S" <upperalphanumeric>
{ <upperalphanumeric> }
<time_field> ::= "T" <time_form>
<name_1> ::= <upperalphabetic> <delim1> <delim1> <delim1>
<name_2> ::= <upperalphabetic> <upperalphanumeric> <delim1>
<delim1>
<name_3> ::= <upperalphabetic> <upperalphanumeric>
<upperalphanumeric> <delim1>
<name_4> ::= <upperalphabetic> <upperalphanumeric>
<upperalphanumeric> <upperalphanumeric>
<ave_spec> ::= "I" | "D" | "M" | "Y"
<date_spec> ::= <date_long> | <date_short>
<date_long> ::= <year_digit> <year_digit> <month_digit>
<month_digit> <day_digit> <day digit>
[ <hour_digit> <hour_digit> ]
<date_short> ::= <base_26_digit> <base_26_digit>
<base_26_digit>
<base_26_digit> ::= <upperalphabetic>
<grid_form> ::= <grid_spec_char> { <grid_spec_char> }
<grid_spec_char> :== <upperalphanumeric> | <delim2>
<forecast_form> ::= "H" <hour>
| "D" <day>
| <upperalphabetic> <digit> { <digit> }
<hour> ::= <digit> { <digit> }
<day> ::= <digit> { <digit> }
<format_form> ::= "P"
| "C" <string_code>
| "B" <binary_code>
<string_code> ::= "A" | "E"
<binary_code> ::= <floating_format> <byte_order> <word_order>
<ftn_header> <disk_organize> <packing>
<floating_format> ::= "I" | "E" | "V" | "Y"
<byte_order> ::= "B" | "L" <word_order> ::= "B" | "L"
<ftn_header> ::= "C" | "F" <disk_organize> ::= "S" | "V" | "F"
<packing> ::= "P" | "U" <upperalphanumeric> ::= <upperalphabetic> | <digit> <upperalphabetic> ::= "A"-"Z" <digit> ::= "0"-"9"