diff --git a/ver-1.10.0/annotated.html b/ver-1.10.0/annotated.html new file mode 100644 index 0000000..e90a321 --- /dev/null +++ b/ver-1.10.0/annotated.html @@ -0,0 +1,127 @@ + + + + + + + +NCEPLIBS-g2tmpl: Data Types List + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Types List
+
+
+
Here are the data types with brief descriptions:
+
+
+ + + + diff --git a/ver-1.10.0/annotated_dup.js b/ver-1.10.0/annotated_dup.js new file mode 100644 index 0000000..2b1602b --- /dev/null +++ b/ver-1.10.0/annotated_dup.js @@ -0,0 +1,29 @@ +var annotated_dup = +[ + [ "grib2_all_tables_module", "namespacegrib2__all__tables__module.html", [ + [ "fixed_surface_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1fixed__surface__types", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup" ], + [ "gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1gen__proc", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup" ], + [ "local_table_vers_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1local__table__vers__no", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup" ], + [ "order_of_sptdiff_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1order__of__sptdiff__vals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup" ], + [ "origin_centers", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1origin__centers", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup" ], + [ "prod_status", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1prod__status", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup" ], + [ "sigreftime", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1sigreftime", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup" ], + [ "statistical_processing_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1statistical__processing__types", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup" ], + [ "subcenters", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1subcenters", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup" ], + [ "type_of_aerosol", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__aerosol", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup" ], + [ "type_of_cluster", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__cluster", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup" ], + [ "type_of_compression", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__compression", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup" ], + [ "type_of_data", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__data", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup" ], + [ "type_of_derive_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__derive__fcst", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup" ], + [ "type_of_ens_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__ens__fcst", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup" ], + [ "type_of_gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__gen__proc", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup" ], + [ "type_of_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__intervals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup" ], + [ "type_of_orig_field_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__orig__field__vals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup" ], + [ "type_of_packingmethod", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__packingmethod", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup" ], + [ "type_of_precip", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__precip", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup" ], + [ "type_of_prob", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__prob", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup" ], + [ "type_of_time_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__time__intervals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup" ], + [ "unit_of_time_range", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1unit__of__time__range", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup" ], + [ "version_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1version__no", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup" ] + ] ] +]; \ No newline at end of file diff --git a/ver-1.10.0/bc_s.png b/ver-1.10.0/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/ver-1.10.0/bc_s.png differ diff --git a/ver-1.10.0/bdwn.png b/ver-1.10.0/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/ver-1.10.0/bdwn.png differ diff --git a/ver-1.10.0/classes.html b/ver-1.10.0/classes.html new file mode 100644 index 0000000..488eead --- /dev/null +++ b/ver-1.10.0/classes.html @@ -0,0 +1,128 @@ + + + + + + + +NCEPLIBS-g2tmpl: Data Types + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Types
+
+
+
F | G | L | O | P | S | T | U | V
+ +
+
+ + + + diff --git a/ver-1.10.0/closed.png b/ver-1.10.0/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/ver-1.10.0/closed.png differ diff --git a/ver-1.10.0/dir_49e56c817e5e54854c35e136979f97ca.html b/ver-1.10.0/dir_49e56c817e5e54854c35e136979f97ca.html new file mode 100644 index 0000000..b125daa --- /dev/null +++ b/ver-1.10.0/dir_49e56c817e5e54854c35e136979f97ca.html @@ -0,0 +1,99 @@ + + + + + + + +NCEPLIBS-g2tmpl: docs Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
docs Directory Reference
+
+
+
+
+ + + + diff --git a/ver-1.10.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/ver-1.10.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..be8b63a --- /dev/null +++ b/ver-1.10.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,121 @@ + + + + + + + +NCEPLIBS-g2tmpl: src Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Files

file  g2sec4_temp1.f90 [code]
 Returns the Grib2 Section 4 Template 4.11 list for given keys.
 
file  g2sec4_temp11.f90 [code]
 Returns the Grib2 Section 4 Template 4.11 list for given keys.
 
file  g2sec4_temp12.f90 [code]
 Returns the Grib2 Section 4 Template 4.11 list for given keys.
 
file  grib2_all_tables_module.f90 [code]
 Define the variables in the derived data type discipline.
 
file  process_4dot2.c [code]
 4dot2
 
file  sort_params_grib2_tbl.f90 [code]
 Read and sort params_grib2_tbl_new.text.
 
+
+
+ + + + diff --git a/ver-1.10.0/doc.png b/ver-1.10.0/doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/ver-1.10.0/doc.png differ diff --git a/ver-1.10.0/doxygen.css b/ver-1.10.0/doxygen.css new file mode 100644 index 0000000..ffbff02 --- /dev/null +++ b/ver-1.10.0/doxygen.css @@ -0,0 +1,1793 @@ +/* The standard CSS for doxygen 1.9.1 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/ver-1.10.0/doxygen.svg b/ver-1.10.0/doxygen.svg new file mode 100644 index 0000000..d42dad5 --- /dev/null +++ b/ver-1.10.0/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ver-1.10.0/dynsections.js b/ver-1.10.0/dynsections.js new file mode 100644 index 0000000..88f2c27 --- /dev/null +++ b/ver-1.10.0/dynsections.js @@ -0,0 +1,128 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +NCEPLIBS-g2tmpl: File List + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + + + + + + +
 g2sec4_temp1.f90Returns the Grib2 Section 4 Template 4.11 list for given keys
 g2sec4_temp11.f90Returns the Grib2 Section 4 Template 4.11 list for given keys
 g2sec4_temp12.f90Returns the Grib2 Section 4 Template 4.11 list for given keys
 grib2_all_tables_module.f90Define the variables in the derived data type discipline
 process_4dot2.c4dot2
 sort_params_grib2_tbl.f90Read and sort params_grib2_tbl_new.text
+
+
+
+ + + + diff --git a/ver-1.10.0/files_dup.js b/ver-1.10.0/files_dup.js new file mode 100644 index 0000000..69efa77 --- /dev/null +++ b/ver-1.10.0/files_dup.js @@ -0,0 +1,9 @@ +var files_dup = +[ + [ "g2sec4_temp1.f90", "g2sec4__temp1_8f90.html", "g2sec4__temp1_8f90" ], + [ "g2sec4_temp11.f90", "g2sec4__temp11_8f90.html", "g2sec4__temp11_8f90" ], + [ "g2sec4_temp12.f90", "g2sec4__temp12_8f90.html", "g2sec4__temp12_8f90" ], + [ "grib2_all_tables_module.f90", "grib2__all__tables__module_8f90.html", "grib2__all__tables__module_8f90" ], + [ "process_4dot2.c", "process__4dot2_8c.html", "process__4dot2_8c" ], + [ "sort_params_grib2_tbl.f90", "sort__params__grib2__tbl_8f90.html", "sort__params__grib2__tbl_8f90" ] +]; \ No newline at end of file diff --git a/ver-1.10.0/folderclosed.png b/ver-1.10.0/folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/ver-1.10.0/folderclosed.png differ diff --git a/ver-1.10.0/folderopen.png b/ver-1.10.0/folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/ver-1.10.0/folderopen.png differ diff --git a/ver-1.10.0/g2sec4__temp11_8f90.html b/ver-1.10.0/g2sec4__temp11_8f90.html new file mode 100644 index 0000000..22acb60 --- /dev/null +++ b/ver-1.10.0/g2sec4__temp11_8f90.html @@ -0,0 +1,373 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp11.f90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
g2sec4_temp11.f90 File Reference
+
+
+ +

Returns the Grib2 Section 4 Template 4.11 list for given keys. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Functions/Subroutines

subroutine g2sec4_temp11 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, type_ens_fcst_key, perturb_num, num_fcst_ens, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl11)
 This subroutine returns the Grib2 Section 4 Template 4.11 list for given keys PDT 4.11 - Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. More...
 
+

Detailed Description

+

Returns the Grib2 Section 4 Template 4.11 list for given keys.

+
Author
Boi Vuong
+
Date
2015-01-09
+ +

Definition in file g2sec4_temp11.f90.

+

Function/Subroutine Documentation

+ +

◆ g2sec4_temp11()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine g2sec4_temp11 (integer(4), intent(in) icatg,
integer(4), intent(in) iparm,
character(len=*), intent(in) typ_gen_proc_key,
character(len=*), intent(in) gen_proc_or_mod_key,
integer(4), intent(in) hrs_obs_cutoff,
integer(4), intent(in) min_obs_cutoff,
character(len=*), intent(in) unit_of_time_key,
integer(4), intent(in) fcst_time,
character(len=*), intent(in) lvl_type1,
integer(4), intent(in) scale_fac1,
integer(4), intent(in) scaled_val1,
character(len=*), intent(in) lvl_type2,
integer(4), intent(in) scale_fac2,
integer(4), intent(in) scaled_val2,
character(len=*), intent(in) type_ens_fcst_key,
integer(4), intent(in) perturb_num,
integer(4), intent(in) num_fcst_ens,
integer(4), intent(in) year_intvl,
integer(4), intent(in) mon_intvl,
integer(4), intent(in) day_intvl,
integer(4), intent(in) hour_intvl,
integer(4), intent(in) min_intvl,
integer(4), intent(in) sec_intvl,
integer(4), intent(in) num_time_range,
integer(4), intent(in) stat_miss_val,
character(len=*), intent(in) type_of_stat_proc,
character(len=*), intent(in) type_of_time_inc,
character(len=*), intent(in) stat_unit_time_key,
integer(4), intent(in) leng_time_range_stat,
character(len=*), intent(in) stat_unit_time_key_succ,
integer(4), intent(in) time_inc_betwn_succ_fld,
integer(4), dimension(32), intent(inout) ipdstmpl11 
)
+
+ +

This subroutine returns the Grib2 Section 4 Template 4.11 list for given keys PDT 4.11 - Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval.

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[in]icatgParameter category (see Code Table 4.1)
[in]iparmParameter number (see Code Table 4.2)
[in]typ_gen_proc_keyType of generating process (see Code Table 4.3)
[in]gen_proc_or_mod_keyAnalysis or forecast generating process identified (see Code ON388 Table A)
[in]hrs_obs_cutoffHours after reference time data cutoff (see Note 1)
[in]min_obs_cutoffMinutes after reference time data cutoff
[in]unit_of_time_keyIndicator of unit of time range (see Code Table 4.4)
[in]fcst_timeForecast time in units defined by octet 18 (see Note 2)
[in]lvl_type1Type of first fixed surface (see Code Table 4.5)
[in]scale_fac1Scale factor of first fixed surface
[in]scaled_val1Scaled value of first fixed surface
[in]lvl_type2Type of second fixed surfaced (see Code Table 4.5)
[in]scale_fac2Scale factor of second fixed surface
[in]scaled_val2Scaled value of second fixed surfaces
[in]type_ens_fcst_keyType of ensemble forecast (see Code table 4.6)
[in]perturb_numPerturbation ensemble number
[in]num_fcst_ensnumber of forecasts in ensemble
[in]year_intvlYear Time of end of overall time interval
[in]mon_intvlMonth Time of end of overall time interval
[in]day_intvlDay Time of end of overall time interval
[in]hour_intvlHour Time of end of overall time interval
[in]min_intvlMinute Time of end of overall time interval
[in]sec_intvlSecond Time of end of overall time interval
[in]num_time_rangen number of time ranges specifications describing the time intervals used to calculate the statistically-processed field
[in]stat_miss_valTotal number of data values missing in statistical process Specification of the outermost (or only) time range over which statistical processing is done
[in]type_of_stat_procStatistical process used to calculate the processed field from the field at each time increment during the time range (see Code Table 4.10)
[in]type_of_time_incType of time increment between successive fields used in the statistical processing (see Code Table 4.11)
[in]stat_unit_time_keyIndicator of unit of time for time range over which statistical processing is done (see Code Table 4.4)
[in]leng_time_range_statLength of the time range over which statistical processing is done, in units defined by the previous octet
[in]stat_unit_time_key_succIndicator of unit of time for the increment between the successive fields used (see Code table 4.4)
[in]time_inc_betwn_succ_fldTime increment between successive fields, in units defined by the previous octet (see Notes 3 & 4)
[out]ipdstmpl11GRIB2 PDS Template 4.11 listing
+
+
+
Author
Boi Vuong
+
Date
2015-01-09
+ +

Definition at line 55 of file g2sec4_temp11.f90.

+ +

References grib2_all_tables_module::get_g2_fixedsurfacetypes(), grib2_all_tables_module::get_g2_on388genproc(), grib2_all_tables_module::get_g2_statprocesstypes(), grib2_all_tables_module::get_g2_typeofensfcst(), grib2_all_tables_module::get_g2_typeofgenproc(), grib2_all_tables_module::get_g2_typeoftimeintervals(), and grib2_all_tables_module::get_g2_unitoftimerange().

+ +
+
+
+
+ + + + diff --git a/ver-1.10.0/g2sec4__temp11_8f90.js b/ver-1.10.0/g2sec4__temp11_8f90.js new file mode 100644 index 0000000..2332fcf --- /dev/null +++ b/ver-1.10.0/g2sec4__temp11_8f90.js @@ -0,0 +1,4 @@ +var g2sec4__temp11_8f90 = +[ + [ "g2sec4_temp11", "g2sec4__temp11_8f90.html#ab5cee8a89e691bef9b8c4a5e58c474f8", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/g2sec4__temp11_8f90_source.html b/ver-1.10.0/g2sec4__temp11_8f90_source.html new file mode 100644 index 0000000..132392b --- /dev/null +++ b/ver-1.10.0/g2sec4__temp11_8f90_source.html @@ -0,0 +1,212 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp11.f90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
g2sec4_temp11.f90
+
+
+Go to the documentation of this file.
1 
+
4 
+
55  subroutine g2sec4_temp11(icatg,iparm,typ_gen_proc_key,gen_proc_or_mod_key, &
+
56  hrs_obs_cutoff,min_obs_cutoff,unit_of_time_key, &
+
57  fcst_time,lvl_type1,scale_fac1,scaled_val1,lvl_type2, &
+
58  scale_fac2,scaled_val2,type_ens_fcst_key, &
+
59  perturb_num,num_fcst_ens,year_intvl, &
+
60  mon_intvl,day_intvl,hour_intvl,min_intvl,sec_intvl, &
+
61  num_time_range,stat_miss_val,type_of_stat_proc, &
+
62  type_of_time_inc,stat_unit_time_key, &
+
63  leng_time_range_stat,stat_unit_time_key_succ, &
+
64  time_inc_betwn_succ_fld,ipdstmpl11)
+
65 
+ +
67 
+
68  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff,fcst_time, &
+
69  scale_fac1,scaled_val1,scale_fac2,scaled_val2
+
70  integer(4),intent(in) :: year_intvl,mon_intvl,day_intvl,hour_intvl,min_intvl, &
+
71  sec_intvl,num_time_range,stat_miss_val, &
+
72  leng_time_range_stat,time_inc_betwn_succ_fld
+
73  integer(4),intent(in) :: perturb_num, num_fcst_ens
+
74 !
+
75  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
+
76  unit_of_time_key,lvl_type1,lvl_type2, &
+
77  type_of_stat_proc,type_of_time_inc, &
+
78  stat_unit_time_key,stat_unit_time_key_succ, &
+
79  type_ens_fcst_key
+
80 !
+
81  integer(4) :: bckgnd_gen_proc_id ! defined by the center
+
82 !
+
83  integer(4),intent(inout) :: ipdstmpl11(32) ! currently works only for n=1
+
84  ! later on, this will be generalized
+
85 !
+
86 !-- local vars
+
87  integer(4) :: value,ierr
+
88 !
+
89  bckgnd_gen_proc_id=0
+
90 !
+
91  ipdstmpl11(1) = icatg
+
92  ipdstmpl11(2) = iparm
+
93 !
+
94  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
+
95  ipdstmpl11(3) = value
+
96 !
+
97  ipdstmpl11(4) = bckgnd_gen_proc_id
+
98 !
+
99  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
+
100  ipdstmpl11(5) = value
+
101 !
+
102  ipdstmpl11(6) = hrs_obs_cutoff
+
103  ipdstmpl11(7) = min_obs_cutoff
+
104 !
+
105  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
+
106  ipdstmpl11(8) = value
+
107  ipdstmpl11(9) = fcst_time
+
108 !
+
109  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
+
110  ipdstmpl11(10) = value
+
111  ipdstmpl11(11) = scale_fac1
+
112  ipdstmpl11(12) = scaled_val1
+
113 !
+
114  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
+
115  ipdstmpl11(13) = value
+
116 !
+
117  ipdstmpl11(14) = scale_fac2
+
118  ipdstmpl11(15) = scaled_val2
+
119 !
+
120  call get_g2_typeofensfcst(type_ens_fcst_key,value,ierr)
+
121  ipdstmpl11(16) = value
+
122 !
+
123  ipdstmpl11(17) = perturb_num
+
124  ipdstmpl11(18) = num_fcst_ens
+
125 !
+
126  ipdstmpl11(19) = year_intvl
+
127  ipdstmpl11(20) = mon_intvl
+
128  ipdstmpl11(21) = day_intvl
+
129  ipdstmpl11(22) = hour_intvl
+
130  ipdstmpl11(23) = min_intvl
+
131  ipdstmpl11(24) = sec_intvl
+
132 !
+
133  ipdstmpl11(25) = num_time_range ! choose n=1 for this case
+
134  ipdstmpl11(26) = stat_miss_val ! choose 0 for this case
+
135 !
+
136  call get_g2_statprocesstypes(type_of_stat_proc,value,ierr)
+
137  ipdstmpl11(27) = value ! types_of_stat_proc='accumulation'
+
138 !
+
139  call get_g2_typeoftimeintervals(type_of_time_inc,value,ierr)
+
140  ipdstmpl11(28) = value ! type_of_time_inc='same_start_time_fcst_fcst_time_inc'
+
141  ! value = 2 (Successive times processed have same start
+
142  ! time of forecast, forecast time is incremented)
+
143 !
+
144  call get_g2_unitoftimerange(stat_unit_time_key,value,ierr)
+
145  ipdstmpl11(29) = value ! stat_unit_time_key='hour'
+
146  ! value = 1
+
147  ipdstmpl11(30) = leng_time_range_stat ! value = 6
+
148 !
+
149  call get_g2_unitoftimerange(stat_unit_time_key_succ,value,ierr)
+
150  ! stat_unit_time_key_succ='missing'
+
151  ipdstmpl11(31) = value ! value = 255
+
152 !
+
153  ipdstmpl11(32) = time_inc_betwn_succ_fld ! value = 0
+
154 !
+
155  return
+
156  end
+
subroutine g2sec4_temp11(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, type_ens_fcst_key, perturb_num, num_fcst_ens, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl11)
This subroutine returns the Grib2 Section 4 Template 4.11 list for given keys PDT 4....
+
Define the variables in the derived data type discipline provided in Section 0.
+
subroutine get_g2_on388genproc(key, value, ierr)
This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) ...
+
subroutine get_g2_typeofgenproc(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short ...
+
subroutine get_g2_typeoftimeintervals(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key ...
+
subroutine get_g2_fixedsurfacetypes(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given sho...
+
subroutine get_g2_statprocesstypes(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given sho...
+
subroutine get_g2_unitoftimerange(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given s...
+
subroutine get_g2_typeofensfcst(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key...
+
+
+ + + + diff --git a/ver-1.10.0/g2sec4__temp12_8f90.html b/ver-1.10.0/g2sec4__temp12_8f90.html new file mode 100644 index 0000000..4dce15b --- /dev/null +++ b/ver-1.10.0/g2sec4__temp12_8f90.html @@ -0,0 +1,366 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp12.f90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
g2sec4_temp12.f90 File Reference
+
+
+ +

Returns the Grib2 Section 4 Template 4.11 list for given keys. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Functions/Subroutines

subroutine g2sec4_temp12 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, derive_fcst_key, num_fcst_ens, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl12)
 This subroutine returns the Grib2 Section 4 Template 4.12 list for given keys PDT 4.12 - Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. More...
 
+

Detailed Description

+

Returns the Grib2 Section 4 Template 4.11 list for given keys.

+
Author
Boi Vuong
+
Date
2015-01-09
+ +

Definition in file g2sec4_temp12.f90.

+

Function/Subroutine Documentation

+ +

◆ g2sec4_temp12()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine g2sec4_temp12 (integer(4), intent(in) icatg,
integer(4), intent(in) iparm,
character(len=*), intent(in) typ_gen_proc_key,
character(len=*), intent(in) gen_proc_or_mod_key,
integer(4), intent(in) hrs_obs_cutoff,
integer(4), intent(in) min_obs_cutoff,
character(len=*), intent(in) unit_of_time_key,
integer(4), intent(in) fcst_time,
character(len=*), intent(in) lvl_type1,
integer(4), intent(in) scale_fac1,
integer(4), intent(in) scaled_val1,
character(len=*), intent(in) lvl_type2,
integer(4), intent(in) scale_fac2,
integer(4), intent(in) scaled_val2,
character(len=*), intent(in) derive_fcst_key,
integer(4), intent(in) num_fcst_ens,
integer(4), intent(in) year_intvl,
integer(4), intent(in) mon_intvl,
integer(4), intent(in) day_intvl,
integer(4), intent(in) hour_intvl,
integer(4), intent(in) min_intvl,
integer(4), intent(in) sec_intvl,
integer(4), intent(in) num_time_range,
integer(4), intent(in) stat_miss_val,
character(len=*), intent(in) type_of_stat_proc,
character(len=*), intent(in) type_of_time_inc,
character(len=*), intent(in) stat_unit_time_key,
integer(4), intent(in) leng_time_range_stat,
character(len=*), intent(in) stat_unit_time_key_succ,
integer(4), intent(in) time_inc_betwn_succ_fld,
integer(4), dimension(31), intent(inout) ipdstmpl12 
)
+
+ +

This subroutine returns the Grib2 Section 4 Template 4.12 list for given keys PDT 4.12 - Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval.

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[in]icatgParameter category (see Code Table 4.1)
[in]iparmParameter number (see Code Table 4.2)
[in]typ_gen_proc_keyType of generating process (see Code Table 4.3)
[in]gen_proc_or_mod_keyAnalysis or forecast generating process identified (see Code ON388 Table A)
[in]hrs_obs_cutoffHours after reference time data cutoff (see Note 1)
[in]min_obs_cutoffMinutes after reference time data cutoff
[in]unit_of_time_keyIndicator of unit of time range (see Code Table 4.4)
[in]fcst_timeForecast time in units defined by octet 18 (see Note 2)
[in]lvl_type1Type of first fixed surface (see Code Table 4.5)
[in]scale_fac1Scale factor of first fixed surface
[in]scaled_val1Scaled value of first fixed surface
[in]lvl_type2Type of second fixed surfaced (see Code Table 4.5)
[in]scale_fac2Scale factor of second fixed surface
[in]scaled_val2Scaled value of second fixed surfaces
[in]derive_fcst_keyDerived forecast (see Code table 4.7)
[in]num_fcst_ensnumber of forecasts in ensemble
[in]year_intvlYear Time of end of overall time interval
[in]mon_intvlMonth Time of end of overall time interval
[in]day_intvlDay Time of end of overall time interval
[in]hour_intvlHour Time of end of overall time interval
[in]min_intvlMinute Time of end of overall time interval
[in]sec_intvlSecond Time of end of overall time interval
[in]num_time_rangen number of time ranges specifications describing the time intervals used to calculate the statistically-processed field
[in]stat_miss_valTotal number of data values missing in statistical process Specification of the outermost (or only) time range over which statistical processing is done
[in]type_of_stat_procStatistical process used to calculate the processed field from the field at each time increment during the time range (see Code Table 4.10)
[in]type_of_time_incType of time increment between successive fields used in the statistical processing (see Code Table 4.11)
[in]stat_unit_time_keyIndicator of unit of time for time range over which statistical processing is done (see Code Table 4.4)
[in]leng_time_range_statLength of the time range over which statistical processing is done, in units defined by the previous octet
[in]stat_unit_time_key_succIndicator of unit of time for the increment between the successive fields used (see Code table 4.4)
[in]time_inc_betwn_succ_fldTime increment between successive fields, in units defined by the previous octet (see Notes 3 & 4)
[out]ipdstmpl12GRIB2 PDS Template 4.12 listing
+
+
+
Author
Boi Vuong
+
Date
2015-01-09
+ +

Definition at line 54 of file g2sec4_temp12.f90.

+ +

References grib2_all_tables_module::get_g2_fixedsurfacetypes(), grib2_all_tables_module::get_g2_on388genproc(), grib2_all_tables_module::get_g2_statprocesstypes(), grib2_all_tables_module::get_g2_typeofderivefcst(), grib2_all_tables_module::get_g2_typeofgenproc(), grib2_all_tables_module::get_g2_typeoftimeintervals(), and grib2_all_tables_module::get_g2_unitoftimerange().

+ +
+
+
+
+ + + + diff --git a/ver-1.10.0/g2sec4__temp12_8f90.js b/ver-1.10.0/g2sec4__temp12_8f90.js new file mode 100644 index 0000000..af3f576 --- /dev/null +++ b/ver-1.10.0/g2sec4__temp12_8f90.js @@ -0,0 +1,4 @@ +var g2sec4__temp12_8f90 = +[ + [ "g2sec4_temp12", "g2sec4__temp12_8f90.html#a3c0b7c0a8a1e39cc7fef4d75bb7f96bf", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/g2sec4__temp12_8f90_source.html b/ver-1.10.0/g2sec4__temp12_8f90_source.html new file mode 100644 index 0000000..36dc086 --- /dev/null +++ b/ver-1.10.0/g2sec4__temp12_8f90_source.html @@ -0,0 +1,210 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp12.f90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
g2sec4_temp12.f90
+
+
+Go to the documentation of this file.
1 
+
4 
+
54  subroutine g2sec4_temp12(icatg,iparm,typ_gen_proc_key,gen_proc_or_mod_key, &
+
55  hrs_obs_cutoff,min_obs_cutoff,unit_of_time_key, &
+
56  fcst_time,lvl_type1,scale_fac1,scaled_val1,lvl_type2, &
+
57  scale_fac2,scaled_val2,derive_fcst_key,num_fcst_ens, &
+
58  year_intvl,mon_intvl,day_intvl,hour_intvl,min_intvl, &
+
59  sec_intvl,num_time_range,stat_miss_val, &
+
60  type_of_stat_proc,type_of_time_inc,stat_unit_time_key, &
+
61  leng_time_range_stat,stat_unit_time_key_succ, &
+
62  time_inc_betwn_succ_fld,ipdstmpl12)
+
63 
+ +
65 
+
66  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff,fcst_time, &
+
67  scale_fac1,scaled_val1,scale_fac2,scaled_val2
+
68  integer(4),intent(in) :: year_intvl,mon_intvl,day_intvl,hour_intvl,min_intvl, &
+
69  sec_intvl,num_time_range,stat_miss_val, &
+
70  leng_time_range_stat,time_inc_betwn_succ_fld
+
71  integer(4),intent(in) :: num_fcst_ens
+
72 !
+
73  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
+
74  unit_of_time_key,lvl_type1,lvl_type2, &
+
75  type_of_stat_proc,type_of_time_inc, &
+
76  stat_unit_time_key,stat_unit_time_key_succ, &
+
77  derive_fcst_key
+
78 !
+
79  integer(4) :: bckgnd_gen_proc_id ! defined by the center
+
80 !
+
81  integer(4),intent(inout) :: ipdstmpl12(31) ! currently works only for n=1
+
82  ! later on, this will be generalized
+
83 !
+
84 !-- local vars
+
85  integer(4) :: value,ierr
+
86 !
+
87  bckgnd_gen_proc_id=0
+
88 !
+
89  ipdstmpl12(1) = icatg
+
90  ipdstmpl12(2) = iparm
+
91 !
+
92  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
+
93  ipdstmpl12(3) = value
+
94 !
+
95  ipdstmpl12(4) = bckgnd_gen_proc_id
+
96 !
+
97  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
+
98  ipdstmpl12(5) = value
+
99 !
+
100  ipdstmpl12(6) = hrs_obs_cutoff
+
101  ipdstmpl12(7) = min_obs_cutoff
+
102 !
+
103  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
+
104  ipdstmpl12(8) = value
+
105  ipdstmpl12(9) = fcst_time
+
106 !
+
107  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
+
108  ipdstmpl12(10) = value
+
109  ipdstmpl12(11) = scale_fac1
+
110  ipdstmpl12(12) = scaled_val1
+
111 !
+
112  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
+
113  ipdstmpl12(13) = value
+
114 !
+
115  ipdstmpl12(14) = scale_fac2
+
116  ipdstmpl12(15) = scaled_val2
+
117 !
+
118  call get_g2_typeofderivefcst(derive_fcst_key,value,ierr)
+
119  ipdstmpl12(16) = value
+
120 !
+
121  ipdstmpl12(17) = num_fcst_ens
+
122 !
+
123  ipdstmpl12(18) = year_intvl
+
124  ipdstmpl12(19) = mon_intvl
+
125  ipdstmpl12(20) = day_intvl
+
126  ipdstmpl12(21) = hour_intvl
+
127  ipdstmpl12(22) = min_intvl
+
128  ipdstmpl12(23) = sec_intvl
+
129 !
+
130  ipdstmpl12(24) = num_time_range ! choose n=1 for this case
+
131  ipdstmpl12(25) = stat_miss_val ! choose 0 for this case
+
132 !
+
133  call get_g2_statprocesstypes(type_of_stat_proc,value,ierr)
+
134  ipdstmpl12(26) = value ! types_of_stat_proc='accumulation'
+
135 !
+
136  call get_g2_typeoftimeintervals(type_of_time_inc,value,ierr)
+
137  ipdstmpl12(27) = value ! type_of_time_inc='same_start_time_fcst_fcst_time_inc'
+
138  ! value = 2 (Successive times processed have same start
+
139  ! time of forecast, forecast time is incremented)
+
140 !
+
141  call get_g2_unitoftimerange(stat_unit_time_key,value,ierr)
+
142  ipdstmpl12(28) = value ! stat_unit_time_key='hour'
+
143  ! value = 1
+
144  ipdstmpl12(29) = leng_time_range_stat ! value = 6
+
145 !
+
146  call get_g2_unitoftimerange(stat_unit_time_key_succ,value,ierr)
+
147  ! stat_unit_time_key_succ='missing'
+
148  ipdstmpl12(30) = value ! value = 255
+
149 !
+
150  ipdstmpl12(31) = time_inc_betwn_succ_fld ! value = 0
+
151 !
+
152  return
+
153  end
+
subroutine g2sec4_temp12(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, derive_fcst_key, num_fcst_ens, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl12)
This subroutine returns the Grib2 Section 4 Template 4.12 list for given keys PDT 4....
+
Define the variables in the derived data type discipline provided in Section 0.
+
subroutine get_g2_on388genproc(key, value, ierr)
This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) ...
+
subroutine get_g2_typeofgenproc(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short ...
+
subroutine get_g2_typeoftimeintervals(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key ...
+
subroutine get_g2_typeofderivefcst(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key n...
+
subroutine get_g2_fixedsurfacetypes(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given sho...
+
subroutine get_g2_statprocesstypes(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given sho...
+
subroutine get_g2_unitoftimerange(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given s...
+
+
+ + + + diff --git a/ver-1.10.0/g2sec4__temp1_8f90.html b/ver-1.10.0/g2sec4__temp1_8f90.html new file mode 100644 index 0000000..e49e1bc --- /dev/null +++ b/ver-1.10.0/g2sec4__temp1_8f90.html @@ -0,0 +1,275 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp1.f90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
g2sec4_temp1.f90 File Reference
+
+
+ +

Returns the Grib2 Section 4 Template 4.11 list for given keys. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Functions/Subroutines

subroutine g2sec4_temp1 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, type_ens_fcst_key, perturb_num, num_fcst_ens, ipdstmpl1)
 This subroutine returns the Grib2 Section 4 Template 4.1 list for given keys PDT 4.1 - Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. More...
 
+

Detailed Description

+

Returns the Grib2 Section 4 Template 4.11 list for given keys.

+
Author
Boi Vuong
+
Date
2015-01-09
+ +

Definition in file g2sec4_temp1.f90.

+

Function/Subroutine Documentation

+ +

◆ g2sec4_temp1()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
subroutine g2sec4_temp1 (integer(4), intent(in) icatg,
integer(4), intent(in) iparm,
character(len=*), intent(in) typ_gen_proc_key,
character(len=*), intent(in) gen_proc_or_mod_key,
integer(4), intent(in) hrs_obs_cutoff,
integer(4), intent(in) min_obs_cutoff,
character(len=*), intent(in) unit_of_time_key,
integer(4), intent(in) fcst_time,
character(len=*), intent(in) lvl_type1,
integer(4), intent(in) scale_fac1,
integer(4), intent(in) scaled_val1,
character(len=*), intent(in) lvl_type2,
integer(4), intent(in) scale_fac2,
integer(4), intent(in) scaled_val2,
character(len=*), intent(in) type_ens_fcst_key,
integer(4), intent(in) perturb_num,
integer(4), intent(in) num_fcst_ens,
integer(4), dimension(18), intent(inout) ipdstmpl1 
)
+
+ +

This subroutine returns the Grib2 Section 4 Template 4.1 list for given keys PDT 4.1 - Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time.

+
Parameters
+ + + + + + + + + + + + + + + + + + + +
[in]icatgParameter category (see Code table 4.1)
[in]iparmParameter number (see Code table 4.2)
[in]typ_gen_proc_keyType of generating process (see Code table 4.3)
[in]gen_proc_or_mod_keyAnalysis or forecast generating process identified (see Code ON388 Table A)
[in]hrs_obs_cutoffHours of observational data cutoff after reference time (see Note)
[in]min_obs_cutoffMinutes of observational data cutoff after reference time (see Note)
[in]unit_of_time_keyIndicator of unit of time range (see Code table 4.4)
[in]fcst_timeForecast time in units defined by octet 18
[in]lvl_type1Type of first fixed surface (see Code table 4.5)
[in]scale_fac1Scale factor of first fixed surface
[in]scaled_val1Scaled value of first fixed surface
[in]lvl_type2Type of second fixed surfaced (see Code table 4.5)
[in]scale_fac2Scale factor of second fixed surface
[in]scaled_val2Scaled value of second fixed surfaces
[in]type_ens_fcst_keyType of ensemble forecast (see Code table 4.6)
[in]perturb_numPerturbation ensemble number
[in]num_fcst_ensnumber of forecasts in ensemble
[out]ipdstmpl1GRIB2 PDS Template 4.1 listing
+
+
+
Author
Boi Vuong
+
Date
2015-01-09
+ +

Definition at line 30 of file g2sec4_temp1.f90.

+ +

References grib2_all_tables_module::get_g2_fixedsurfacetypes(), grib2_all_tables_module::get_g2_on388genproc(), grib2_all_tables_module::get_g2_typeofensfcst(), grib2_all_tables_module::get_g2_typeofgenproc(), and grib2_all_tables_module::get_g2_unitoftimerange().

+ +
+
+
+
+ + + + diff --git a/ver-1.10.0/g2sec4__temp1_8f90.js b/ver-1.10.0/g2sec4__temp1_8f90.js new file mode 100644 index 0000000..675bb1d --- /dev/null +++ b/ver-1.10.0/g2sec4__temp1_8f90.js @@ -0,0 +1,4 @@ +var g2sec4__temp1_8f90 = +[ + [ "g2sec4_temp1", "g2sec4__temp1_8f90.html#a6ba22e2d7b2b563c8537d4663229cd1f", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/g2sec4__temp1_8f90_source.html b/ver-1.10.0/g2sec4__temp1_8f90_source.html new file mode 100644 index 0000000..e9822e2 --- /dev/null +++ b/ver-1.10.0/g2sec4__temp1_8f90_source.html @@ -0,0 +1,169 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp1.f90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
g2sec4_temp1.f90
+
+
+Go to the documentation of this file.
1 
+
4 
+
30  subroutine g2sec4_temp1(icatg,iparm,typ_gen_proc_key, &
+
31  gen_proc_or_mod_key,hrs_obs_cutoff,min_obs_cutoff, &
+
32  unit_of_time_key,fcst_time,lvl_type1,scale_fac1, &
+
33  scaled_val1,lvl_type2,scale_fac2,scaled_val2, &
+
34  type_ens_fcst_key,perturb_num,num_fcst_ens, &
+
35  ipdstmpl1)
+ +
37 
+
38  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff, &
+
39  fcst_time,scale_fac1,scaled_val1,scale_fac2,scaled_val2
+
40  integer(4),intent(in) :: perturb_num, num_fcst_ens
+
41 !
+
42  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
+
43  unit_of_time_key,lvl_type1,lvl_type2, &
+
44  type_ens_fcst_key
+
45 !
+
46  integer(4),intent(inout) :: ipdstmpl1(18)
+
47 !
+
48 !local vars
+
49  integer(4) :: value,ierr
+
50  integer(4) :: bckgnd_gen_proc_id ! defined by the center
+
51 !
+
52  bckgnd_gen_proc_id=0 ! defined by the center
+
53 !
+
54  ipdstmpl1(1) = icatg
+
55  ipdstmpl1(2) = iparm
+
56 !
+
57  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
+
58  ipdstmpl1(3) = value
+
59 !
+
60  ipdstmpl1(4) = bckgnd_gen_proc_id
+
61 !
+
62  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
+
63  ipdstmpl1(5) = value
+
64 !
+
65  ipdstmpl1(6) = hrs_obs_cutoff
+
66  ipdstmpl1(7) = min_obs_cutoff
+
67 !
+
68  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
+
69  ipdstmpl1(8) = value
+
70  ipdstmpl1(9) = fcst_time
+
71 !
+
72  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
+
73  ipdstmpl1(10) = value
+
74  ipdstmpl1(11) = scale_fac1
+
75  ipdstmpl1(12) = scaled_val1
+
76 !
+
77  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
+
78  ipdstmpl1(13) = value
+
79 !
+
80  ipdstmpl1(14) = scale_fac2
+
81  ipdstmpl1(15) = scaled_val2
+
82 !
+
83  call get_g2_typeofensfcst(type_ens_fcst_key,value,ierr)
+
84  ipdstmpl1(16) = value
+
85 !
+
86  ipdstmpl1(17) = perturb_num
+
87  ipdstmpl1(18) = num_fcst_ens
+
88 !
+
89  return
+
90  end
+
subroutine g2sec4_temp1(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, type_ens_fcst_key, perturb_num, num_fcst_ens, ipdstmpl1)
This subroutine returns the Grib2 Section 4 Template 4.1 list for given keys PDT 4....
+
Define the variables in the derived data type discipline provided in Section 0.
+
subroutine get_g2_on388genproc(key, value, ierr)
This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) ...
+
subroutine get_g2_typeofgenproc(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short ...
+
subroutine get_g2_fixedsurfacetypes(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given sho...
+
subroutine get_g2_unitoftimerange(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given s...
+
subroutine get_g2_typeofensfcst(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key...
+
+
+ + + + diff --git a/ver-1.10.0/globals.html b/ver-1.10.0/globals.html new file mode 100644 index 0000000..c48d8b0 --- /dev/null +++ b/ver-1.10.0/globals.html @@ -0,0 +1,144 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+
+ + + + diff --git a/ver-1.10.0/globals_defs.html b/ver-1.10.0/globals_defs.html new file mode 100644 index 0000000..47a8d3d --- /dev/null +++ b/ver-1.10.0/globals_defs.html @@ -0,0 +1,108 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/ver-1.10.0/globals_func.html b/ver-1.10.0/globals_func.html new file mode 100644 index 0000000..272b77c --- /dev/null +++ b/ver-1.10.0/globals_func.html @@ -0,0 +1,123 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/ver-1.10.0/globals_type.html b/ver-1.10.0/globals_type.html new file mode 100644 index 0000000..d757f38 --- /dev/null +++ b/ver-1.10.0/globals_type.html @@ -0,0 +1,99 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/ver-1.10.0/globals_vars.html b/ver-1.10.0/globals_vars.html new file mode 100644 index 0000000..e0a7ca1 --- /dev/null +++ b/ver-1.10.0/globals_vars.html @@ -0,0 +1,102 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/ver-1.10.0/grib2__all__tables__module_8f90.html b/ver-1.10.0/grib2__all__tables__module_8f90.html new file mode 100644 index 0000000..688cb59 --- /dev/null +++ b/ver-1.10.0/grib2__all__tables__module_8f90.html @@ -0,0 +1,1170 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module.f90 File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
grib2_all_tables_module.f90 File Reference
+
+
+ +

Define the variables in the derived data type discipline. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Types

type  grib2_all_tables_module::fixed_surface_types
 
type  grib2_all_tables_module::gen_proc
 
type  grib2_all_tables_module::local_table_vers_no
 
type  grib2_all_tables_module::order_of_sptdiff_vals
 
type  grib2_all_tables_module::origin_centers
 
type  grib2_all_tables_module::prod_status
 
type  grib2_all_tables_module::sigreftime
 
type  grib2_all_tables_module::statistical_processing_types
 
type  grib2_all_tables_module::subcenters
 
type  grib2_all_tables_module::type_of_aerosol
 
type  grib2_all_tables_module::type_of_cluster
 
type  grib2_all_tables_module::type_of_compression
 
type  grib2_all_tables_module::type_of_data
 
type  grib2_all_tables_module::type_of_derive_fcst
 
type  grib2_all_tables_module::type_of_ens_fcst
 
type  grib2_all_tables_module::type_of_gen_proc
 
type  grib2_all_tables_module::type_of_intervals
 
type  grib2_all_tables_module::type_of_orig_field_vals
 
type  grib2_all_tables_module::type_of_packingmethod
 
type  grib2_all_tables_module::type_of_precip
 
type  grib2_all_tables_module::type_of_prob
 
type  grib2_all_tables_module::type_of_time_intervals
 
type  grib2_all_tables_module::unit_of_time_range
 
type  grib2_all_tables_module::version_no
 
+ + + + +

+Modules

module  grib2_all_tables_module
 Define the variables in the derived data type discipline provided in Section 0.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions/Subroutines

subroutine grib2_all_tables_module::g2sec0 (idisc, listsec0)
 This subroutine returns the section 0 list for a given discipline value. More...
 
subroutine grib2_all_tables_module::g2sec1 (origin_key, subcen_key, vers_key, lvers_key, sigreftime_key, refyear_val, refmon_val, refday_val, refhour_val, refmin_val, refsec_val, prodstatus_key, typeofdata_key, listsec1)
 This subroutine returns the section 1 list for given keys. More...
 
subroutine grib2_all_tables_module::g2sec4_temp0 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl0)
 This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.0 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time. More...
 
subroutine grib2_all_tables_module::g2sec4_temp44 (icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl44)
 This subroutine returns the Grib2 Section 4 Template 4.44 list for given keys PDT 4.44 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. More...
 
subroutine grib2_all_tables_module::g2sec4_temp48 (icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_intvl_wavelength, scale_fac1_wavelength, scale_val1_wavelength, scale_fac2_wavelength, scale_val2_wavelength, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl48)
 This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.48 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. More...
 
subroutine grib2_all_tables_module::g2sec4_temp8 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl8)
 This subroutine returns the Grib2 Section 4 Template 4.8 list for given keys PDT 4.8 - Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. More...
 
subroutine grib2_all_tables_module::g2sec5_temp0 (dec_scale_fac, bin_scale_fac, tlnumbits, ifield5)
 This subroutine returns the section 5 list array for a given decimal scale factor (D) and type of original field values (Table 5.1) value from GRIB2 - GRID Template 5.0 Grid point data - simple packing. More...
 
subroutine grib2_all_tables_module::g2sec5_temp2 (dec_scale_fac, bin_scale_fac, ifield5)
 This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.2 Grid point data - complex packing. More...
 
subroutine grib2_all_tables_module::g2sec5_temp3 (dec_scale_fac, bin_scale_fac, order_of_sptdiff, ifield5)
 This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.3 Grid point data - complex packing with spatial difference. More...
 
subroutine grib2_all_tables_module::g2sec5_temp40 (dec_scale_fac, bin_scale_fac, tlnumbits, type_of_compression, ifield5)
 This subroutine returns the section 5 list array for a given decimal scale factor (D),type of original field value (Table 5.40) and type of compression used from GRIB2 - GRID Template 5.40 Grid point data - JPEG 2000 Code Stream Format. More...
 
subroutine grib2_all_tables_module::get_g2_fixedsurfacetypes (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given short key name based on Table 4.5 of Section 4, Octets 23 and 29. More...
 
subroutine grib2_all_tables_module::get_g2_loctabversno (key, value, ierr)
 This subroutine returns the corresponding GRIB2 local table version number for a given short key name based on Table 1.1. More...
 
subroutine grib2_all_tables_module::get_g2_on388genproc (key, value, ierr)
 This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) from originating center 7 (USNWS NCEP) for a given short key name based on ON388 - Table A. More...
 
subroutine grib2_all_tables_module::get_g2_on388origincenters (key, value, ierr)
 This subroutine returns the corresponding GRIB1 - PDS Ocet5 GRIB2 - Section 1, Octet 6-7 National/International Originating Centers value for a given short key name based on ON388 - Table 0. More...
 
subroutine grib2_all_tables_module::get_g2_ordofspcdiffvals (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Table 5.6 Order of spatial differencing for a given short key name based on GRIB2 - Table 5.6 default is 1st order spatial differencing. More...
 
subroutine grib2_all_tables_module::get_g2_prodstatus (key, value, ierr)
 This subroutine returns the corresponding GRIB2 production status of data value for a given short key name based on Table 1.3. More...
 
subroutine grib2_all_tables_module::get_g2_sec5packingmethod (key, value, ierr)
 This subroutine returns the corresponding GRIB2 template number for a given short key name based on GRIB2 -. More...
 
subroutine grib2_all_tables_module::get_g2_sigreftime (key, value, ierr)
 This subroutine returns the corresponding GRIB2 significant reference time value for a given short key name based on Table 1.2. More...
 
subroutine grib2_all_tables_module::get_g2_statprocesstypes (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given short key name based on Table 4.10 of Section 4 Octets 47 (template 8) 60 (temp 9), 48 (temp 10), 50 (temp 11), 49 (temp 12), 81 (temp 13), 77 (temp 14), 27 (temp 1001), 25 (temp 1002) and 39 (temp 1101) More...
 
subroutine grib2_all_tables_module::get_g2_subcenters (key, value, ierr)
 This subroutine returns the corresponding GRIB2 subcenters value for a given short key name based on Table C. More...
 
subroutine grib2_all_tables_module::get_g2_typeofaerosol (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Type of aerosol value for a given short key name based on Table 4.233 of Section 4 Octets 12-13 (template 44), 12-13 (temp 45), 12-13 (temp 46), 13-14 (temp 47), 12-13 (temp 48) More...
 
subroutine grib2_all_tables_module::get_g2_typeofcluster (key, value, ierr)
 This subroutine returns the corresponding GRIB2 type of clustering method for a given short key name based on Table 4.8. More...
 
subroutine grib2_all_tables_module::get_g2_typeofcompression (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Table 5.40 Type of compression for a given short key name based on GRIB2 - Table 5.40. More...
 
subroutine grib2_all_tables_module::get_g2_typeofdata (key, value, ierr)
 This subroutine returns the corresponding GRIB2 type of data value for a given short key name based on Table 1.4. More...
 
subroutine grib2_all_tables_module::get_g2_typeofderivefcst (key, value, ierr)
 This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key name based on Table 4.7. More...
 
subroutine grib2_all_tables_module::get_g2_typeofensfcst (key, value, ierr)
 This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key name based on Table 4.6. More...
 
subroutine grib2_all_tables_module::get_g2_typeofgenproc (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short key name based on Table 4.3 of Section 4, Octet 12. More...
 
subroutine grib2_all_tables_module::get_g2_typeofintervals (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Type of intervals value for a given short key name based on Table 4.91 of Section 4 Octets 14 (template 44) 14 (temp 45), 14 (temp 46), 15 (temp 47),14 and 25 (temp 48) More...
 
subroutine grib2_all_tables_module::get_g2_typeoforigfieldvals (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Table 5.1 Type of Original Field Values for a given short key name based on GRIB2 - Table 5.1. More...
 
subroutine grib2_all_tables_module::get_g2_typeofprecip (key, value, ierr)
 This subroutine returns the corresponding GRIB2 type of precipitation for a given short key name based on Table 4.201. More...
 
subroutine grib2_all_tables_module::get_g2_typeofprob (key, value, ierr)
 This subroutine returns the corresponding GRIB2 type of probability for a given short key name based on Table 4.9. More...
 
subroutine grib2_all_tables_module::get_g2_typeoftimeintervals (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key name based on Table 4.11 of Section 4 Octets 48 (template 8) 61 (temp 9), 49 (temp 10), 51 (temp 11), 50 (temp 12), 82 (temp 13), 78 (tem p 14), 28 (temp 1001), and 40 (temp 1101) More...
 
subroutine grib2_all_tables_module::get_g2_unitoftimerange (key, value, ierr)
 This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given short key name based on Table 4.4 of Section 4, Octet 18. More...
 
subroutine grib2_all_tables_module::get_g2_versionno (key, value, ierr)
 This subroutine returns the corresponding GRIB2 version number for a given short key name based on Table 1.0. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Variables

integer, parameter grib2_all_tables_module::maxfixedsurfacetypes =200
 Max fixed surface types. More...
 
integer, parameter grib2_all_tables_module::maxgenproc =250
 maxgenproc More...
 
integer, parameter grib2_all_tables_module::maxlocver =20
 maxlocver More...
 
integer, parameter grib2_all_tables_module::maxordofsptdiff =50
 maxordofsptdiff More...
 
integer, parameter grib2_all_tables_module::maxorigincenters =500
 maxorigincenters More...
 
integer, parameter grib2_all_tables_module::maxprodstatus =17
 maxprodstatus More...
 
integer, parameter grib2_all_tables_module::maxreftime =15
 maxreftime More...
 
integer, parameter grib2_all_tables_module::maxstatprocesstypes =50
 maxstatprocesstypes More...
 
integer, parameter grib2_all_tables_module::maxsubcen =100
 maxsubcen More...
 
integer, parameter grib2_all_tables_module::maxtypeofaerosol =200
 maxtypeofaerosol More...
 
integer, parameter grib2_all_tables_module::maxtypeofcluster =100
 maxtypeofcluster More...
 
integer, parameter grib2_all_tables_module::maxtypeofcompression =50
 maxtypeofcompression More...
 
integer, parameter grib2_all_tables_module::maxtypeofdata =100
 maxtypeofdata More...
 
integer, parameter grib2_all_tables_module::maxtypeofderivefcst =100
 maxtypeofderivefcst More...
 
integer, parameter grib2_all_tables_module::maxtypeofensfcst =100
 maxtypeofensfcst More...
 
integer, parameter grib2_all_tables_module::maxtypeofgenproc =100
 maxtypeofgenproc More...
 
integer, parameter grib2_all_tables_module::maxtypeofintvls =50
 maxtypeofintvls More...
 
integer, parameter grib2_all_tables_module::maxtypeoforigfieldval =15
 maxtypeoforigfieldval More...
 
integer, parameter grib2_all_tables_module::maxtypeofpackingmethod =50
 maxtypeofpackingmethod More...
 
integer, parameter grib2_all_tables_module::maxtypeofprecip =100
 maxtypeofprecip More...
 
integer, parameter grib2_all_tables_module::maxtypeofprob =100
 maxtypeofprob More...
 
integer, parameter grib2_all_tables_module::maxtypeoftimeintvls =50
 maxtypeoftimeintvls More...
 
integer, parameter grib2_all_tables_module::maxunitoftimerange =30
 maxunitoftimerange More...
 
integer, parameter grib2_all_tables_module::maxver =100
 maxver More...
 
type(origin_centers), dimension(maxorigincenters) grib2_all_tables_module::on388_table0
 ON388 Table. More...
 
type(gen_proc), dimension(maxgenproc) grib2_all_tables_module::on388_tablea
 ON 388 Table A. More...
 
type(version_no), dimension(maxver) grib2_all_tables_module::table1_0
 Table 1 0. More...
 
type(local_table_vers_no), dimension(maxlocver) grib2_all_tables_module::table1_1
 Table 1 1. More...
 
type(sigreftime), dimension(maxreftime) grib2_all_tables_module::table1_2
 Table 1 2. More...
 
type(prod_status), dimension(maxprodstatus) grib2_all_tables_module::table1_3
 Table 1 3. More...
 
type(type_of_data), dimension(maxtypeofdata) grib2_all_tables_module::table1_4
 table1_4 More...
 
type(statistical_processing_types), dimension(maxstatprocesstypes) grib2_all_tables_module::table4_10
 table4_10 More...
 
type(type_of_time_intervals), dimension(maxtypeoftimeintvls) grib2_all_tables_module::table4_11
 table4_11 More...
 
type(type_of_precip), dimension(maxtypeofprecip) grib2_all_tables_module::table4_201
 table4_201 More...
 
type(type_of_aerosol), dimension(maxtypeofaerosol) grib2_all_tables_module::table4_233
 table4_233 More...
 
type(type_of_gen_proc), dimension(maxtypeofgenproc) grib2_all_tables_module::table4_3
 table4_3 More...
 
type(unit_of_time_range), dimension(maxunitoftimerange) grib2_all_tables_module::table4_4
 table4_4 More...
 
type(fixed_surface_types), dimension(maxfixedsurfacetypes) grib2_all_tables_module::table4_5
 table4_5 More...
 
type(type_of_ens_fcst), dimension(maxtypeofensfcst) grib2_all_tables_module::table4_6
 table4_6 More...
 
type(type_of_derive_fcst), dimension(maxtypeofderivefcst) grib2_all_tables_module::table4_7
 table4_7 More...
 
type(type_of_cluster), dimension(maxtypeofcluster) grib2_all_tables_module::table4_8
 table4_8 More...
 
type(type_of_prob), dimension(maxtypeofprob) grib2_all_tables_module::table4_9
 table4_9 More...
 
type(type_of_intervals), dimension(maxtypeofintvls) grib2_all_tables_module::table4_91
 table4_91 More...
 
type(type_of_packingmethod), dimension(maxtypeofpackingmethod) grib2_all_tables_module::table5_0
 table5_0 More...
 
type(type_of_orig_field_vals), dimension(maxtypeoforigfieldval) grib2_all_tables_module::table5_1
 table5_1 More...
 
type(type_of_compression), dimension(maxtypeofcompression) grib2_all_tables_module::table5_40
 table5_40 More...
 
type(order_of_sptdiff_vals), dimension(maxordofsptdiff) grib2_all_tables_module::table5_6
 table5_6 More...
 
type(subcenters), dimension(maxsubcen) grib2_all_tables_module::tablec
 tablec More...
 
+

Detailed Description

+

Define the variables in the derived data type discipline.

+
Author
Jun Wang
+
Date
2012/01/25
+ +

Definition in file grib2_all_tables_module.f90.

+

Data Type Documentation

+ +

◆ grib2_all_tables_module::fixed_surface_types

+ +
+
+ + + + +
type grib2_all_tables_module::fixed_surface_types
+
+
+

Definition at line 293 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=80) +fixedsurfacetypeskey +
+integer +fixedsurfacetypesval +
+ +
+
+ +

◆ grib2_all_tables_module::gen_proc

+ +
+
+ + + + +
type grib2_all_tables_module::gen_proc
+
+
+

Definition at line 1044 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=30) +genprockey +
+integer +genprocval +
+ +
+
+ +

◆ grib2_all_tables_module::local_table_vers_no

+ +
+
+ + + + +
type grib2_all_tables_module::local_table_vers_no
+
+
+

Definition at line 144 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=20) +locverskey +
+integer +locversval +
+ +
+
+ +

◆ grib2_all_tables_module::order_of_sptdiff_vals

+ +
+
+ + + + +
type grib2_all_tables_module::order_of_sptdiff_vals
+
+
+

Definition at line 769 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=50) +ordofsptdiffkey +
+integer +ordofsptdiffvals +
+ +
+
+ +

◆ grib2_all_tables_module::origin_centers

+ +
+
+ + + + +
type grib2_all_tables_module::origin_centers
+
+
+

Definition at line 813 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=50) +origincenterskey +
+integer +origincentersval +
+ +
+
+ +

◆ grib2_all_tables_module::prod_status

+ +
+
+ + + + +
type grib2_all_tables_module::prod_status
+
+
+

Definition at line 178 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=20) +prodstatuskey +
+integer +prodstatusval +
+ +
+
+ +

◆ grib2_all_tables_module::sigreftime

+ +
+
+ + + + +
type grib2_all_tables_module::sigreftime
+
+
+

Definition at line 161 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=20) +sigrefkey +
+integer +sigrefval +
+ +
+
+ +

◆ grib2_all_tables_module::statistical_processing_types

+ +
+
+ + + + +
type grib2_all_tables_module::statistical_processing_types
+
+
+

Definition at line 501 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=80) +statprocesstypeskey +
+integer +statprocesstypesval +
+ +
+
+ +

◆ grib2_all_tables_module::subcenters

+ +
+
+ + + + +
type grib2_all_tables_module::subcenters
+
+
+

Definition at line 75 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=20) +subcenkey +
+integer +subcenval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_aerosol

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_aerosol
+
+
+

Definition at line 611 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=80) +typeofaerosolkey +
+integer +typeofaerosolval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_cluster

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_cluster
+
+
+

Definition at line 468 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=80) +typeofclusterkey +
+integer +typeofclusterval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_compression

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_compression
+
+
+

Definition at line 781 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=50) +typeofcompressionkey +
+integer +typeofcompressionvals +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_data

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_data
+
+
+

Definition at line 201 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=20) +typeofdatakey +
+integer +typeofdataval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_derive_fcst

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_derive_fcst
+
+
+

Definition at line 430 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=50) +typeofderivefcstkey +
+integer +typeofderivefcstval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_ens_fcst

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_ens_fcst
+
+
+

Definition at line 414 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=50) +typeofensfcstkey +
+integer +typeofensfcstval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_gen_proc

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_gen_proc
+
+
+

Definition at line 222 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=30) +typeofgenprockey +
+integer +typeofgenprocval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_intervals

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_intervals
+
+
+

Definition at line 564 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=80) +typeofintervalskey +
+integer +typeofintervalsval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_orig_field_vals

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_orig_field_vals
+
+
+

Definition at line 747 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+integer +typeoforigfieldvals +
+character(len=50) +typeoforigfieldvalskey +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_packingmethod

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_packingmethod
+
+
+

Definition at line 793 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=50) +packingmethodkey +
+integer +packingmethodvals +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_precip

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_precip
+
+
+

Definition at line 588 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=80) +typeofprecipkey +
+integer +typeofprecipval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_prob

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_prob
+
+
+

Definition at line 482 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=80) +typeofprobkey +
+integer +typeofprobval +
+ +
+
+ +

◆ grib2_all_tables_module::type_of_time_intervals

+ +
+
+ + + + +
type grib2_all_tables_module::type_of_time_intervals
+
+
+

Definition at line 544 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=80) +typeoftimeintervalskey +
+integer +typeoftimeintervalsval +
+ +
+
+ +

◆ grib2_all_tables_module::unit_of_time_range

+ +
+
+ + + + +
type grib2_all_tables_module::unit_of_time_range
+
+
+

Definition at line 270 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=30) +unitoftimerangekey +
+integer +unitoftimerangeval +
+ +
+
+ +

◆ grib2_all_tables_module::version_no

+ +
+
+ + + + +
type grib2_all_tables_module::version_no
+
+
+

Definition at line 104 of file grib2_all_tables_module.f90.

+
+ + + + + + + +
Data Fields
+character(len=20) +verskey +
+integer +versval +
+ +
+
+
+
+ + + + diff --git a/ver-1.10.0/grib2__all__tables__module_8f90.js b/ver-1.10.0/grib2__all__tables__module_8f90.js new file mode 100644 index 0000000..0496292 --- /dev/null +++ b/ver-1.10.0/grib2__all__tables__module_8f90.js @@ -0,0 +1,181 @@ +var grib2__all__tables__module_8f90 = +[ + [ "fixed_surface_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1fixed__surface__types", [ + [ "fixedsurfacetypeskey", "namespacegrib2__all__tables__module.html#ad710af69496d31e208df4283b6a27e05", null ], + [ "fixedsurfacetypesval", "namespacegrib2__all__tables__module.html#a3dfe0a772f741883bfd2942328b6d1ba", null ] + ] ], + [ "gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1gen__proc", [ + [ "genprockey", "namespacegrib2__all__tables__module.html#a3a73bdbc23082a5b51ba3acfc151e02c", null ], + [ "genprocval", "namespacegrib2__all__tables__module.html#a3d070ceb2bc9a4d6259530b5bd19125c", null ] + ] ], + [ "local_table_vers_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1local__table__vers__no", [ + [ "locverskey", "namespacegrib2__all__tables__module.html#ac7c23d737c399a0cf91d825a1b7105b8", null ], + [ "locversval", "namespacegrib2__all__tables__module.html#ac506ecea79c0712525cd55624312608f", null ] + ] ], + [ "order_of_sptdiff_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1order__of__sptdiff__vals", [ + [ "ordofsptdiffkey", "namespacegrib2__all__tables__module.html#a78d47b642803810f7b2b5ac417fb2c9b", null ], + [ "ordofsptdiffvals", "namespacegrib2__all__tables__module.html#a06c126f5c8d8ea181d2eea821a71fb82", null ] + ] ], + [ "origin_centers", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1origin__centers", [ + [ "origincenterskey", "namespacegrib2__all__tables__module.html#a00d0956429433167cd5a4d8059aaa318", null ], + [ "origincentersval", "namespacegrib2__all__tables__module.html#a6c167e9d1022898279d1d204864bb54d", null ] + ] ], + [ "prod_status", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1prod__status", [ + [ "prodstatuskey", "namespacegrib2__all__tables__module.html#a25925706e0342beb4ba710d771ab2294", null ], + [ "prodstatusval", "namespacegrib2__all__tables__module.html#a1df3f9ef5a208b20ea9ab252a398175d", null ] + ] ], + [ "sigreftime", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1sigreftime", [ + [ "sigrefkey", "namespacegrib2__all__tables__module.html#a978b3234ee9d1e27a2cf083382f46d4a", null ], + [ "sigrefval", "namespacegrib2__all__tables__module.html#abb0bb5391268f2aa80fb79216b9d8827", null ] + ] ], + [ "statistical_processing_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1statistical__processing__types", [ + [ "statprocesstypeskey", "namespacegrib2__all__tables__module.html#aa9f8b5b5907a2322595894f92733247f", null ], + [ "statprocesstypesval", "namespacegrib2__all__tables__module.html#a20bf6288447d78ca2ef0a0c5ca5df8cc", null ] + ] ], + [ "subcenters", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1subcenters", [ + [ "subcenkey", "namespacegrib2__all__tables__module.html#a2cacdc6be0e495d9378296d1d5f21a15", null ], + [ "subcenval", "namespacegrib2__all__tables__module.html#a19efcbaf2e1ebcefee1969d11f9a8990", null ] + ] ], + [ "type_of_aerosol", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__aerosol", [ + [ "typeofaerosolkey", "namespacegrib2__all__tables__module.html#ad3896ae7bfc83dcde44e70548726f694", null ], + [ "typeofaerosolval", "namespacegrib2__all__tables__module.html#a9bb1ed3dc6a0880401622cf460d55214", null ] + ] ], + [ "type_of_cluster", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__cluster", [ + [ "typeofclusterkey", "namespacegrib2__all__tables__module.html#a1ca1b35d9f9f80c5a3f4855794db4371", null ], + [ "typeofclusterval", "namespacegrib2__all__tables__module.html#a9ae8362d72a21dd4f116aa833429dfb6", null ] + ] ], + [ "type_of_compression", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__compression", [ + [ "typeofcompressionkey", "namespacegrib2__all__tables__module.html#a73e670f34fbe1a59529789d39255df5f", null ], + [ "typeofcompressionvals", "namespacegrib2__all__tables__module.html#a01947ff38f313317c8299020181315fc", null ] + ] ], + [ "type_of_data", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__data", [ + [ "typeofdatakey", "namespacegrib2__all__tables__module.html#a66bf5082b9e8058b2863d509d9be2297", null ], + [ "typeofdataval", "namespacegrib2__all__tables__module.html#ae5b23da94d631fbc8b006961cc5262e4", null ] + ] ], + [ "type_of_derive_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__derive__fcst", [ + [ "typeofderivefcstkey", "namespacegrib2__all__tables__module.html#a2a276ca0ad6e6bf47b494657d1fe3d2c", null ], + [ "typeofderivefcstval", "namespacegrib2__all__tables__module.html#ab480a49178459432f35f0f5c5a7ebd4e", null ] + ] ], + [ "type_of_ens_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__ens__fcst", [ + [ "typeofensfcstkey", "namespacegrib2__all__tables__module.html#a408b0918d51d8dea762dde9ab37cc1c9", null ], + [ "typeofensfcstval", "namespacegrib2__all__tables__module.html#a523fc226b781bcf6b80961ccca349e79", null ] + ] ], + [ "type_of_gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__gen__proc", [ + [ "typeofgenprockey", "namespacegrib2__all__tables__module.html#a94e82be712915069148bc00d8ca3b646", null ], + [ "typeofgenprocval", "namespacegrib2__all__tables__module.html#a1aa6dead3825ded6ed93b9e269caf3c9", null ] + ] ], + [ "type_of_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__intervals", [ + [ "typeofintervalskey", "namespacegrib2__all__tables__module.html#a83f4372604c38fdc56c3cc950364cbe2", null ], + [ "typeofintervalsval", "namespacegrib2__all__tables__module.html#af781c237b5d61e74ed9901849f3c565d", null ] + ] ], + [ "type_of_orig_field_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__orig__field__vals", [ + [ "typeoforigfieldvals", "namespacegrib2__all__tables__module.html#acb1dd209125ed2a334be404bdd239bb6", null ], + [ "typeoforigfieldvalskey", "namespacegrib2__all__tables__module.html#a0805ab7195cd723307d4197aad8032df", null ] + ] ], + [ "type_of_packingmethod", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__packingmethod", [ + [ "packingmethodkey", "namespacegrib2__all__tables__module.html#a663a07a67e3052442d2944c9e5008c0f", null ], + [ "packingmethodvals", "namespacegrib2__all__tables__module.html#a7cf9958f54f8fad74e6b56b40d5caa2b", null ] + ] ], + [ "type_of_precip", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__precip", [ + [ "typeofprecipkey", "namespacegrib2__all__tables__module.html#a9b582733daace6acf28f20d678b070f8", null ], + [ "typeofprecipval", "namespacegrib2__all__tables__module.html#ae32f626dc9f61b8267a300488b98a962", null ] + ] ], + [ "type_of_prob", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__prob", [ + [ "typeofprobkey", "namespacegrib2__all__tables__module.html#abac97f1f82ae5a970952b67ef91cf769", null ], + [ "typeofprobval", "namespacegrib2__all__tables__module.html#ad0293a4ec8a85bb78d2d9e63dd4b896b", null ] + ] ], + [ "type_of_time_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__time__intervals", [ + [ "typeoftimeintervalskey", "namespacegrib2__all__tables__module.html#a8a69798df6e5601b382f0c4952d28951", null ], + [ "typeoftimeintervalsval", "namespacegrib2__all__tables__module.html#a53621317f419ca9f751ddbaee1168545", null ] + ] ], + [ "unit_of_time_range", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1unit__of__time__range", [ + [ "unitoftimerangekey", "namespacegrib2__all__tables__module.html#a3a3f9f8404aff3174c10ac5470981cad", null ], + [ "unitoftimerangeval", "namespacegrib2__all__tables__module.html#a5add1f53a19d6b6f3a25cb380ce20315", null ] + ] ], + [ "version_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1version__no", [ + [ "verskey", "namespacegrib2__all__tables__module.html#a93f459d9f88846a7ac83589ea0ab3e93", null ], + [ "versval", "namespacegrib2__all__tables__module.html#a41211f41aa524654c1defce9a94c5a70", null ] + ] ], + [ "g2sec0", "grib2__all__tables__module_8f90.html#a95104687814c91720bf13d9c736adc53", null ], + [ "g2sec1", "grib2__all__tables__module_8f90.html#a0b34a4a08b7ee738b5059ed7d82873aa", null ], + [ "g2sec4_temp0", "grib2__all__tables__module_8f90.html#a9ed56310c55ea4bd91b46dae062ff315", null ], + [ "g2sec4_temp44", "grib2__all__tables__module_8f90.html#a9b4376b4abe34c007f575b8e544d3ba0", null ], + [ "g2sec4_temp48", "grib2__all__tables__module_8f90.html#a7e3b1ffda5f0a1234a39425a26d81b1d", null ], + [ "g2sec4_temp8", "grib2__all__tables__module_8f90.html#ad54b7e506841ab1d50bf89b39334430b", null ], + [ "g2sec5_temp0", "grib2__all__tables__module_8f90.html#ac71701de1f47f704dbdfb648fac19530", null ], + [ "g2sec5_temp2", "grib2__all__tables__module_8f90.html#abb9391b2ef03d619ffbb1eca9b55c664", null ], + [ "g2sec5_temp3", "grib2__all__tables__module_8f90.html#a02a58228da00cef6e052ac936b748263", null ], + [ "g2sec5_temp40", "grib2__all__tables__module_8f90.html#ac39a4db701fd56e63b2285713514fa76", null ], + [ "get_g2_fixedsurfacetypes", "grib2__all__tables__module_8f90.html#a3280b3edfc4db22a8c373662eca30b09", null ], + [ "get_g2_loctabversno", "grib2__all__tables__module_8f90.html#afcf3af13d5b9fa044b59da7ce51fab05", null ], + [ "get_g2_on388genproc", "grib2__all__tables__module_8f90.html#a01337aa68ede1097c736270824bffaba", null ], + [ "get_g2_on388origincenters", "grib2__all__tables__module_8f90.html#afcfd6b66a7eb88a71aee08ba63dfceba", null ], + [ "get_g2_ordofspcdiffvals", "grib2__all__tables__module_8f90.html#a306f773232def462c9dcc84b7612b739", null ], + [ "get_g2_prodstatus", "grib2__all__tables__module_8f90.html#ad34c2c50271cf55e57323fa82f12e79d", null ], + [ "get_g2_sec5packingmethod", "grib2__all__tables__module_8f90.html#af03e78d303af639b0311e96be2bc37d2", null ], + [ "get_g2_sigreftime", "grib2__all__tables__module_8f90.html#a1646f06c31a03be74a992a1de60469cf", null ], + [ "get_g2_statprocesstypes", "grib2__all__tables__module_8f90.html#a5184d4968a27f1a349608befd735533b", null ], + [ "get_g2_subcenters", "grib2__all__tables__module_8f90.html#a10947b2b8e872e5090def0a3f4e1e805", null ], + [ "get_g2_typeofaerosol", "grib2__all__tables__module_8f90.html#ad6f79e466077e8b6de6b501796c5f337", null ], + [ "get_g2_typeofcluster", "grib2__all__tables__module_8f90.html#a6dba348a5bddc07edf405d704d3bc7eb", null ], + [ "get_g2_typeofcompression", "grib2__all__tables__module_8f90.html#a7e4a12abeae82a4605cb60e68af24607", null ], + [ "get_g2_typeofdata", "grib2__all__tables__module_8f90.html#a4158dad47c775d41196cde17ee5ac293", null ], + [ "get_g2_typeofderivefcst", "grib2__all__tables__module_8f90.html#a290de96fd327fec7812b0d6e67cbcdf0", null ], + [ "get_g2_typeofensfcst", "grib2__all__tables__module_8f90.html#ae99e018c07efce0a8e50c56bf14da061", null ], + [ "get_g2_typeofgenproc", "grib2__all__tables__module_8f90.html#a0c2824e1961b2089872d885b98662e18", null ], + [ "get_g2_typeofintervals", "grib2__all__tables__module_8f90.html#a88838d93235dbb3dc82f45f2edcae606", null ], + [ "get_g2_typeoforigfieldvals", "grib2__all__tables__module_8f90.html#a43aafb243c395268f5cb8df0d743a9c3", null ], + [ "get_g2_typeofprecip", "grib2__all__tables__module_8f90.html#ace5972d1da91bd26615fc8257bdcaf99", null ], + [ "get_g2_typeofprob", "grib2__all__tables__module_8f90.html#aff9b7991a49d567d87672efcbd400cbf", null ], + [ "get_g2_typeoftimeintervals", "grib2__all__tables__module_8f90.html#a0d31ea8d64a7ad96a63f0899b82873c2", null ], + [ "get_g2_unitoftimerange", "grib2__all__tables__module_8f90.html#a93e13a2e958855047bb2132d35cd514d", null ], + [ "get_g2_versionno", "grib2__all__tables__module_8f90.html#ac6c81587f672224e2521124253a1293f", null ], + [ "maxfixedsurfacetypes", "grib2__all__tables__module_8f90.html#a4ab70056e9bf310f7d5d2b2d45e5c4b2", null ], + [ "maxgenproc", "grib2__all__tables__module_8f90.html#ab5cda0077cff603a0fcd20caa2e6c390", null ], + [ "maxlocver", "grib2__all__tables__module_8f90.html#a9fee5632dc49831859167989a8ca4ce6", null ], + [ "maxordofsptdiff", "grib2__all__tables__module_8f90.html#a9abd2f78e88f78133c56835d5191b841", null ], + [ "maxorigincenters", "grib2__all__tables__module_8f90.html#a9b2c442c46296e136cc9719ad36cb659", null ], + [ "maxprodstatus", "grib2__all__tables__module_8f90.html#a864bb3fdc242e97a3d65e6c5aaea7ce7", null ], + [ "maxreftime", "grib2__all__tables__module_8f90.html#a281fe6da658210d003986df44df08e88", null ], + [ "maxstatprocesstypes", "grib2__all__tables__module_8f90.html#ab3f23e6ff1eda90ec0d91c47b17bd918", null ], + [ "maxsubcen", "grib2__all__tables__module_8f90.html#a99c672fa099fee4e3094866899b3f8a7", null ], + [ "maxtypeofaerosol", "grib2__all__tables__module_8f90.html#aa77c7e55b75e808ebdceaa9e96d4fbe1", null ], + [ "maxtypeofcluster", "grib2__all__tables__module_8f90.html#acd11ade3f4e066846232c3b710735f8b", null ], + [ "maxtypeofcompression", "grib2__all__tables__module_8f90.html#a8780fc8d2318ee55f40964c55fb091dd", null ], + [ "maxtypeofdata", "grib2__all__tables__module_8f90.html#a81ccb544acc1d5538c77266dd34bc164", null ], + [ "maxtypeofderivefcst", "grib2__all__tables__module_8f90.html#a6f56515e50913f3536de65b61e43380d", null ], + [ "maxtypeofensfcst", "grib2__all__tables__module_8f90.html#afb0d64858b6ad99180444d4e8acb8242", null ], + [ "maxtypeofgenproc", "grib2__all__tables__module_8f90.html#ade3feb65c9d876ccdb9ef9eb3fe6fe8c", null ], + [ "maxtypeofintvls", "grib2__all__tables__module_8f90.html#aca61468245a26920e49aa4737c49f5fc", null ], + [ "maxtypeoforigfieldval", "grib2__all__tables__module_8f90.html#ac2e82e3ac9340c791f0f5a857e014e42", null ], + [ "maxtypeofpackingmethod", "grib2__all__tables__module_8f90.html#a6333d3f9dd9e8c051adb8d6ed31ba725", null ], + [ "maxtypeofprecip", "grib2__all__tables__module_8f90.html#a35628986ad32176299922fc7368409fa", null ], + [ "maxtypeofprob", "grib2__all__tables__module_8f90.html#aee1aa2e215b18e9cb55dcb20d31d9e86", null ], + [ "maxtypeoftimeintvls", "grib2__all__tables__module_8f90.html#a42f4964f39d1196a57c4394a271cc997", null ], + [ "maxunitoftimerange", "grib2__all__tables__module_8f90.html#adf11dd0546c0c874f193397496fe5191", null ], + [ "maxver", "grib2__all__tables__module_8f90.html#a7e3b3e88230076d60f152bd30ec7d3de", null ], + [ "on388_table0", "grib2__all__tables__module_8f90.html#ae3fa05187c1c3555612c74fb2beac9f7", null ], + [ "on388_tablea", "grib2__all__tables__module_8f90.html#a95e75d17a9843e5eadc41d60fb3f641a", null ], + [ "table1_0", "grib2__all__tables__module_8f90.html#ab8b7e39ae67d6ab3b4777541f78b245b", null ], + [ "table1_1", "grib2__all__tables__module_8f90.html#a48024af6b6986da2cd96d71c07519d68", null ], + [ "table1_2", "grib2__all__tables__module_8f90.html#ac2c1862104e1028e45499d196db293b2", null ], + [ "table1_3", "grib2__all__tables__module_8f90.html#a0772a2b23a8acc63d2f50379fef133ab", null ], + [ "table1_4", "grib2__all__tables__module_8f90.html#a77815af9e185c6dfa687acf0f5a3d8be", null ], + [ "table4_10", "grib2__all__tables__module_8f90.html#aff2b3835d1dc9289cbc743538f7e32d1", null ], + [ "table4_11", "grib2__all__tables__module_8f90.html#a1a9865342aa9362d62bd51e4fe03ea98", null ], + [ "table4_201", "grib2__all__tables__module_8f90.html#a4d8c0ab7d90e16ba1e7ba2fafb7e645d", null ], + [ "table4_233", "grib2__all__tables__module_8f90.html#a2dcfacd3fd77925c376c552399c30c14", null ], + [ "table4_3", "grib2__all__tables__module_8f90.html#a0c7692a08f88aa0e8d01a17bf029c702", null ], + [ "table4_4", "grib2__all__tables__module_8f90.html#acb8905414d65ea7198680280422781cf", null ], + [ "table4_5", "grib2__all__tables__module_8f90.html#aca9caa7edc2eb9c536751beb619ec7b2", null ], + [ "table4_6", "grib2__all__tables__module_8f90.html#a892a919ce9a9004401956189bda9228f", null ], + [ "table4_7", "grib2__all__tables__module_8f90.html#a3bc05af06028e90565b0403da1f27dd5", null ], + [ "table4_8", "grib2__all__tables__module_8f90.html#adc67dae3300336b4054a18a28dd387c4", null ], + [ "table4_9", "grib2__all__tables__module_8f90.html#a43fd72d4b1c07b3c945d2d950d1b3b7f", null ], + [ "table4_91", "grib2__all__tables__module_8f90.html#a914b8271dbe73018f9b45831a2f56c60", null ], + [ "table5_0", "grib2__all__tables__module_8f90.html#a63cbd073a2f47ffd034eb0fa92539228", null ], + [ "table5_1", "grib2__all__tables__module_8f90.html#a544179854d04ab2039cfb2bd5c42320a", null ], + [ "table5_40", "grib2__all__tables__module_8f90.html#a4390b46591268745d08b7250aaa62eeb", null ], + [ "table5_6", "grib2__all__tables__module_8f90.html#a0be606501cd5ef071762d41582162167", null ], + [ "tablec", "grib2__all__tables__module_8f90.html#a112a173dcef23d668ff230c27ec9b727", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/grib2__all__tables__module_8f90_source.html b/ver-1.10.0/grib2__all__tables__module_8f90_source.html new file mode 100644 index 0000000..3591ad3 --- /dev/null +++ b/ver-1.10.0/grib2__all__tables__module_8f90_source.html @@ -0,0 +1,2101 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module.f90 Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
grib2_all_tables_module.f90
+
+
+Go to the documentation of this file.
1 
+
4 
+ +
24  implicit none
+
25 
+
27  integer, parameter :: maxsubcen=100
+
29  integer, parameter :: maxver=100
+
31  integer, parameter :: maxlocver=20
+
33  integer, parameter :: maxreftime=15
+
35  integer, parameter :: maxprodstatus=17
+
37  integer, parameter :: maxtypeofdata=100
+
39  integer, parameter :: maxtypeofgenproc=100
+
41  integer, parameter :: maxtypeofensfcst=100
+
43  integer, parameter :: maxtypeofderivefcst=100
+
45  integer, parameter :: maxfixedsurfacetypes=200
+
47  integer, parameter :: maxunitoftimerange=30
+
49  integer, parameter :: maxgenproc=250
+
51  integer, parameter :: maxorigincenters=500
+
53  integer, parameter :: maxtypeoforigfieldval=15
+
55  integer, parameter :: maxtypeofcompression=50
+
57  integer, parameter :: maxtypeofpackingmethod=50
+
59  integer, parameter :: maxstatprocesstypes=50
+
61  integer, parameter :: maxtypeoftimeintvls=50
+
63  integer, parameter :: maxtypeofprob=100
+
65  integer, parameter :: maxtypeofprecip=100
+
67  integer, parameter :: maxtypeofcluster=100
+
69  integer, parameter :: maxtypeofaerosol=200
+
71  integer, parameter :: maxtypeofintvls=50
+
73  integer, parameter :: maxordofsptdiff=50
+
74 
+ +
76  character(len=20) :: subcenkey
+
77  integer :: subcenval
+
78  end type subcenters
+
79 
+
81  type(subcenters), dimension(MAXSUBCEN) :: tablec
+
82 
+
83  data tablec(1) /subcenters('ncep_reanl',1)/
+
84  data tablec(2) /subcenters('ncep_ensem',2)/
+
85  data tablec(3) /subcenters('ncep_nco',3)/
+
86  data tablec(4) /subcenters('ncep_emc',4)/
+
87  data tablec(5) /subcenters('ncep_wpc',5)/
+
88  data tablec(6) /subcenters('ncep_opc',6)/
+
89  data tablec(7) /subcenters('ncep_cpc',7)/
+
90  data tablec(8) /subcenters('ncep_awc',8)/
+
91  data tablec(9) /subcenters('ncep_spc',9)/
+
92  data tablec(10) /subcenters('ncep_nhc',10)/
+
93  data tablec(11) /subcenters('nws_tdl',11)/
+
94  data tablec(12) /subcenters('nesdis_ora',12)/
+
95  data tablec(13) /subcenters('faa',13)/
+
96  data tablec(14) /subcenters('nws_mdl',14)/
+
97  data tablec(15) /subcenters('narr',15)/
+
98  data tablec(16) /subcenters('swpc',16)/
+
99  !
+
100  ! Added Sub-Center (06/26/2019)
+
101  !
+
102  data tablec(17) /subcenters('esrl',17)/
+
103 
+ +
105  character(len=20) :: verskey
+
106  integer :: versval
+
107  end type version_no
+
108 
+
110  type(version_no),dimension(MAXVER) :: table1_0
+
111 
+
112  data table1_0(1) /version_no('expt',0)/
+
113  data table1_0(2) /version_no('v2001',1)/
+
114  data table1_0(3) /version_no('v2003',2)/
+
115  data table1_0(4) /version_no('v2005',3)/
+
116  data table1_0(5) /version_no('v2007',4)/
+
117  data table1_0(6) /version_no('v2009',5)/
+
118  data table1_0(7) /version_no('v2010',6)/
+
119  data table1_0(8) /version_no('v052011',7)/
+
120  data table1_0(9) /version_no('v112011',8)/
+
121  data table1_0(10) /version_no('v052012',9)/
+
122  data table1_0(11) /version_no('v112012',10)/
+
123  data table1_0(12) /version_no('v052013',11)/
+
124  data table1_0(13) /version_no('v112013',12)/
+
125  data table1_0(14) /version_no('v052014',13)/
+
126  data table1_0(15) /version_no('v112014',14)/
+
127  data table1_0(16) /version_no('v052015',15)/
+
128  data table1_0(17) /version_no('v112015',16)/
+
129  data table1_0(18) /version_no('v052016',17)/
+
130  data table1_0(19) /version_no('v112016',18)/
+
131  data table1_0(20) /version_no('v052017',19)/
+
132  data table1_0(21) /version_no('v112017',20)/
+
133  data table1_0(22) /version_no('v052018',21)/
+
134  data table1_0(23) /version_no('v112018',22)/
+
135  data table1_0(24) /version_no('v052019',23)/
+
136  data table1_0(25) /version_no('v112019',24)/
+
137  data table1_0(26) /version_no('v052020',25)/
+
138  data table1_0(27) /version_no('v112020',26)/
+
139  data table1_0(28) /version_no('v052021',27)/
+
140  data table1_0(29) /version_no('v112021',28)/
+
141  data table1_0(30) /version_no('preoper',29)/
+
142  !
+
143  !
+ +
145  character(len=20) :: locverskey
+
146  integer :: locversval
+
147  end type local_table_vers_no
+
148 
+
150  type(local_table_vers_no),dimension(MAXLOCVER) :: table1_1
+
151  !
+
152  data table1_1(1) /local_table_vers_no('local_tab_no',0)/
+
153  data table1_1(2) /local_table_vers_no('local_tab_yes1',1)/
+
154  data table1_1(3) /local_table_vers_no('local_tab_yes2',2)/
+
155  data table1_1(4) /local_table_vers_no('local_tab_yes3',3)/
+
156  data table1_1(5) /local_table_vers_no('local_tab_yes4',4)/
+
157  data table1_1(6) /local_table_vers_no('local_tab_yes5',5)/
+
158  data table1_1(7) /local_table_vers_no('missing',255)/
+
159  !
+
160  !
+ +
162  character(len=20) :: sigrefkey
+
163  integer :: sigrefval
+
164  end type sigreftime
+
165 
+
166  ! Declare a variable of type discipline
+
167 
+
169  type(sigreftime),dimension(MAXREFTIME) :: table1_2
+
170 
+
171  data table1_2(1) /sigreftime('anal',0)/
+
172  data table1_2(2) /sigreftime('fcst',1)/
+
173  data table1_2(3) /sigreftime('vfcst',2)/
+
174  data table1_2(4) /sigreftime('obstime',3)/
+
175  data table1_2(5) /sigreftime('missing',255)/
+
176  !
+
177  !
+ +
179  character(len=20) :: prodstatuskey
+
180  integer :: prodstatusval
+
181  end type prod_status
+
182 
+
183  ! Declare a variable of type discipline
+
184 
+
186  type(prod_status),dimension(MAXPRODSTATUS) :: table1_3
+
187 
+
188  data table1_3(1) /prod_status('oper',0)/
+
189  data table1_3(2) /prod_status('oper_test',1)/
+
190  data table1_3(3) /prod_status('res',2)/
+
191  data table1_3(4) /prod_status('reanal',3)/
+
192  data table1_3(5) /prod_status('tigge',4)/
+
193  data table1_3(6) /prod_status('tigge_test',5)/
+
194  data table1_3(7) /prod_status('missing',255)/
+
195  data table1_3(8) /prod_status('s2s_oper',6)/
+
196  data table1_3(9) /prod_status('s2s_test',7)/
+
197  data table1_3(10) /prod_status('unens_rreanl',8)/
+
198  data table1_3(11) /prod_status('unens_rreanl_test',9)/
+
199  !
+
200  !
+ +
202  character(len=20) :: typeofdatakey
+
203  integer :: typeofdataval
+
204  end type type_of_data
+
205  !
+
207  type(type_of_data),dimension(MAXTYPEOFDATA) :: table1_4
+
208 
+
209  data table1_4(1) /type_of_data('anal',0)/
+
210  data table1_4(2) /type_of_data('fcst',1)/
+
211  data table1_4(3) /type_of_data('anal_fcst',2)/
+
212  data table1_4(4) /type_of_data('con_fcst',3)/
+
213  data table1_4(5) /type_of_data('per_fcst',4)/
+
214  data table1_4(6) /type_of_data('con_per_fcst',5)/
+
215  data table1_4(7) /type_of_data('proc_sat_obs',6)/
+
216  data table1_4(8) /type_of_data('proc_rad_obs',7)/
+
217  data table1_4(9) /type_of_data('event_prob',8)/
+
218  data table1_4(10) /type_of_data('missing',255)/
+
219  data table1_4(11) /type_of_data('experimental_products',192)/
+
220  !
+
221  !
+ +
223  character(len=30) :: typeofgenprockey
+
224  integer :: typeofgenprocval
+
225  end type type_of_gen_proc
+
226  ! 2015/09/02 Boi Vuong Added 4 type of aerosols in table4_233
+
227  ! 2019/06/25 Boi Vuong Added new entries 197,198,199 in table4_3
+
228 
+
229  !
+
231  type(type_of_gen_proc),dimension(MAXTYPEOFGENPROC) :: table4_3
+
232 
+
233  data table4_3(1) /type_of_gen_proc('anal',0)/
+
234  data table4_3(2) /type_of_gen_proc('init',1)/
+
235  data table4_3(3) /type_of_gen_proc('fcst',2)/
+
236  data table4_3(4) /type_of_gen_proc('bias_corr_fcst',3)/
+
237  data table4_3(5) /type_of_gen_proc('ens_fcst',4)/
+
238  data table4_3(6) /type_of_gen_proc('prob_fcst',5)/
+
239  data table4_3(7) /type_of_gen_proc('fcst_err',6)/
+
240  data table4_3(8) /type_of_gen_proc('anal_err',7)/
+
241  data table4_3(9) /type_of_gen_proc('obs',8)/
+
242  data table4_3(10) /type_of_gen_proc('clim',9)/
+
243  data table4_3(11) /type_of_gen_proc('prob_wt_fcst',10)/
+
244  data table4_3(12) /type_of_gen_proc('fcst_con_ind',192)/
+
245  data table4_3(13) /type_of_gen_proc('bias_corr_ens_fcst',11)/
+
246  data table4_3(14) /type_of_gen_proc('missing',255)/
+
247  data table4_3(15) /type_of_gen_proc('post_proc_anal',12)/
+
248  data table4_3(16) /type_of_gen_proc('post_proc_fcst',13)/
+
249  data table4_3(17) /type_of_gen_proc('nowcast',14)/
+
250  data table4_3(18) /type_of_gen_proc('hincsast',15)/
+
251  data table4_3(19) /type_of_gen_proc('physical_retrieval',16)/
+
252  data table4_3(20) /type_of_gen_proc('regression_analysis',17)/
+
253  data table4_3(21) /type_of_gen_proc('difference_two_forecasts',18)/
+
254  data table4_3(22) /type_of_gen_proc('prob_matched_mean',193)/
+
255  data table4_3(23) /type_of_gen_proc('neighborhood_prob',194)/
+
256  data table4_3(24) /type_of_gen_proc('bias_corrected_downscale',195)/
+
257  data table4_3(25) /type_of_gen_proc('perturbed_analysis',196)/
+
258  !
+
259  ! Added Generating Process (06/26/2019)
+
260  !
+
261  data table4_3(26) /type_of_gen_proc('ens_scale_prob',197)/
+
262  data table4_3(27) /type_of_gen_proc('post_dew_fcst',198)/
+
263  data table4_3(28) /type_of_gen_proc('ens_fcst_base',199)/
+
264  !
+
265  ! Added Generating Process (04/20/2021)
+
266  !
+
267  data table4_3(29) /type_of_gen_proc('local_prob_match_mean',200)/
+
268  !
+
269  !
+ +
271  character(len=30) :: unitoftimerangekey
+
272  integer :: unitoftimerangeval
+
273  end type unit_of_time_range
+
274  !
+
276  type(unit_of_time_range),dimension(MAXUNITOFTIMERANGE) :: table4_4
+
277 
+
278  data table4_4(1) /unit_of_time_range('minute',0)/
+
279  data table4_4(2) /unit_of_time_range('hour',1)/
+
280  data table4_4(3) /unit_of_time_range('day',2)/
+
281  data table4_4(4) /unit_of_time_range('month',3)/
+
282  data table4_4(5) /unit_of_time_range('year',4)/
+
283  data table4_4(6) /unit_of_time_range('decade',5)/
+
284  data table4_4(7) /unit_of_time_range('normal_30y',6)/
+
285  data table4_4(8) /unit_of_time_range('century',7)/
+
286  data table4_4(9) /unit_of_time_range('3hours',10)/
+
287  data table4_4(10) /unit_of_time_range('6hours',11)/
+
288  data table4_4(11) /unit_of_time_range('12hours',12)/
+
289  data table4_4(12) /unit_of_time_range('second',13)/
+
290  data table4_4(13) /unit_of_time_range('missing',255)/
+
291  !
+
292  !
+ +
294  character(len=80) :: fixedsurfacetypeskey
+
295  integer :: fixedsurfacetypesval
+
296  end type fixed_surface_types
+
297  !
+
299  type(fixed_surface_types),dimension(MAXFIXEDSURFACETYPES) :: table4_5
+
300 
+
301  data table4_5(1) /fixed_surface_types('surface',1)/
+
302  data table4_5(2) /fixed_surface_types('cloud_base',2)/
+
303  data table4_5(3) /fixed_surface_types('cloud_top',3)/
+
304  data table4_5(4) /fixed_surface_types('0C_isotherm',4)/
+
305  data table4_5(5) /fixed_surface_types('lvl_of_adiab_cond_from_sfc',5)/
+
306  data table4_5(6) /fixed_surface_types('max_wind',6)/
+
307  data table4_5(7) /fixed_surface_types('tropopause',7)/
+
308  data table4_5(8) /fixed_surface_types('top_of_atmos',8)/
+
309  data table4_5(9) /fixed_surface_types('sea_bottom',9)/
+
310  data table4_5(10) /fixed_surface_types('entire_atmos',10)/
+
311  data table4_5(11) /fixed_surface_types('cb_base',11)/
+
312  data table4_5(12) /fixed_surface_types('cb_top',12)/
+
313  data table4_5(13) /fixed_surface_types('isothermal',20)/
+
314  data table4_5(14) /fixed_surface_types('isobaric_sfc',100)/
+
315  data table4_5(15) /fixed_surface_types('mean_sea_lvl',101)/
+
316  data table4_5(16) /fixed_surface_types('spec_alt_above_mean_sea_lvl',102)/
+
317  data table4_5(17) /fixed_surface_types('spec_hgt_lvl_above_grnd',103)/
+
318  data table4_5(18) /fixed_surface_types('sigma_lvl',104)/
+
319  data table4_5(19) /fixed_surface_types('hybrid_lvl',105)/
+
320  data table4_5(20) /fixed_surface_types('depth_bel_land_sfc',106)/
+
321  data table4_5(21) /fixed_surface_types('isentropic_lvl',107)/
+
322  data table4_5(22) /fixed_surface_types('spec_pres_above_grnd',108)/
+
323  data table4_5(23) /fixed_surface_types('pot_vort_sfc',109)/
+
324  data table4_5(24) /fixed_surface_types('eta_lvl',111)/
+
325  data table4_5(25) /fixed_surface_types('mixed_lyr_depth',117)/
+
326  data table4_5(26) /fixed_surface_types('depth_below_sea_lvl',160)/
+
327  data table4_5(27) /fixed_surface_types('entire_atmos_single_lyr',200)/
+
328  data table4_5(28) /fixed_surface_types('entire_ocean_single_lyr',201)/
+
329  data table4_5(29) /fixed_surface_types('hghst_trop_frz_lvl',204)/
+
330  data table4_5(30) /fixed_surface_types('grid_scale_cloud_bot_lvl',206)/
+
331  data table4_5(31) /fixed_surface_types('grid_scale_cloud_top_lvl',207)/
+
332  data table4_5(32) /fixed_surface_types('bound_lyr_cloud_bot_lvl',209)/
+
333  data table4_5(33) /fixed_surface_types('bound_lyr_cloud_top_lvl',210)/
+
334  data table4_5(34) /fixed_surface_types('bound_lyr_cloud_lyr',211)/
+
335  data table4_5(35) /fixed_surface_types('low_cloud_bot_lvl',212)/
+
336  data table4_5(36) /fixed_surface_types('low_cloud_top_lvl',213)/
+
337  data table4_5(37) /fixed_surface_types('low_cloud_lyr',214)/
+
338  data table4_5(38) /fixed_surface_types('cloud_ceilng',215)/
+
339  data table4_5(39) /fixed_surface_types('planetary_bound_lyr',220)/
+
340  data table4_5(40) /fixed_surface_types('lyr_betwn_2hybrid_lvls',221)/
+
341  data table4_5(41) /fixed_surface_types('mid_cloud_bot_lvl',222)/
+
342  data table4_5(42) /fixed_surface_types('mid_cloud_top_lvl',223)/
+
343  data table4_5(43) /fixed_surface_types('mid_cloud_lyr',224)/
+
344  data table4_5(44) /fixed_surface_types('high_cloud_bot_lvl',232)/
+
345  data table4_5(45) /fixed_surface_types('high_cloud_top_lvl',233)/
+
346  data table4_5(46) /fixed_surface_types('high_cloud_lyr',234)/
+
347  data table4_5(47) /fixed_surface_types('ocean_isotherm_lvl',235)/
+
348  data table4_5(48) /fixed_surface_types('lyr_betwn_2depths_below_ocean_sfc',236)/
+
349  data table4_5(49) /fixed_surface_types('bot_of_ocean_mix_lyr',237)/
+
350  data table4_5(50) /fixed_surface_types('bot_of_ocean_isoth_lyr',238)/
+
351  data table4_5(51) /fixed_surface_types('lyr_ocean_sfc_26c_ocean_isotherm_lvl',239)/
+
352  data table4_5(52) /fixed_surface_types('ocean_mix_lyr',240)/
+
353  data table4_5(53) /fixed_surface_types('ordered_seq_of_data',241)/
+
354  data table4_5(54) /fixed_surface_types('convective_cloud_bot_lvl',242)/
+
355  data table4_5(55) /fixed_surface_types('convective_cloud_top_lvl',243)/
+
356  data table4_5(56) /fixed_surface_types('convective_cloud_lyr',244)/
+
357  data table4_5(57) /fixed_surface_types('lwst_lvl_of_wet_bulb_zero',245)/
+
358  data table4_5(58) /fixed_surface_types('max_equiv_pot_temp_lvl',246)/
+
359  data table4_5(59) /fixed_surface_types('equil_lvl',247)/
+
360  data table4_5(60) /fixed_surface_types('shall_convective_cloud_bot_lvl',248)/
+
361  data table4_5(61) /fixed_surface_types('shall_convective_cloud_top_lvl',249)/
+
362  data table4_5(62) /fixed_surface_types('deep_convective_cloud_bot_lvl',251)/
+
363  data table4_5(63) /fixed_surface_types('deep_convective_cloud_top_lvl',252)/
+
364  data table4_5(64) /fixed_surface_types('lwst_bot_lvl_of_supercooled_liq_water_lyr',253)/
+
365  data table4_5(65) /fixed_surface_types('hghst_top_lvl_of_supercooled_liq_water_lyr',254)/
+
366  data table4_5(66) /fixed_surface_types('missing',255)/
+
367  data table4_5(67) /fixed_surface_types('hybrid_height_lvl',118)/
+
368  data table4_5(68) /fixed_surface_types('hybrid_pres_lvl',119)/
+
369  data table4_5(69) /fixed_surface_types('gen_vertical_height_coor',150)/
+
370  data table4_5(70) /fixed_surface_types('depth_below_water_lvl',161)/
+
371  data table4_5(71) /fixed_surface_types('lake_or_river_bottom',162)/
+
372  data table4_5(72) /fixed_surface_types('bottom_of_sediment_layer',163)/
+
373  data table4_5(73) /fixed_surface_types('bottom_of_therm_sediment_layer',164)/
+
374  data table4_5(74) /fixed_surface_types('bottom_of_sediment_layer_thermal_wave',165)/
+
375  data table4_5(75) /fixed_surface_types('maxing_layer',166)/
+
376  data table4_5(76) /fixed_surface_types('bottom_root_zone',167)/
+
377  data table4_5(77) /fixed_surface_types('topsfc_ice_onsealakeriver',174)/
+
378  data table4_5(78) /fixed_surface_types('topsfc_ice_unsnow_onsealakeriver',175)/
+
379  data table4_5(79) /fixed_surface_types('bottomsfc_ice_onsealakeriver',176)/
+
380  data table4_5(80) /fixed_surface_types('deep_soil',177)/
+
381  data table4_5(81) /fixed_surface_types('topsfc_glacierice_inlandice',179)/
+
382  data table4_5(82) /fixed_surface_types('deepinland_glacierice',180)/
+
383  data table4_5(83) /fixed_surface_types('gridtile_landfrac',181)/
+
384  data table4_5(84) /fixed_surface_types('gridtile_waterfrac',182)/
+
385  data table4_5(85) /fixed_surface_types('gridtile_icefrac_onsealakeriver',183)/
+
386  data table4_5(86) /fixed_surface_types('gridtile_glacierice_inland_icefrac',184)/
+
387  data table4_5(87) /fixed_surface_types('lowest_level_vertical_icc',13)/
+
388  data table4_5(88) /fixed_surface_types('level_free_convection',14)/
+
389  data table4_5(89) /fixed_surface_types('covection_conden_level',15)/
+
390  data table4_5(90) /fixed_surface_types('level_neutral_buoy',16)/
+
391  data table4_5(91) /fixed_surface_types('soil_level',151)/
+
392  !
+
393  ! Added fixed surface levels (06/26/2019)
+
394  !
+
395  data table4_5(92) /fixed_surface_types('lowest_mass_den',21)/
+
396  data table4_5(93) /fixed_surface_types('highest_mass_den',22)/
+
397  data table4_5(94) /fixed_surface_types('lowest_air_con',23)/
+
398  data table4_5(95) /fixed_surface_types('highest_air_con',24)/
+
399  data table4_5(96) /fixed_surface_types('highest_rref',25)/
+
400  data table4_5(97) /fixed_surface_types('log_hyb_lev',113)/
+
401  data table4_5(98) /fixed_surface_types('snow_lev',114)/
+
402  data table4_5(100) /fixed_surface_types('sigma_hi_lev',115)/
+
403  !
+
404  ! Added fixed surface levels (04/20/2021)
+
405  !
+
406  data table4_5(101) /fixed_surface_types('ocean_model_level',168)/
+
407  data table4_5(102) /fixed_surface_types('ocean_level_water_density',169)/
+
408  data table4_5(103) /fixed_surface_types('ocean_level_water_potential_temp',170)/
+
409  data table4_5(104) /fixed_surface_types('eff_layer_top_level',216)/
+
410  data table4_5(105) /fixed_surface_types('eff_layer_bottom_level',217)/
+
411  data table4_5(106) /fixed_surface_types('eff_layer',218)/
+
412  !
+
413  !
+ +
415  character(len=50) :: typeofensfcstkey
+
416  integer :: typeofensfcstval
+
417  end type type_of_ens_fcst
+
418  !
+
420  type(type_of_ens_fcst),dimension(MAXTYPEOFENSFCST) :: table4_6
+
421 
+
422  data table4_6(1) /type_of_ens_fcst('unpert_hi_res_ctrl_fcst',0)/
+
423  data table4_6(2) /type_of_ens_fcst('unpert_lo_res_ctrl_fcst',1)/
+
424  data table4_6(3) /type_of_ens_fcst('neg_pert_fcst',2)/
+
425  data table4_6(4) /type_of_ens_fcst('pos_pert_fcst',3)/
+
426  data table4_6(5) /type_of_ens_fcst('multi_model_fcst',4)/
+
427  data table4_6(6) /type_of_ens_fcst('pert_ens_member',192)/
+
428  !
+
429  !
+ +
431  character(len=50) :: typeofderivefcstkey
+
432  integer :: typeofderivefcstval
+
433  end type type_of_derive_fcst
+
434  !
+
436  type(type_of_derive_fcst),dimension(MAXTYPEOFDERIVEFCST) :: table4_7
+
437 
+
438  data table4_7(1) /type_of_derive_fcst('unweighted_mean_all_mem',0)/
+
439  data table4_7(2) /type_of_derive_fcst('weighted_mean_all_mem',1)/
+
440  data table4_7(3) /type_of_derive_fcst('std_devn_res_cluster_mean',2)/
+
441  data table4_7(4) /type_of_derive_fcst('std_devn_res_cluster_mean_norm',3)/
+
442  data table4_7(5) /type_of_derive_fcst('spread_all_mem',4)/
+
443  data table4_7(6) /type_of_derive_fcst('large_anomaly_index',5)/
+
444  data table4_7(7) /type_of_derive_fcst('unweighted_mean_cluster',6)/
+
445  data table4_7(8) /type_of_derive_fcst('interquartile_range',7)/
+
446  data table4_7(9) /type_of_derive_fcst('min_all_ens_mem',8)/
+
447  data table4_7(10) /type_of_derive_fcst('max_all_ens_mem',9)/
+
448  data table4_7(11) /type_of_derive_fcst('unweighted_mode_all_mem',192)/
+
449  data table4_7(12) /type_of_derive_fcst('percentile_val_10',193)/
+
450  data table4_7(13) /type_of_derive_fcst('percentile_val_50',194)/
+
451  data table4_7(14) /type_of_derive_fcst('percentile_val_90',195)/
+
452  data table4_7(15) /type_of_derive_fcst('stat_decide_mem',196)/
+
453  data table4_7(16) /type_of_derive_fcst('clim_percentile',197)/
+
454  data table4_7(17) /type_of_derive_fcst('deviation_ens_mean',198)/
+
455  data table4_7(18) /type_of_derive_fcst('extream_forecast_index',199)/
+
456  !
+
457  ! Added type of derive forecast (04/20/2021)
+
458  !
+
459  data table4_7(19) /type_of_derive_fcst('equally_weighted_mean',200)/
+
460  data table4_7(20) /type_of_derive_fcst('percentile_value_5',201)/
+
461  data table4_7(21) /type_of_derive_fcst('percentile_value_25',202)/
+
462  data table4_7(22) /type_of_derive_fcst('percentile_value_75',203)/
+
463  data table4_7(23) /type_of_derive_fcst('percentile_value_95',204)/
+
464  !
+
465  !
+
466  ! Added Clustering Method Table 4.8 (06/26/2019)
+
467  !
+ +
469  character(len=80) :: typeofclusterkey
+
470  integer :: typeofclusterval
+
471  end type type_of_cluster
+
472  !
+
474  type(type_of_cluster),dimension(MAXTYPEOFCLUSTER) :: table4_8
+
475 
+
476  data table4_8(1) /type_of_cluster('anomoly_correlation',0)/
+
477  data table4_8(2) /type_of_cluster('root_mean_square',1)/
+
478  !
+
479  !
+
480  ! Added Probability Type Table 4.9 (06/26/2019)
+
481  !
+ +
483  character(len=80) :: typeofprobkey
+
484  integer :: typeofprobval
+
485  end type type_of_prob
+
486  !
+
488  type(type_of_prob),dimension(MAXTYPEOFPROB) :: table4_9
+
489 
+
490  data table4_9(1) /type_of_prob('prob_below_lower_limit',0)/
+
491  data table4_9(2) /type_of_prob('prob_above_upper_limit',1)/
+
492  data table4_9(3) /type_of_prob('prob_between_upper_lower_limit',2)/
+
493  data table4_9(4) /type_of_prob('prob_above_lower_limit',3)/
+
494  data table4_9(5) /type_of_prob('prob_below_upper_limit',4)/
+
495  data table4_9(6) /type_of_prob('prob_equal_lower_limit',5)/
+
496  data table4_9(7) /type_of_prob('prob_above_normal_cat',6)/
+
497  data table4_9(8) /type_of_prob('prob_near_normal_cat',7)/
+
498  data table4_9(9) /type_of_prob('prob_below_normal_cat',8)/
+
499  !
+
500  !
+ +
502  character(len=80) :: statprocesstypeskey
+
503  integer :: statprocesstypesval
+ +
505  !
+
507  type(statistical_processing_types),dimension(MAXSTATPROCESSTYPES) :: table4_10
+
508 
+
509  data table4_10(1) /statistical_processing_types('AVE',0)/
+
510  data table4_10(2) /statistical_processing_types('ACM',1)/
+
511  data table4_10(3) /statistical_processing_types('MAX',2)/
+
512  data table4_10(4) /statistical_processing_types('MIN',3)/
+
513  data table4_10(5) /statistical_processing_types('diff_end-beg',4)/
+
514  data table4_10(6) /statistical_processing_types('rms',5)/
+
515  data table4_10(7) /statistical_processing_types('std_devn',6)/
+
516  data table4_10(8) /statistical_processing_types('covariance',7)/
+
517  data table4_10(9) /statistical_processing_types('diff_beg-end',8)/
+
518  data table4_10(10) /statistical_processing_types('ratio',9)/
+
519  data table4_10(11) /statistical_processing_types('std_anomaly',10)/
+
520  data table4_10(12) /statistical_processing_types('clim_mean',192)/
+
521  data table4_10(13) /statistical_processing_types('ave_n_fcsts',193)/
+
522  data table4_10(14) /statistical_processing_types('ave_n_unin_anal',194)/
+
523  data table4_10(15) /statistical_processing_types('ave_fcst_acc_24',195)/
+
524  data table4_10(16) /statistical_processing_types('ave_succ_fcst_acc',196)/
+
525  data table4_10(17) /statistical_processing_types('ave_fcst_ave_24',197)/
+
526  data table4_10(18) /statistical_processing_types('ave_succ_fcst_ave',198)/
+
527  data table4_10(19) /statistical_processing_types('clim_ave_n_anal',199)/
+
528  data table4_10(20) /statistical_processing_types('clim_ave_n_fcst',200)/
+
529  data table4_10(21) /statistical_processing_types('clim_rms_diff',201)/
+
530  data table4_10(22) /statistical_processing_types('clim_std_n_fcst',202)/
+
531  data table4_10(23) /statistical_processing_types('clim_std_n_anal',203)/
+
532  data table4_10(24) /statistical_processing_types('ave_fcst_acc_6',204)/
+
533  data table4_10(25) /statistical_processing_types('ave_fcst_ave_6',205)/
+
534  data table4_10(26) /statistical_processing_types('ave_fcst_acc_12',206)/
+
535  data table4_10(27) /statistical_processing_types('ave_fcst_ave_12',207)/
+
536  data table4_10(28) /statistical_processing_types('missing',255)/
+
537  data table4_10(29) /statistical_processing_types('summation',11)/
+
538  data table4_10(30) /statistical_processing_types('confidence_index',12)/
+
539  data table4_10(31) /statistical_processing_types('quality_indicator',13)/
+
540  data table4_10(32) /statistical_processing_types('variance',208)/
+
541  data table4_10(33) /statistical_processing_types('confficient',209)/
+
542  !
+
543  !
+ +
545  character(len=80) :: typeoftimeintervalskey
+
546  integer :: typeoftimeintervalsval
+
547  end type type_of_time_intervals
+
548  !
+
550  type(type_of_time_intervals),dimension(MAXTYPEOFTIMEINTVLS) :: table4_11
+
551 
+
552  data table4_11(1) /type_of_time_intervals('reserved',0)/
+
553  data table4_11(2) /type_of_time_intervals('same_fcst_time_start_time_fcst_inc',1)/
+
554  data table4_11(3) /type_of_time_intervals('same_start_time_fcst_fcst_time_inc',2)/
+
555  data table4_11(4) /type_of_time_intervals('start_time_fcst_inc_fcst_time_dec',3)/
+
556  data table4_11(5) /type_of_time_intervals('start_time_fcst_dec_fcst_time_inc',4)/
+
557  data table4_11(6) /type_of_time_intervals('fltng_time_betwn_fcst_time_end_time_intvl',5)/
+
558  data table4_11(7) /type_of_time_intervals('local1',192)/
+
559  data table4_11(8) /type_of_time_intervals('local2',193)/
+
560  data table4_11(9) /type_of_time_intervals('local3',194)/
+
561  data table4_11(10) /type_of_time_intervals('missing',255)/
+
562  !
+
563  !
+ +
565  character(len=80) :: typeofintervalskey
+
566  integer :: typeofintervalsval
+
567  end type type_of_intervals
+
568  !
+
570  type(type_of_intervals),dimension(MAXTYPEOFINTVLS) :: table4_91
+
571 
+
572  data table4_91(1) /type_of_intervals('smaller_than_first_limit',0)/
+
573  data table4_91(2) /type_of_intervals('greater_than_second_limit',1)/
+
574  data table4_91(3) /type_of_intervals('between_first_second_limit_noincl2ndlmt',2)/
+
575  data table4_91(4) /type_of_intervals('greater_than_first_limit',3)/
+
576  data table4_91(5) /type_of_intervals('smaller_than_second_limit',4)/
+
577  data table4_91(6) /type_of_intervals('smaller_or_equal_first_limit',5)/
+
578  data table4_91(7) /type_of_intervals('greater_or_equal_second_limit',6)/
+
579  data table4_91(8) /type_of_intervals('between_first_second_limit',7)/
+
580  data table4_91(9) /type_of_intervals('greater_or_equal_first_limit',8)/
+
581  data table4_91(10) /type_of_intervals('smaller_or_equal_second_limit',9)/
+
582  data table4_91(11) /type_of_intervals('between_first_second_limit_noincl1stlmt',10)/
+
583  data table4_91(12) /type_of_intervals('equall_to_first_limit',11)/
+
584  data table4_91(13) /type_of_intervals('missing',255)/
+
585  !
+
586  ! Added Precipitation Table 4.201 (06/26/2019)
+
587  !
+ +
589  character(len=80) :: typeofprecipkey
+
590  integer :: typeofprecipval
+
591  end type type_of_precip
+
592  !
+
594  type(type_of_precip),dimension(MAXTYPEOFPRECIP) :: table4_201
+
595 
+
596  data table4_201(1) /type_of_precip('reserved',0)/
+
597  data table4_201(2) /type_of_precip('rain',1)/
+
598  data table4_201(3) /type_of_precip('thunderstorm',2)/
+
599  data table4_201(4) /type_of_precip('freezing_rain',3)/
+
600  data table4_201(51) /type_of_precip('mixed_ice',4)/
+
601  data table4_201(61) /type_of_precip('snow',5)/
+
602  data table4_201(7) /type_of_precip('wet_snow',6)/
+
603  data table4_201(8) /type_of_precip('mixture_rain_snow',7)/
+
604  data table4_201(91) /type_of_precip('ice_pellets',8)/
+
605  data table4_201(10) /type_of_precip('graupel',9)/
+
606  data table4_201(11) /type_of_precip('hail',10)/
+
607  data table4_201(12) /type_of_precip('drizzle',11)/
+
608  data table4_201(12) /type_of_precip('freezing_drizzle',12)/
+
609  !
+
610  !
+ +
612  character(len=80) :: typeofaerosolkey
+
613  integer :: typeofaerosolval
+
614  end type type_of_aerosol
+
615  !
+
617  type(type_of_aerosol),dimension(MAXTYPEOFAEROSOL) :: table4_233
+
618 
+
619  data table4_233(1) /type_of_aerosol('ozone',0)/
+
620  data table4_233(2) /type_of_aerosol('water_vapor',1)/
+
621  data table4_233(3) /type_of_aerosol('methane',2)/
+
622  data table4_233(4) /type_of_aerosol('carbon_dioxide',3)/
+
623  data table4_233(5) /type_of_aerosol('carbon_monoxide',4)/
+
624  data table4_233(6) /type_of_aerosol('nitrogen_dioxide',5)/
+
625  data table4_233(7) /type_of_aerosol('nitrous_oxide',6)/
+
626  data table4_233(8) /type_of_aerosol('formaldehyde',7)/
+
627  data table4_233(9) /type_of_aerosol('sulphur_dioxide',8)/
+
628  data table4_233(10) /type_of_aerosol('ammonia',9)/
+
629  data table4_233(11) /type_of_aerosol('ammonium',10)/
+
630  data table4_233(12) /type_of_aerosol('nitrogen_monoxide',11)/
+
631  data table4_233(13) /type_of_aerosol('atomic_oxygen',12)/
+
632  data table4_233(14) /type_of_aerosol('nitrate_radical',13)/
+
633  data table4_233(15) /type_of_aerosol('hydroperoxyl_radical',14)/
+
634  data table4_233(16) /type_of_aerosol('dinitrogen_pentoxide',15)/
+
635  data table4_233(17) /type_of_aerosol('nitrous_acid',16)/
+
636  data table4_233(18) /type_of_aerosol('nitric_acid',17)/
+
637  data table4_233(19) /type_of_aerosol('peroxynitric_acid',18)/
+
638  data table4_233(20) /type_of_aerosol('hydrogen_peroxide',19)/
+
639  data table4_233(21) /type_of_aerosol('molecular_hydrogen',20)/
+
640  data table4_233(22) /type_of_aerosol('atomic_nitrogen',21)/
+
641  data table4_233(23) /type_of_aerosol('sulphate',22)/
+
642  data table4_233(24) /type_of_aerosol('radon',23)/
+
643  data table4_233(25) /type_of_aerosol('elemental_mercury',24)/
+
644  data table4_233(26) /type_of_aerosol('divalent_mercury',25)/
+
645  data table4_233(27) /type_of_aerosol('atomic_chlorine',26)/
+
646  data table4_233(28) /type_of_aerosol('chlorine_monoxide',27)/
+
647  data table4_233(29) /type_of_aerosol('dichlorine_peroxide',28)/
+
648  data table4_233(30) /type_of_aerosol('hypochlorous_acid',29)/
+
649  data table4_233(31) /type_of_aerosol('chlorine_nitrate',30)/
+
650  data table4_233(32) /type_of_aerosol('chlorine_dioxide',31)/
+
651  data table4_233(33) /type_of_aerosol('atomic_bromide',32)/
+
652  data table4_233(34) /type_of_aerosol('bromine_monoxide',33)/
+
653  data table4_233(35) /type_of_aerosol('bromine_chloride',34)/
+
654  data table4_233(36) /type_of_aerosol('hydrogen_bromide',35)/
+
655  data table4_233(37) /type_of_aerosol('hypobromous_acid',36)/
+
656  data table4_233(38) /type_of_aerosol('bromine_nitrate',37)/
+
657  data table4_233(39) /type_of_aerosol('hydroxyl_radical',10000)/
+
658  data table4_233(40) /type_of_aerosol('methyl_peroxy_radical',10001)/
+
659  data table4_233(41) /type_of_aerosol('methyl_hydroperoxide',10002)/
+
660  data table4_233(42) /type_of_aerosol('methanol',10004)/
+
661  data table4_233(43) /type_of_aerosol('formic_acid',10005)/
+
662  data table4_233(44) /type_of_aerosol('hydrogen_cyanide',10006)/
+
663  data table4_233(45) /type_of_aerosol('aceto_nitrile',10007)/
+
664  data table4_233(46) /type_of_aerosol('ethane',10008)/
+
665  data table4_233(47) /type_of_aerosol('ethene',10009)/
+
666  data table4_233(48) /type_of_aerosol('ethyne',10010)/
+
667  data table4_233(49) /type_of_aerosol('ethanol',10011)/
+
668  data table4_233(50) /type_of_aerosol('acetic_acid',10012)/
+
669  data table4_233(51) /type_of_aerosol('peroxyacetyl_nitrate',10013)/
+
670  data table4_233(52) /type_of_aerosol('propane',10014)/
+
671  data table4_233(53) /type_of_aerosol('propene',10015)/
+
672  data table4_233(54) /type_of_aerosol('butanes',10016)/
+
673  data table4_233(55) /type_of_aerosol('isoprene',10017)/
+
674  data table4_233(56) /type_of_aerosol('alpha_pinene',10018)/
+
675  data table4_233(57) /type_of_aerosol('beta_pinene',10019)/
+
676  data table4_233(58) /type_of_aerosol('limonene',10020)/
+
677  data table4_233(59) /type_of_aerosol('benzene',10021)/
+
678  data table4_233(60) /type_of_aerosol('toluene',10022)/
+
679  data table4_233(61) /type_of_aerosol('xylene',10023)/
+
680  data table4_233(62) /type_of_aerosol('dumethyl_sulphide',10500)/
+
681  data table4_233(63) /type_of_aerosol('hydrogen_chloride',20001)/
+
682  data table4_233(64) /type_of_aerosol('cfc-11',20002)/
+
683  data table4_233(65) /type_of_aerosol('cfc-12',20003)/
+
684  data table4_233(66) /type_of_aerosol('cfc-113',20004)/
+
685  data table4_233(67) /type_of_aerosol('cfc-113a',20005)/
+
686  data table4_233(68) /type_of_aerosol('cfc-114',20006)/
+
687  data table4_233(69) /type_of_aerosol('cfc-115',20007)/
+
688  data table4_233(70) /type_of_aerosol('hcfc-22',20008)/
+
689  data table4_233(71) /type_of_aerosol('hcfc-141b',20009)/
+
690  data table4_233(72) /type_of_aerosol('hcfc-142b',20010)/
+
691  data table4_233(73) /type_of_aerosol('halon-1202',20011)/
+
692  data table4_233(74) /type_of_aerosol('halon-1211',20012)/
+
693  data table4_233(75) /type_of_aerosol('halon-1301',20013)/
+
694  data table4_233(76) /type_of_aerosol('halon-2402',20014)/
+
695  data table4_233(77) /type_of_aerosol('methyl_chloride',20015)/
+
696  data table4_233(78) /type_of_aerosol('carbon_tetrachloride',20016)/
+
697  data table4_233(79) /type_of_aerosol('hcc-140a',20017)/
+
698  data table4_233(80) /type_of_aerosol('methyl_bromide',20018)/
+
699  data table4_233(81) /type_of_aerosol('hexachlorocyclohexane',20019)/
+
700  data table4_233(82) /type_of_aerosol('alpha_hexachlorocyclohexane',20020)/
+
701  data table4_233(83) /type_of_aerosol('hexachlorobiphenyl',20021)/
+
702  data table4_233(84) /type_of_aerosol('radioactive_pollutant',30000)/
+
703  data table4_233(85) /type_of_aerosol('hox_radical',60000)/
+
704  data table4_233(86) /type_of_aerosol('total_inorganic_org_peroxy_radicals',60001)/
+
705  data table4_233(87) /type_of_aerosol('passive_ozone',60002)/
+
706  data table4_233(88) /type_of_aerosol('nox_nitrogen',60003)/
+
707  data table4_233(89) /type_of_aerosol('all_nitrogen_oxides',60004)/
+
708  data table4_233(90) /type_of_aerosol('total_inorganic_chlorine',60005)/
+
709  data table4_233(91) /type_of_aerosol('total_inorganic_bromine',60006)/
+
710  data table4_233(92) /type_of_aerosol('total_inorganic_chlorine_noHclClono2Clox',60007)/
+
711  data table4_233(93) /type_of_aerosol('total_inorganic_bromine_noHbrBrono2Brox',60008)/
+
712  data table4_233(94) /type_of_aerosol('lumped_alkanes',60009)/
+
713  data table4_233(95) /type_of_aerosol('lumped_alkenes',60010)/
+
714  data table4_233(96) /type_of_aerosol('lumped_aromatic_comp',60011)/
+
715  data table4_233(97) /type_of_aerosol('lumped_terpenes',60012)/
+
716  data table4_233(98) /type_of_aerosol('non_methane_volatile_org_comp_carbon)',60013)/
+
717  data table4_233(99) /type_of_aerosol('anthropogenic_non_methane_voiatile_org_comp_carbon',60014)/
+
718  data table4_233(100) /type_of_aerosol('biogenic_non_methane_volatile_org_comp_carbon',60015)/
+
719  data table4_233(101) /type_of_aerosol('lumped_oxygenated_hydrocarbon',60016)/
+
720  data table4_233(102) /type_of_aerosol('total_aerosol',62000)/
+
721  data table4_233(103) /type_of_aerosol('dust_dry',62001)/
+
722  data table4_233(104) /type_of_aerosol('water_in_ambient',62002)/
+
723  data table4_233(105) /type_of_aerosol('ammonium_dry',62003)/
+
724  data table4_233(106) /type_of_aerosol('nitrate_dry',62004)/
+
725  data table4_233(107) /type_of_aerosol('nitric_acid_trihydrate',62005)/
+
726  data table4_233(108) /type_of_aerosol('sulphate_dry',62006)/
+
727  data table4_233(109) /type_of_aerosol('mercury_dry',62007)/
+
728  data table4_233(110) /type_of_aerosol('sea_salt_dry',62008)/
+
729  data table4_233(111) /type_of_aerosol('black_carbon_dry',62009)/
+
730  data table4_233(112) /type_of_aerosol('particulate_org_matter_dry',62010)/
+
731  data table4_233(113) /type_of_aerosol('primary_particulate_org_matter_dry',62011)/
+
732  data table4_233(114) /type_of_aerosol('secondary_particulate_org_matter_dry',62012)/
+
733  data table4_233(115) /type_of_aerosol('missing',65535)/
+
734  data table4_233(116) /type_of_aerosol('black_carbon_hydrophilic',62013)/
+
735  data table4_233(117) /type_of_aerosol('black_carbon_hydrophobic',62014)/
+
736  data table4_233(118) /type_of_aerosol('particulate_org_matter_hydrophilic',62015)/
+
737  data table4_233(119) /type_of_aerosol('particulate_org_matter_hydrophobic',62016)/
+
738  data table4_233(120) /type_of_aerosol('nitrate_hydrophilic',62017)/
+
739  data table4_233(121) /type_of_aerosol('nitrate_hydrophobic',62018)/
+
740  data table4_233(122) /type_of_aerosol('smoke_hi_absorption',62020)/
+
741  data table4_233(123) /type_of_aerosol('smoke_lo_absorption',62021)/
+
742  data table4_233(124) /type_of_aerosol('aerosol_hi_absorption',62022)/
+
743  data table4_233(125) /type_of_aerosol('aerosol_lo_absorption',62023)/
+
744  data table4_233(126) /type_of_aerosol('volcanic_ash',62025)/
+
745  !
+
746  !
+ +
748  character(len=50) :: typeoforigfieldvalskey
+
749  integer :: typeoforigfieldvals
+
750  end type type_of_orig_field_vals
+
751  !
+
753  type(type_of_orig_field_vals), dimension(MAXTYPEOFORIGFIELDVAL) :: table5_1
+
754  data table5_1(1) /type_of_orig_field_vals('fltng_pnt',0)/
+
755  data table5_1(2) /type_of_orig_field_vals('integer',1)/
+
756  data table5_1(3) /type_of_orig_field_vals('local1',192)/
+
757  data table5_1(4) /type_of_orig_field_vals('local2',193)/
+
758  data table5_1(5) /type_of_orig_field_vals('local3',194)/
+
759  data table5_1(6) /type_of_orig_field_vals('local4',195)/
+
760  data table5_1(7) /type_of_orig_field_vals('local5',196)/
+
761  data table5_1(8) /type_of_orig_field_vals('local6',197)/
+
762  data table5_1(9) /type_of_orig_field_vals('local7',198)/
+
763  data table5_1(10) /type_of_orig_field_vals('local8',199)/
+
764  data table5_1(11) /type_of_orig_field_vals('local9',200)/
+
765  data table5_1(12) /type_of_orig_field_vals('local10',201)/
+
766  data table5_1(13) /type_of_orig_field_vals('missing',255)/
+
767  !
+
768  !
+ +
770  character(len=50) :: ordofsptdiffkey
+
771  integer :: ordofsptdiffvals
+
772  end type order_of_sptdiff_vals
+
773  !
+
775  type(order_of_sptdiff_vals), dimension(MAXORDOFSPTDIFF) :: table5_6
+
776  data table5_6(1) /order_of_sptdiff_vals('1st_ord_sptdiff',1)/
+
777  data table5_6(2) /order_of_sptdiff_vals('2nd_ord_sptdiff',2)/
+
778  data table5_6(3) /order_of_sptdiff_vals('missing',255)/
+
779  !
+
780  !
+ +
782  character(len=50) :: typeofcompressionkey
+
783  integer :: typeofcompressionvals
+
784  end type type_of_compression
+
785  !
+
787  type(type_of_compression), dimension(MAXTYPEOFCOMPRESSION) :: table5_40
+
788  data table5_40(1) /type_of_compression('lossless',0)/
+
789  data table5_40(2) /type_of_compression('lossy',1)/
+
790  data table5_40(3) /type_of_compression('missing',255)/
+
791  !
+
792  !
+ +
794  character(len=50) :: packingmethodkey
+
795  integer :: packingmethodvals
+
796  end type type_of_packingmethod
+
797  !
+
799  type(type_of_packingmethod), dimension(MAXTYPEOFPACKINGMETHOD) :: table5_0
+
800  data table5_0(1) /type_of_packingmethod('simple_packing',0)/
+
801  data table5_0(2) /type_of_packingmethod('maxtric_simple_packing',1)/
+
802  data table5_0(3) /type_of_packingmethod('complex_packing',2)/
+
803  data table5_0(4) /type_of_packingmethod('complex_packing_spatial_diff',3)/
+
804  data table5_0(5) /type_of_packingmethod('ieee_floating_point',4)/
+
805  data table5_0(6) /type_of_packingmethod('jpeg2000',40)/
+
806  data table5_0(7) /type_of_packingmethod('png',41)/
+
807  data table5_0(8) /type_of_packingmethod('spectral_simple_packing',50)/
+
808  data table5_0(9) /type_of_packingmethod('spectral_complex_packing',51)/
+
809  data table5_0(10) /type_of_packingmethod('simple_packing_log_preprcs',61)/
+
810  data table5_0(11) /type_of_packingmethod('run_length_packing_lvl_val',200)/
+
811  !
+
812  !
+ +
814  character(len=50) :: origincenterskey
+
815  integer :: origincentersval
+
816  end type origin_centers
+
817  !
+
819  type(origin_centers),dimension(MAXORIGINCENTERS) :: on388_table0
+
820 
+
821  data on388_table0(1) /origin_centers('melbourne1',1)/
+
822  data on388_table0(2) /origin_centers('melbourne2',2)/
+
823  data on388_table0(3) /origin_centers('melbourne3',3)/
+
824  data on388_table0(4) /origin_centers('moscow1',4)/
+
825  data on388_table0(5) /origin_centers('moscow2',5)/
+
826  data on388_table0(6) /origin_centers('moscow3',6)/
+
827  data on388_table0(7) /origin_centers('nws_ncep',7)/
+
828  data on388_table0(8) /origin_centers('nws_nwstg',8)/
+
829  data on388_table0(9) /origin_centers('nws_other',9)/
+
830  data on388_table0(10) /origin_centers('cairo1',10)/
+
831  data on388_table0(11) /origin_centers('cairo2',11)/
+
832  data on388_table0(12) /origin_centers('dakar1',12)/
+
833  data on388_table0(13) /origin_centers('dakar2',13)/
+
834  data on388_table0(14) /origin_centers('nairobi1',14)/
+
835  data on388_table0(15) /origin_centers('nairobi2',15)/
+
836  data on388_table0(16) /origin_centers('casablanca',16)/
+
837  data on388_table0(17) /origin_centers('tunis',17)/
+
838  data on388_table0(18) /origin_centers('tunis_casablanca1',18)/
+
839  data on388_table0(19) /origin_centers('tunis-casablanca2',19)/
+
840  data on388_table0(20) /origin_centers('las_palmas',20)/
+
841  data on388_table0(21) /origin_centers('algiers',21)/
+
842  data on388_table0(22) /origin_centers('acmad',22)/
+
843  data on388_table0(23) /origin_centers('mozambique',23)/
+
844  data on388_table0(24) /origin_centers('pretoria',24)/
+
845  data on388_table0(25) /origin_centers('la_reunion',25)/
+
846  data on388_table0(26) /origin_centers('khabarovsk1',26)/
+
847  data on388_table0(27) /origin_centers('khabarovsk2',27)/
+
848  data on388_table0(28) /origin_centers('new_delhi1',28)/
+
849  data on388_table0(29) /origin_centers('new_delhi2',29)/
+
850  data on388_table0(30) /origin_centers('novosibirsk1',30)/
+
851  data on388_table0(31) /origin_centers('novosibirsk2',31)/
+
852  data on388_table0(32) /origin_centers('tashkent',32)/
+
853  data on388_table0(33) /origin_centers('jeddah',33)/
+
854  data on388_table0(34) /origin_centers('jma_tokyo1',34)/
+
855  data on388_table0(35) /origin_centers('jma_tokyo2',35)/
+
856  data on388_table0(36) /origin_centers('bankok',36)/
+
857  data on388_table0(37) /origin_centers('ulan_bator',37)/
+
858  data on388_table0(38) /origin_centers('beijing1',38)/
+
859  data on388_table0(39) /origin_centers('beijing2',39)/
+
860  data on388_table0(40) /origin_centers('seoul',40)/
+
861  data on388_table0(41) /origin_centers('buenos_aires1',41)/
+
862  data on388_table0(42) /origin_centers('buenos_aires2',42)/
+
863  data on388_table0(43) /origin_centers('brasilia1',43)/
+
864  data on388_table0(44) /origin_centers('brasilia2',44)/
+
865  data on388_table0(45) /origin_centers('santiago',45)/
+
866  data on388_table0(46) /origin_centers('brazilian_inpe',46)/
+
867  data on388_table0(47) /origin_centers('columbia',47)/
+
868  data on388_table0(48) /origin_centers('ecuador',48)/
+
869  data on388_table0(49) /origin_centers('peru',49)/
+
870  data on388_table0(50) /origin_centers('venezuela',50)/
+
871  data on388_table0(51) /origin_centers('miami',51)/
+
872  data on388_table0(52) /origin_centers('tpc_nhc',52)/
+
873  data on388_table0(53) /origin_centers('cms_montreal1',53)/
+
874  data on388_table0(54) /origin_centers('cms_montreal2',54)/
+
875  data on388_table0(55) /origin_centers('san_francisco',55)/
+
876  data on388_table0(56) /origin_centers('arinc_center',56)/
+
877  data on388_table0(57) /origin_centers('usaf_gwc',57)/
+
878  data on388_table0(58) /origin_centers('us_navy_fnoc',58)/
+
879  data on388_table0(59) /origin_centers('noaa_fsl_boulder',59)/
+
880  data on388_table0(60) /origin_centers('ncar_boulder',60)/
+
881  data on388_table0(61) /origin_centers('service_argos',61)/
+
882  data on388_table0(62) /origin_centers('us_naval_ocean_off',62)/
+
883  data on388_table0(63) /origin_centers('honolulu',64)/
+
884  data on388_table0(64) /origin_centers('darwin1',65)/
+
885  data on388_table0(65) /origin_centers('darwin2',66)/
+
886  data on388_table0(66) /origin_centers('melbourne4',67)/
+
887  data on388_table0(67) /origin_centers('wellington1',69)/
+
888  data on388_table0(68) /origin_centers('wellington2',70)/
+
889  data on388_table0(69) /origin_centers('nadi',71)/
+
890  data on388_table0(70) /origin_centers('singapore',72)/
+
891  data on388_table0(71) /origin_centers('malaysia',73)/
+
892  data on388_table0(72) /origin_centers('ukmo_exeter1',74)/
+
893  data on388_table0(73) /origin_centers('ukmo_exeter2',75)/
+
894  data on388_table0(74) /origin_centers('moscow4',76)/
+
895  data on388_table0(75) /origin_centers('offenbach1',78)/
+
896  data on388_table0(76) /origin_centers('offenbach2',79)/
+
897  data on388_table0(77) /origin_centers('rome1',80)/
+
898  data on388_table0(78) /origin_centers('rome2',81)/
+
899  data on388_table0(79) /origin_centers('norrkoping1',82)/
+
900  data on388_table0(80) /origin_centers('norrkoping2',83)/
+
901  data on388_table0(81) /origin_centers('french_weather_toulouse1',84)/
+
902  data on388_table0(82) /origin_centers('french_weather_toulouse2',85)/
+
903  data on388_table0(83) /origin_centers('helsinki',86)/
+
904  data on388_table0(84) /origin_centers('belgrade',87)/
+
905  data on388_table0(85) /origin_centers('oslo',88)/
+
906  data on388_table0(86) /origin_centers('prague',89)/
+
907  data on388_table0(87) /origin_centers('episkopi',90)/
+
908  data on388_table0(88) /origin_centers('ankara',91)/
+
909  data on388_table0(89) /origin_centers('frankfurt_main',92)/
+
910  data on388_table0(90) /origin_centers('london',93)/
+
911  data on388_table0(91) /origin_centers('copenhagen',94)/
+
912  data on388_table0(92) /origin_centers('rota',95)/
+
913  data on388_table0(93) /origin_centers('athens',96)/
+
914  data on388_table0(94) /origin_centers('esa',97)/
+
915  data on388_table0(95) /origin_centers('ecmwf',98)/
+
916  data on388_table0(96) /origin_centers('de_bilt_netherlands',99)/
+
917  data on388_table0(97) /origin_centers('brazzaville',100)/
+
918  data on388_table0(98) /origin_centers('abidjan',101)/
+
919  data on388_table0(99) /origin_centers('libyan_arab_jamahiriya',102)/
+
920  data on388_table0(100) /origin_centers('madagascar',103)/
+
921  data on388_table0(101) /origin_centers('mauritius',104)/
+
922  data on388_table0(102) /origin_centers('niger',105)/
+
923  data on388_table0(103) /origin_centers('seychelles',106)/
+
924  data on388_table0(104) /origin_centers('uganda',107)/
+
925  data on388_table0(105) /origin_centers('tanzania',108)/
+
926  data on388_table0(106) /origin_centers('zimbabwe',109)/
+
927  data on388_table0(107) /origin_centers('hong_kong',110)/
+
928  data on388_table0(108) /origin_centers('afghanistan',111)/
+
929  data on388_table0(109) /origin_centers('bahrain',112)/
+
930  data on388_table0(110) /origin_centers('bangladesh',113)/
+
931  data on388_table0(111) /origin_centers('bhutan',114)/
+
932  data on388_table0(112) /origin_centers('cambodia',115)/
+
933  data on388_table0(113) /origin_centers('dprk',116)/
+
934  data on388_table0(114) /origin_centers('iran',117)/
+
935  data on388_table0(115) /origin_centers('iraq',118)/
+
936  data on388_table0(116) /origin_centers('kazakhstan',119)/
+
937  data on388_table0(117) /origin_centers('kuwait',120)/
+
938  data on388_table0(118) /origin_centers('kyrgyz_republic',121)/
+
939  data on388_table0(119) /origin_centers('lao_pdr',122)/
+
940  data on388_table0(120) /origin_centers('macao_china',123)/
+
941  data on388_table0(121) /origin_centers('maldives',124)/
+
942  data on388_table0(122) /origin_centers('myanmar',125)/
+
943  data on388_table0(123) /origin_centers('nepal',126)/
+
944  data on388_table0(124) /origin_centers('oman',127)/
+
945  data on388_table0(125) /origin_centers('pakistan',128)/
+
946  data on388_table0(126) /origin_centers('qatar',129)/
+
947  data on388_table0(127) /origin_centers('yemen',130)/
+
948  data on388_table0(128) /origin_centers('sri_lanka',131)/
+
949  data on388_table0(129) /origin_centers('tajikistan',132)/
+
950  data on388_table0(130) /origin_centers('turkmenistan',133)/
+
951  data on388_table0(131) /origin_centers('uae',134)/
+
952  data on388_table0(132) /origin_centers('uzbekistan',135)/
+
953  data on388_table0(133) /origin_centers('viet_nam ',136)/
+
954  data on388_table0(134) /origin_centers('bolivia',140)/
+
955  data on388_table0(135) /origin_centers('guyana',141)/
+
956  data on388_table0(136) /origin_centers('paraguay',142)/
+
957  data on388_table0(137) /origin_centers('suriname',143)/
+
958  data on388_table0(138) /origin_centers('uruguay',144)/
+
959  data on388_table0(139) /origin_centers('french_guyana',145)/
+
960  data on388_table0(140) /origin_centers('brazilian_navy_hydro_center',146)/
+
961  data on388_table0(141) /origin_centers('antigua_barbuda',150)/
+
962  data on388_table0(142) /origin_centers('bahamas',151)/
+
963  data on388_table0(143) /origin_centers('barbados',152)/
+
964  data on388_table0(144) /origin_centers('belize',153)/
+
965  data on388_table0(145) /origin_centers('british_caribbean_terr_center',154)/
+
966  data on388_table0(146) /origin_centers('san_jose',155)/
+
967  data on388_table0(147) /origin_centers('cuba',156)/
+
968  data on388_table0(148) /origin_centers('dominica',157)/
+
969  data on388_table0(149) /origin_centers('dominican_republic',158)/
+
970  data on388_table0(150) /origin_centers('el_salvador',159)/
+
971  data on388_table0(151) /origin_centers('us_noaa_nesdis',160)/
+
972  data on388_table0(152) /origin_centers('us_noaa_oar',161)/
+
973  data on388_table0(153) /origin_centers('guatemala',162)/
+
974  data on388_table0(154) /origin_centers('haiti',163)/
+
975  data on388_table0(155) /origin_centers('honduras',164)/
+
976  data on388_table0(156) /origin_centers('jamaica',165)/
+
977  data on388_table0(157) /origin_centers('mexico',166)/
+
978  data on388_table0(158) /origin_centers('netherlands_antilles_aruba',167)/
+
979  data on388_table0(159) /origin_centers('nicaragua',168)/
+
980  data on388_table0(160) /origin_centers('panama',169)/
+
981  data on388_table0(161) /origin_centers('saint_lucia',170)/
+
982  data on388_table0(162) /origin_centers('trinidad_tobago',171)/
+
983  data on388_table0(163) /origin_centers('french_departments',172)/
+
984  data on388_table0(164) /origin_centers('cook_islands',190)/
+
985  data on388_table0(165) /origin_centers('french_polynesia',191)/
+
986  data on388_table0(166) /origin_centers('tonga',192)/
+
987  data on388_table0(167) /origin_centers('vanuatu',193)/
+
988  data on388_table0(168) /origin_centers('brunei',194)/
+
989  data on388_table0(169) /origin_centers('indonesia',195)/
+
990  data on388_table0(170) /origin_centers('kiribati',196)/
+
991  data on388_table0(171) /origin_centers('federated_states_micronesia',197)/
+
992  data on388_table0(172) /origin_centers('new_caledonia',198)/
+
993  data on388_table0(173) /origin_centers('niue',199)/
+
994  data on388_table0(174) /origin_centers('papua_new_guinea',200)/
+
995  data on388_table0(175) /origin_centers('philippines',201)/
+
996  data on388_table0(176) /origin_centers('samoa',202)/
+
997  data on388_table0(177) /origin_centers('solomon_islands',203)/
+
998  data on388_table0(178) /origin_centers('frascati',210)/
+
999  data on388_table0(179) /origin_centers('lanion',211)/
+
1000  data on388_table0(180) /origin_centers('lisboa',212)/
+
1001  data on388_table0(181) /origin_centers('reykjavik',213)/
+
1002  data on388_table0(182) /origin_centers('madrid',214)/
+
1003  data on388_table0(183) /origin_centers('zurich',215)/
+
1004  data on388_table0(184) /origin_centers('service_argos_toulouse_fr',216)/
+
1005  data on388_table0(185) /origin_centers('bratislava',217)/
+
1006  data on388_table0(186) /origin_centers('budapest',218)/
+
1007  data on388_table0(187) /origin_centers('ljubljana',219)/
+
1008  data on388_table0(188) /origin_centers('warsaw',220)/
+
1009  data on388_table0(189) /origin_centers('zagreb',221)/
+
1010  data on388_table0(190) /origin_centers('albania',222)/
+
1011  data on388_table0(191) /origin_centers('armenia',223)/
+
1012  data on388_table0(192) /origin_centers('austria',224)/
+
1013  data on388_table0(193) /origin_centers('azerbaijan',225)/
+
1014  data on388_table0(194) /origin_centers('belarus',226)/
+
1015  data on388_table0(195) /origin_centers('belgium',227)/
+
1016  data on388_table0(196) /origin_centers('bosnia_herzegovina',228)/
+
1017  data on388_table0(197) /origin_centers('bulgaria',229)/
+
1018  data on388_table0(198) /origin_centers('cyprus',230)/
+
1019  data on388_table0(199) /origin_centers('estonia',231)/
+
1020  data on388_table0(200) /origin_centers('georgia',232)/
+
1021  data on388_table0(201) /origin_centers('dublin',233)/
+
1022  data on388_table0(202) /origin_centers('israel',234)/
+
1023  data on388_table0(203) /origin_centers('jordan',235)/
+
1024  data on388_table0(204) /origin_centers('latvia',236)/
+
1025  data on388_table0(205) /origin_centers('lebanon',237)/
+
1026  data on388_table0(206) /origin_centers('lithuania',238)/
+
1027  data on388_table0(207) /origin_centers('luxembourg',239)/
+
1028  data on388_table0(208) /origin_centers('malta',240)/
+
1029  data on388_table0(209) /origin_centers('monaco',241)/
+
1030  data on388_table0(210) /origin_centers('romania',242)/
+
1031  data on388_table0(211) /origin_centers('syrian_arab_republic',243)/
+
1032  data on388_table0(212) /origin_centers('macedonia',244)/
+
1033  data on388_table0(213) /origin_centers('ukraine',245)/
+
1034  data on388_table0(214) /origin_centers('republic_moldova',246)/
+
1035  data on388_table0(215) /origin_centers('eumetsat_op_cen',254)/
+
1036  data on388_table0(216) /origin_centers('missing',255)/
+
1037  !
+
1038  ! Added original center (06/26/2019)
+
1039  !
+
1040  data on388_table0(217) /origin_centers('ncsa_argentina',147)/
+
1041  data on388_table0(218) /origin_centers('brazilian_decea',148)/
+
1042  !
+
1043  !
+ +
1045  character(len=30) :: genprockey
+
1046  integer :: genprocval
+
1047  end type gen_proc
+
1048  !
+
1050  type(gen_proc),dimension(MAXGENPROC) :: on388_tablea
+
1051 
+
1052  data on388_tablea(1) /gen_proc('res',0)/
+
1053  data on388_tablea(2) /gen_proc('uvim',2)/
+
1054  data on388_tablea(3) /gen_proc('ncep_arl_tdm',3)/
+
1055  data on388_tablea(4) /gen_proc('ncep_arl_smoke',4)/
+
1056  data on388_tablea(5) /gen_proc('sat_der_prec_temp',5)/
+
1057  data on388_tablea(6) /gen_proc('gwind_wave_mod',10)/
+
1058  data on388_tablea(7) /gen_proc('multi_grid_wave_mod',11)/
+
1059  data on388_tablea(8) /gen_proc('prob_st_surg',12)/
+
1060  data on388_tablea(9) /gen_proc('lfm_anal',19)/
+
1061  data on388_tablea(10) /gen_proc('snow_cov_anal',25)/
+
1062  data on388_tablea(11) /gen_proc('for_gen_field',30)/
+
1063  data on388_tablea(12) /gen_proc('val_add_post_proc_field',31)/
+
1064  data on388_tablea(13) /gen_proc('ngm',39)/
+
1065  data on388_tablea(14) /gen_proc('goi_gfs',42)/
+
1066  data on388_tablea(15) /gen_proc('goi_fnl',43)/
+
1067  data on388_tablea(16) /gen_proc('ssta',44)/
+
1068  data on388_tablea(17) /gen_proc('coast_ocm',45)/
+
1069  data on388_tablea(18) /gen_proc('hycom_glob',46)/
+
1070  data on388_tablea(19) /gen_proc('hycom_npb',47)/
+
1071  data on388_tablea(20) /gen_proc('hycom_nab',48)/
+
1072  data on388_tablea(21) /gen_proc('ozone_anal_tiros',49)/
+
1073  data on388_tablea(22) /gen_proc('ozone_anal_nimbus',52)/
+
1074  data on388_tablea(23) /gen_proc('lfm_fofm',53)/
+
1075  data on388_tablea(24) /gen_proc('roi',64)/
+
1076  data on388_tablea(25) /gen_proc('t80l18gfs',68)/
+
1077  data on388_tablea(26) /gen_proc('t80l18mrf',69)/
+
1078  data on388_tablea(27) /gen_proc('qlm',70)/
+
1079  data on388_tablea(28) /gen_proc('fogfm_opc',73)/
+
1080  data on388_tablea(29) /gen_proc('gulf_of_mex_wind_wave',74)/
+
1081  data on388_tablea(30) /gen_proc('gulf_of_alas_wind_wave',75)/
+
1082  data on388_tablea(31) /gen_proc('bias_corr_mrf',76)/
+
1083  data on388_tablea(32) /gen_proc('t126l28gfs',77)/
+
1084  data on388_tablea(33) /gen_proc('t126l28mrf',78)/
+
1085  data on388_tablea(34) /gen_proc('backup_from_prev_run',79)/
+
1086  data on388_tablea(35) /gen_proc('t62l28mrf',80)/
+
1087  data on388_tablea(36) /gen_proc('anal_gfs',81)/
+
1088  data on388_tablea(37) /gen_proc('anal_gdas',82)/
+
1089  data on388_tablea(38) /gen_proc('meso_nam12km',84)/
+
1090  data on388_tablea(39) /gen_proc('early_hur_wind_speed_prob',86)/
+
1091  data on388_tablea(40) /gen_proc('cac_ensem_fcsts_spect',87)/
+
1092  data on388_tablea(41) /gen_proc('nww3_owm',88)/
+
1093  data on388_tablea(42) /gen_proc('nmm_8km',89)/
+
1094  data on388_tablea(43) /gen_proc('t62l28extmrf',90)/
+
1095  data on388_tablea(44) /gen_proc('t62l28extgfs',91)/
+
1096  data on388_tablea(45) /gen_proc('t62l28mrffnl',92)/
+
1097  data on388_tablea(46) /gen_proc('t62l28gdasmrf',93)/
+
1098  data on388_tablea(47) /gen_proc('t170l42mrf',94)/
+
1099  data on388_tablea(48) /gen_proc('t126l42mrf',95)/
+
1100  data on388_tablea(49) /gen_proc('gfs_avn',96)/
+
1101  data on388_tablea(50) /gen_proc('cfs_t62l64_l40mom3',98)/
+
1102  data on388_tablea(51) /gen_proc('misc_test_id',99)/
+
1103  data on388_tablea(52) /gen_proc('ruc_sanal_60km_40n',100)/
+
1104  data on388_tablea(53) /gen_proc('core',101)/
+
1105  data on388_tablea(54) /gen_proc('rap',105)/
+
1106  data on388_tablea(55) /gen_proc('gefs',107)/
+
1107  data on388_tablea(56) /gen_proc('lamp',108)/
+
1108  data on388_tablea(57) /gen_proc('rtma',109)/
+
1109  data on388_tablea(58) /gen_proc('nam_15k',110)/
+
1110  data on388_tablea(59) /gen_proc('nam_gen_sref',111)/
+
1111  data on388_tablea(60) /gen_proc('wrf_nmm_ncep',112)/
+
1112  data on388_tablea(61) /gen_proc('prod_ncep_sref',113)/
+
1113  data on388_tablea(62) /gen_proc('naefs_prod_ncep_cmc',114)/
+
1114  data on388_tablea(63) /gen_proc('down_scal_gfs_nam_ext',115)/
+
1115  data on388_tablea(64) /gen_proc('wrf_em_ncar_arwrf',116)/
+
1116  data on388_tablea(65) /gen_proc('ice_conc_anal',120)/
+
1117  data on388_tablea(66) /gen_proc('wna_reg_wav_mod',121)/
+
1118  data on388_tablea(67) /gen_proc('alas_wat_reg_wav_mod',122)/
+
1119  data on388_tablea(68) /gen_proc('na_hurr_wav_mod',123)/
+
1120  data on388_tablea(69) /gen_proc('enp_reg_wav_mod',124)/
+
1121  data on388_tablea(70) /gen_proc('np_hurr_wav_mod',125)/
+
1122  data on388_tablea(71) /gen_proc('sea_ice_fcst_mod',126)/
+
1123  data on388_tablea(72) /gen_proc('lake_ice_fcst_mod',127)/
+
1124  data on388_tablea(73) /gen_proc('glob_oce_fcst_mod',128)/
+
1125  data on388_tablea(74) /gen_proc('godas',129)/
+
1126  data on388_tablea(75) /gen_proc('merge_fields_ruc_nam_gfs',130)/
+
1127  data on388_tablea(76) /gen_proc('great_lakes_wave_mod',131)/
+
1128  data on388_tablea(77) /gen_proc('narr',140)/
+
1129  data on388_tablea(78) /gen_proc('ldafs',141)/
+
1130  data on388_tablea(79) /gen_proc('nwsrfs',150)/
+
1131  data on388_tablea(80) /gen_proc('nwsffgs',151)/
+
1132  data on388_tablea(81) /gen_proc('wsr_88d_s2_prec_anal',152)/
+
1133  data on388_tablea(82) /gen_proc('wsr_88d_s3_prec_anal',153)/
+
1134  data on388_tablea(83) /gen_proc('qpf_ncep',180)/
+
1135  data on388_tablea(84) /gen_proc('rfcqpf_ncep',181)/
+
1136  data on388_tablea(85) /gen_proc('rfcqpe_ncep',182)/
+
1137  data on388_tablea(86) /gen_proc('ndfd_ncep_hpc',183)/
+
1138  data on388_tablea(87) /gen_proc('ncwd_ncep_awc',190)/
+
1139  data on388_tablea(88) /gen_proc('cipap_ncep_awc',191)/
+
1140  data on388_tablea(89) /gen_proc('anal_ncep_awc',192)/
+
1141  data on388_tablea(90) /gen_proc('fcst_ncep_awc',193)/
+
1142  data on388_tablea(91) /gen_proc('cdas2',195)/
+
1143  data on388_tablea(92) /gen_proc('cdas2_regen',196)/
+
1144  data on388_tablea(93) /gen_proc('cdas',197)/
+
1145  data on388_tablea(94) /gen_proc('cdas_regen',198)/
+
1146  data on388_tablea(95) /gen_proc('cfsr_t382l64_l40mom4',199)/
+
1147  data on388_tablea(96) /gen_proc('cpc_man_fcst',200)/
+
1148  data on388_tablea(97) /gen_proc('cpc_auto_prod',201)/
+
1149  data on388_tablea(98) /gen_proc('epa_usne',210)/
+
1150  data on388_tablea(99) /gen_proc('epa_use',211)/
+
1151  data on388_tablea(100) /gen_proc('spc_man_fcst',215)/
+
1152  data on388_tablea(101) /gen_proc('ncep_opc_auto_prod',220)/
+
1153  data on388_tablea(102) /gen_proc('missing',255)/
+
1154  data on388_tablea(103) /gen_proc('ngac',117)/
+
1155  data on388_tablea(104) /gen_proc('hrrr',83)/
+
1156  data on388_tablea(105) /gen_proc('ncep_arl_dust',6)/
+
1157  data on388_tablea(106) /gen_proc('hrricane_mult_wave',13)/
+
1158  data on388_tablea(107) /gen_proc('extratropical_storm_surge',14)/
+
1159  data on388_tablea(108) /gen_proc('nearshore_wave_prediction',15)/
+
1160  data on388_tablea(109) /gen_proc('href',132)/
+
1161  data on388_tablea(110) /gen_proc('great_lakes_short_range_mod',133)/
+
1162  !
+
1163  ! Added new entries in tablea (06/27/2019)
+
1164  !
+
1165  data on388_tablea(111) /gen_proc('extra_trop_storm_surge',16)/
+
1166  data on388_tablea(112) /gen_proc('extra_trop_storm_surge_pacific',17)/
+
1167  data on388_tablea(113) /gen_proc('prob_extra_trop_storm_surge',18)/
+
1168  data on388_tablea(114) /gen_proc('linmit_fine_mesh_anal',19)/
+
1169  data on388_tablea(115) /gen_proc('extra_trop_storm_surge_micronesia',20)/
+
1170  data on388_tablea(116) /gen_proc('hur_weather_res_and_fcst',71)/
+
1171  data on388_tablea(117) /gen_proc('hur_non-hydro_multi',72)/
+
1172  !
+
1173  ! Added new entries in tablea (03/11/2021)
+
1174  !
+
1175  data on388_tablea(118) /gen_proc('rrfs',134)/
+
1176 
+
1177 contains
+
1178  !
+
1189  subroutine get_g2_subcenters(key,value,ierr)
+
1190  character(len=*) :: key
+
1191  integer :: value,n,ierr
+
1192  !
+
1193  do n=1,maxsubcen
+
1194  if (trim(tablec(n)%subcenkey).eq.trim(key)) then
+
1195  value=tablec(n)%subcenval
+
1196  return
+
1197  endif
+
1198  enddo
+
1199  print *,'get_g2_subcenters key: ', key, &
+
1200  ' not found in ON-388 table C'
+
1201  ierr=9
+
1202  return
+
1203  end subroutine get_g2_subcenters
+
1213  subroutine get_g2_versionno(key,value,ierr)
+
1214  character(len=*) :: key
+
1215  integer :: value,n,ierr
+
1216  !
+
1217  do n=1,maxver
+
1218  if (trim(table1_0(n)%verskey).eq.trim(key)) then
+
1219  value=table1_0(n)%versval
+
1220  return
+
1221  endif
+
1222  enddo
+
1223  print *,'get_g2_versionno key: ', key, &
+
1224  ' not found in table 1.0'
+
1225  ierr=9
+
1226  return
+
1227  end subroutine get_g2_versionno
+
1237  subroutine get_g2_loctabversno(key,value,ierr)
+
1238  character(len=*) :: key
+
1239  integer :: value,n,ierr
+
1240  !
+
1241  do n=1,maxlocver
+
1242  if (trim(table1_1(n)%locverskey).eq.trim(key)) then
+
1243  value=table1_1(n)%locversval
+
1244  return
+
1245  endif
+
1246  enddo
+
1247  print *,'get_g2_loctabversno key: ', key, &
+
1248  ' not found in table 1.1'
+
1249  ierr=9
+
1250  return
+
1251  end subroutine get_g2_loctabversno
+
1255 
+
1261  subroutine get_g2_sigreftime(key,value,ierr)
+
1262  ! integer, parameter :: MAXREFTIME=15
+
1263  character(len=*) :: key
+
1264  integer :: value,n,ierr
+
1265  !
+
1266  do n=1,maxreftime
+
1267  if (trim(table1_2(n)%sigrefkey).eq.trim(key)) then
+
1268  value=table1_2(n)%sigrefval
+
1269  return
+
1270  endif
+
1271  enddo
+
1272  print *,'get_g2_sigreftime key: ', key, &
+
1273  ' not found in table 1.2'
+
1274  ierr=9
+
1275  return
+
1276  end subroutine get_g2_sigreftime
+
1286  subroutine get_g2_prodstatus(key,value,ierr)
+
1287  character(len=*) :: key
+
1288  integer :: value,n,ierr
+
1289  !
+
1290  do n=1,maxprodstatus
+
1291  if (trim(table1_3(n)%prodstatuskey).eq.trim(key)) then
+
1292  value=table1_3(n)%prodstatusval
+
1293  return
+
1294  endif
+
1295  enddo
+
1296  print *,'get_g2_prodstatus key: ', key, &
+
1297  ' not found in table 1.3'
+
1298  ierr=9
+
1299  return
+
1300  end subroutine get_g2_prodstatus
+
1310  subroutine get_g2_typeofdata(key,value,ierr)
+
1311  character(len=*) :: key
+
1312  integer :: value,n,ierr
+
1313  !
+
1314  do n=1,maxtypeofdata
+
1315  if (trim(table1_4(n)%typeofdatakey).eq.trim(key)) then
+
1316  value=table1_4(n)%typeofdataval
+
1317  return
+
1318  endif
+
1319  enddo
+
1320  print *,'get_g2_typeofdata key: ', key, &
+
1321  ' not found in table 1.4'
+
1322  ierr=9
+
1323  return
+
1324  end subroutine get_g2_typeofdata
+
1334  subroutine get_g2_typeofgenproc(key,value,ierr)
+
1335  character(len=*) :: key
+
1336  integer :: value,n,ierr
+
1337  !
+
1338  do n=1,maxtypeofgenproc
+
1339  if (trim(table4_3(n)%typeofgenprockey).eq.trim(key)) then
+
1340  value=table4_3(n)%typeofgenprocval
+
1341  return
+
1342  endif
+
1343  enddo
+
1344  print *,'get_g2_typeofgenproc key}: ', key, &
+
1345  ' not found in table 4.3'
+
1346  ierr=9
+
1347  return
+
1348  end subroutine get_g2_typeofgenproc
+
1358  subroutine get_g2_unitoftimerange(key,value,ierr)
+
1359  character(len=*) :: key
+
1360  integer :: value,n,ierr
+
1361  !
+
1362  do n=1,maxunitoftimerange
+
1363  if (trim(table4_4(n)%unitoftimerangekey).eq.trim(key)) then
+
1364  value=table4_4(n)%unitoftimerangeval
+
1365  return
+
1366  endif
+
1367  enddo
+
1368 
+
1369  value=255
+
1370  print *,'get_g2_unitoftimerange key: ', key, &
+
1371  ' not found in table 4.4'
+
1372  ierr=9
+
1373  return
+
1374  end subroutine get_g2_unitoftimerange
+
1384  subroutine get_g2_fixedsurfacetypes(key,value,ierr)
+
1385  character(len=*) :: key
+
1386  integer :: value,n,ierr
+
1387  !
+
1388  do n=1,maxfixedsurfacetypes
+
1389  if (trim(table4_5(n)%fixedsurfacetypeskey).eq.trim(key)) then
+
1390  value=table4_5(n)%fixedsurfacetypesval
+
1391  return
+
1392  endif
+
1393  enddo
+
1394 
+
1395  value=table4_5(66)%fixedsurfacetypesval
+
1396  ! print *,'get_g2_fixedsurfacetypes key: ', trim(key), value, &
+
1397  ! ' not found in table 4.5'
+
1398  ! ierr=9
+
1399  return
+
1400  end subroutine get_g2_fixedsurfacetypes
+
1413  subroutine get_g2_statprocesstypes(key,value,ierr)
+
1414  character(len=*),intent(in) :: key
+
1415  ! integer,intent(out) :: value,ierr
+
1416  integer :: value,ierr
+
1417  integer :: n
+
1418  !
+
1419  do n=1,maxstatprocesstypes
+
1420  if (trim(table4_10(n)%statprocesstypeskey).eq.key) then
+
1421  value=table4_10(n)%statprocesstypesval
+
1422  return
+
1423  endif
+
1424  enddo
+
1425  print *,'get_g2_statprocesstypes key: ', key, &
+
1426  ' not found in table 4.10'
+
1427  ierr=9
+
1428  return
+
1429  end subroutine get_g2_statprocesstypes
+
1441  subroutine get_g2_typeoftimeintervals(key,value,ierr)
+
1442  character(len=*) :: key
+
1443  integer :: value,n,ierr
+
1444  !
+
1445  do n=1,maxtypeoftimeintvls
+
1446  if (trim(table4_11(n)%typeoftimeintervalskey).eq.key) then
+
1447  value=table4_11(n)%typeoftimeintervalsval
+
1448  return
+
1449  endif
+
1450  enddo
+
1451  print *,'get_g2_typeoftimeintervals key: ', key, &
+
1452  ' not found in table 4.11'
+
1453  ierr=9
+
1454  return
+
1455  end subroutine get_g2_typeoftimeintervals
+
1466  subroutine get_g2_typeofintervals(key,value,ierr)
+
1467  character(len=*) :: key
+
1468  integer :: value,n,ierr
+
1469  !
+
1470  do n=1,maxtypeofintvls
+
1471  if (trim(table4_91(n)%typeofintervalskey).eq.trim(key)) then
+
1472  value=table4_91(n)%typeofintervalsval
+
1473  return
+
1474  endif
+
1475  enddo
+
1476 
+
1477  if(trim(key).eq.'') then
+
1478  value=255
+
1479  return
+
1480  endif
+
1481  print *,'get_g2_typeofintervals key: ', key, &
+
1482  ' not found in table 4.91'
+
1483  ierr=9
+
1484  return
+
1485  end subroutine get_g2_typeofintervals
+
1497  subroutine get_g2_typeofaerosol(key,value,ierr)
+
1498  character(len=*) :: key
+
1499  integer :: value,n,ierr
+
1500  !
+
1501  do n=1,maxtypeofaerosol
+
1502  if (trim(table4_233(n)%typeofaerosolkey).eq.trim(key)) then
+
1503  value=table4_233(n)%typeofaerosolval
+
1504  return
+
1505  endif
+
1506  enddo
+
1507 
+
1508  if (trim(key).eq.'') then
+
1509  value=65535
+
1510  return
+
1511  endif
+
1512  print *,'get_g2_typeofaerosol key: ', key, &
+
1513  ' not found in table 4.233'
+
1514  ierr=9
+
1515  return
+
1516  end subroutine get_g2_typeofaerosol
+
1527  subroutine get_g2_on388origincenters(key,value,ierr)
+
1528  character(len=*) :: key
+
1529  integer :: value,n,ierr
+
1530  !
+
1531  do n=1,maxorigincenters
+
1532  if (trim(on388_table0(n)%origincenterskey).eq.trim(key)) then
+
1533  value=on388_table0(n)%origincentersval
+
1534  return
+
1535  endif
+
1536  enddo
+
1537  print *,'get_g2_on388origincenters key: ', key, &
+
1538  ' not found in ON-388 - table 0'
+
1539  ierr=9
+
1540  return
+
1541  end subroutine get_g2_on388origincenters
+
1552  subroutine get_g2_on388genproc(key,value,ierr)
+
1553  character(len=*) :: key
+
1554  integer :: value,n,ierr
+
1555  !
+
1556  do n=1,maxgenproc
+
1557  if (trim(on388_tablea(n)%genprockey).eq.trim(key)) then
+
1558  value=on388_tablea(n)%genprocval
+
1559  return
+
1560  endif
+
1561  enddo
+
1562  print *,'get_g2_on388genproc key: ', key, &
+
1563  ' not found in ON-388 - table A'
+
1564  ierr=9
+
1565  return
+
1566  end subroutine get_g2_on388genproc
+
1576  subroutine get_g2_typeoforigfieldvals(key,value,ierr)
+
1577  character(len=*) :: key
+
1578  integer :: value,n,ierr
+
1579  !
+
1580  do n=1,maxtypeoforigfieldval
+
1581  if (trim(table5_1(n)%typeoforigfieldvalskey).eq.trim(key)) then
+
1582  value=table5_1(n)%typeoforigfieldvals
+
1583  return
+
1584  endif
+
1585  enddo
+
1586 
+
1587  print *,'get_g2_typeoforigfieldvals key: ', key, &
+
1588  ' not found in table 5.1'
+
1589  ierr=9
+
1590  return
+
1591  end subroutine get_g2_typeoforigfieldvals
+
1602  subroutine get_g2_ordofspcdiffvals(key,value,ierr)
+
1603  character(len=*) :: key
+
1604  integer :: value,n,ierr
+
1605  !
+
1606  do n=1,maxordofsptdiff
+
1607  if (trim(table5_6(n)%ordofsptdiffkey).eq.trim(key)) then
+
1608  value=table5_6(n)%ordofsptdiffvals
+
1609  return
+
1610  endif
+
1611  enddo
+
1612  print *,'get_g2_ordofsptdiffvals key: ', key, &
+
1613  ' not found in table 5.6'
+
1614  ierr=9
+
1615  value=1
+
1616  return
+
1617  end subroutine get_g2_ordofspcdiffvals
+
1627  subroutine get_g2_typeofcompression(key,value,ierr)
+
1628  character(len=*) :: key
+
1629  integer :: value,n,ierr
+
1630  !
+
1631  do n=1,maxtypeofcompression
+
1632  if (trim(table5_40(n)%typeofcompressionkey).eq.trim(key)) then
+
1633  value=table5_40(n)%typeofcompressionvals
+
1634  return
+
1635  endif
+
1636  enddo
+
1637  print *,'get_g2_typeofcompression key: ', key, &
+
1638  ' not found in table 5.40'
+
1639  ierr=9
+
1640  return
+
1641  end subroutine get_g2_typeofcompression
+
1655  subroutine get_g2_sec5packingmethod(key,value,ierr)
+
1656  character(len=*) :: key
+
1657  integer :: value,n,ierr
+
1658  !
+
1659  do n=1,maxtypeofpackingmethod
+
1660  if (trim(table5_0(n)%packingmethodkey).eq.trim(key)) then
+
1661  value=table5_0(n)%packingmethodvals
+
1662  return
+
1663  endif
+
1664  enddo
+
1665  print *,'get_g2_sec5packingmethod key: ', key, &
+
1666  ' not found in table 5.0'
+
1667  ierr=9
+
1668  return
+
1669  end subroutine get_g2_sec5packingmethod
+
1680  subroutine g2sec0(idisc,listsec0)
+
1681  integer :: idisc
+
1682  integer :: listsec0(2)
+
1683  !
+
1684  listsec0(1) = idisc
+
1685  listsec0(2) = 2 ! Edition number - 2 for GRIB2
+
1686  end subroutine g2sec0
+
1706  subroutine g2sec1(origin_key,subcen_key,vers_key,lvers_key,sigreftime_key,refyear_val, &
+
1707  refmon_val,refday_val,refhour_val,refmin_val,refsec_val,prodstatus_key, &
+
1708  typeofdata_key,listsec1)
+
1709  ! integer,intent(inout) :: listsec1(13)
+
1710  integer :: listsec1(13)
+
1711  integer :: refyear_val,refmon_val,refday_val,refhour_val,refmin_val,refsec_val
+
1712  character(len=*) :: origin_key,subcen_key,vers_key,lvers_key, &
+
1713  sigreftime_key,prodstatus_key,typeofdata_key
+
1714  !
+
1715  integer(4) :: value,ierr
+
1716  !
+
1717  call get_g2_on388origincenters(origin_key,value,ierr)
+
1718  listsec1(1) = value
+
1719  !
+
1720  call get_g2_subcenters(subcen_key,value,ierr)
+
1721  listsec1(2) = value
+
1722  !
+
1723  call get_g2_versionno(vers_key,value,ierr)
+
1724  listsec1(3) = value
+
1725  !
+
1726  call get_g2_loctabversno(lvers_key,value,ierr)
+
1727  listsec1(4) = value
+
1728  !
+
1729  call get_g2_sigreftime(sigreftime_key,value,ierr)
+
1730  listsec1(5) = value
+
1731  !
+
1732  ! Set the time yyyy,mm,dd,hh,min,sec
+
1733  !
+
1734  listsec1(6) = refyear_val
+
1735  listsec1(7) = refmon_val
+
1736  listsec1(8) = refday_val
+
1737  listsec1(9) = refhour_val
+
1738  listsec1(10) = refmin_val
+
1739  listsec1(11) = refsec_val
+
1740  !
+
1741  call get_g2_prodstatus(prodstatus_key,value,ierr)
+
1742  listsec1(12) = value
+
1743  !
+
1744  call get_g2_typeofdata(typeofdata_key,value,ierr)
+
1745  listsec1(13) = value
+
1746  !
+
1747  end subroutine g2sec1
+
1770  subroutine g2sec4_temp0(icatg,iparm,typ_gen_proc_key, &
+
1771  gen_proc_or_mod_key,hrs_obs_cutoff,min_obs_cutoff, &
+
1772  unit_of_time_key,fcst_time,lvl_type1,scale_fac1, &
+
1773  scaled_val1,lvl_type2,scale_fac2,scaled_val2, &
+
1774  ipdstmpl0)
+
1775  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff, &
+
1776  fcst_time,scale_fac1,scaled_val1,scale_fac2,scaled_val2
+
1777  ! integer(4),intent(inout) :: bckgnd_gen_proc_id ! defined by the center
+
1778  !
+
1779  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
+
1780  unit_of_time_key,lvl_type1,lvl_type2
+
1781  !
+
1782  integer(4),intent(inout) :: ipdstmpl0(15)
+
1783  !
+
1784  !local vars
+
1785  integer(4) :: value,ierr
+
1786  integer(4) :: bckgnd_gen_proc_id ! defined by the center
+
1787  !
+
1788  bckgnd_gen_proc_id=0 ! defined by the center
+
1789  !
+
1790  ipdstmpl0(1) = icatg
+
1791  ipdstmpl0(2) = iparm
+
1792  !
+
1793  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
+
1794  ipdstmpl0(3) = value
+
1795  !
+
1796  ipdstmpl0(4) = bckgnd_gen_proc_id
+
1797  !
+
1798  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
+
1799  ipdstmpl0(5) = value
+
1800  !
+
1801  ipdstmpl0(6) = hrs_obs_cutoff
+
1802  ipdstmpl0(7) = min_obs_cutoff
+
1803  !
+
1804  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
+
1805  ipdstmpl0(8) = value
+
1806  ipdstmpl0(9) = fcst_time
+
1807  !
+
1808  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
+
1809  ipdstmpl0(10) = value
+
1810  ipdstmpl0(11) = scale_fac1
+
1811  ipdstmpl0(12) = scaled_val1
+
1812  !
+
1813  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
+
1814  ipdstmpl0(13) = value
+
1815  !
+
1816  ipdstmpl0(14) = scale_fac2
+
1817  ipdstmpl0(15) = scaled_val2
+
1818  !
+
1819  end subroutine g2sec4_temp0
+
1872  subroutine g2sec4_temp8(icatg,iparm,typ_gen_proc_key,gen_proc_or_mod_key, &
+
1873  hrs_obs_cutoff,min_obs_cutoff,unit_of_time_key, &
+
1874  fcst_time,lvl_type1,scale_fac1,scaled_val1,lvl_type2, &
+
1875  scale_fac2,scaled_val2,year_intvl, &
+
1876  mon_intvl,day_intvl,hour_intvl,min_intvl,sec_intvl, &
+
1877  num_time_range,stat_miss_val,type_of_stat_proc, &
+
1878  type_of_time_inc,stat_unit_time_key, &
+
1879  leng_time_range_stat,stat_unit_time_key_succ, &
+
1880  time_inc_betwn_succ_fld,ipdstmpl8)
+
1881  !
+
1882  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff,fcst_time, &
+
1883  scale_fac1,scaled_val1,scale_fac2,scaled_val2
+
1884  integer(4),intent(in) :: year_intvl,mon_intvl,day_intvl,hour_intvl,min_intvl, &
+
1885  sec_intvl,num_time_range,stat_miss_val, &
+
1886  leng_time_range_stat,time_inc_betwn_succ_fld
+
1887  !
+
1888  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
+
1889  unit_of_time_key,lvl_type1,lvl_type2, &
+
1890  type_of_stat_proc,type_of_time_inc, &
+
1891  stat_unit_time_key,stat_unit_time_key_succ
+
1892  !
+
1893  integer(4) :: bckgnd_gen_proc_id ! defined by the center
+
1894  !
+
1895  integer(4),intent(inout) :: ipdstmpl8(29) ! currently works only for n=1
+
1896  ! later on, this will be generalized
+
1897  !
+
1898  !-- local vars
+
1899  integer(4) :: value,ierr
+
1900  !
+
1901  bckgnd_gen_proc_id=0
+
1902  !
+
1903  ipdstmpl8(1) = icatg
+
1904  ipdstmpl8(2) = iparm
+
1905  !
+
1906  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
+
1907  ipdstmpl8(3) = value
+
1908  !
+
1909  ipdstmpl8(4) = bckgnd_gen_proc_id
+
1910  !
+
1911  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
+
1912  ipdstmpl8(5) = value
+
1913  !
+
1914  ipdstmpl8(6) = hrs_obs_cutoff
+
1915  ipdstmpl8(7) = min_obs_cutoff
+
1916  !
+
1917  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
+
1918  ipdstmpl8(8) = value
+
1919  ipdstmpl8(9) = fcst_time
+
1920  !
+
1921  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
+
1922  ipdstmpl8(10) = value
+
1923  ipdstmpl8(11) = scale_fac1
+
1924  ipdstmpl8(12) = scaled_val1
+
1925  !
+
1926  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
+
1927  ipdstmpl8(13) = value
+
1928  !
+
1929  ipdstmpl8(14) = scale_fac2
+
1930  ipdstmpl8(15) = scaled_val2
+
1931  ipdstmpl8(16) = year_intvl
+
1932  ipdstmpl8(17) = mon_intvl
+
1933  ipdstmpl8(18) = day_intvl
+
1934  ipdstmpl8(19) = hour_intvl
+
1935  ipdstmpl8(20) = min_intvl
+
1936  ipdstmpl8(21) = sec_intvl
+
1937  !
+
1938  ipdstmpl8(22) = num_time_range ! choose n=1 for this case
+
1939  ipdstmpl8(23) = stat_miss_val ! choose 0 for this case
+
1940  !
+
1941  call get_g2_statprocesstypes(type_of_stat_proc,value,ierr)
+
1942  ipdstmpl8(24) = value ! types_of_stat_proc='accumulation'
+
1943  !
+
1944  call get_g2_typeoftimeintervals(type_of_time_inc,value,ierr)
+
1945  ipdstmpl8(25) = value ! type_of_time_inc='same_start_time_fcst_fcst_time_inc'
+
1946  ! value = 2 (Successive times processed have same start
+
1947  ! time of forecast, forecast time is incremented)
+
1948  !
+
1949  call get_g2_unitoftimerange(stat_unit_time_key,value,ierr)
+
1950  ipdstmpl8(26) = value ! stat_unit_time_key='hour'
+
1951  ! value = 1
+
1952  ipdstmpl8(27) = leng_time_range_stat ! value = 6
+
1953  !
+
1954  call get_g2_unitoftimerange(stat_unit_time_key_succ,value,ierr)
+
1955  ! stat_unit_time_key_succ='missing'
+
1956  ipdstmpl8(28) = value ! value = 255
+
1957  !
+
1958  ipdstmpl8(29) = time_inc_betwn_succ_fld ! value = 0
+
1959  !
+
1960  end subroutine g2sec4_temp8
+
1989  subroutine g2sec4_temp44(icatg,iparm,aer_type,typ_intvl_size, &
+
1990  scale_fac1_size,scale_val1_size,scale_fac2_size, &
+
1991  scale_val2_size,typ_gen_proc_key, &
+
1992  gen_proc_or_mod_key,hrs_obs_cutoff,min_obs_cutoff, &
+
1993  unit_of_time_key,fcst_time,lvl_type1,scale_fac1, &
+
1994  scaled_val1,lvl_type2,scale_fac2,scaled_val2, &
+
1995  ipdstmpl44)
+
1996  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff, &
+
1997  scale_fac1_size,scale_fac2_size, &
+
1998  fcst_time,scale_fac1,scaled_val1, scale_fac2,scaled_val2
+
1999  real,intent(in) :: scale_val1_size,scale_val2_size
+
2000  !
+
2001  character(len=*),intent(in) :: aer_type,typ_intvl_size,typ_gen_proc_key, &
+
2002  gen_proc_or_mod_key,unit_of_time_key,lvl_type1,lvl_type2
+
2003  !
+
2004  integer(4),intent(inout) :: ipdstmpl44(21)
+
2005  !
+
2006  !local vars
+
2007  integer(4) :: value,ierr
+
2008  integer(4) :: bckgnd_gen_proc_id ! defined by the center
+
2009  !
+
2010  bckgnd_gen_proc_id=0 ! defined by the center
+
2011  !
+
2012  ipdstmpl44(1) = icatg
+
2013  ipdstmpl44(2) = iparm
+
2014  !
+
2015  call get_g2_typeofaerosol(aer_type,value,ierr)
+
2016  ipdstmpl44(3) = value
+
2017  !
+
2018  call get_g2_typeofintervals(typ_intvl_size,value,ierr)
+
2019  ipdstmpl44(4) = value
+
2020  ipdstmpl44(5) = scale_fac1_size
+
2021  ipdstmpl44(6) = scale_val1_size
+
2022  ipdstmpl44(7) = scale_fac2_size
+
2023  ipdstmpl44(8) = scale_val2_size
+
2024  !
+
2025  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
+
2026  ipdstmpl44(9) = value
+
2027  !
+
2028  ipdstmpl44(10) = bckgnd_gen_proc_id
+
2029  !
+
2030  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
+
2031  ipdstmpl44(11) = value
+
2032  !
+
2033  ipdstmpl44(12) = hrs_obs_cutoff
+
2034  ipdstmpl44(13) = min_obs_cutoff
+
2035  !
+
2036  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
+
2037  ipdstmpl44(14) = value
+
2038  ipdstmpl44(15) = fcst_time
+
2039  !
+
2040  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
+
2041  ipdstmpl44(16) = value
+
2042  ipdstmpl44(17) = scale_fac1
+
2043  ipdstmpl44(18) = scaled_val1
+
2044  !
+
2045  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
+
2046  ipdstmpl44(19) = value
+
2047  !
+
2048  ipdstmpl44(20) = scale_fac2
+
2049  ipdstmpl44(21) = scaled_val2
+
2050  !
+
2051  end subroutine g2sec4_temp44
+
2085  subroutine g2sec4_temp48(icatg,iparm,aer_type,typ_intvl_size, &
+
2086  scale_fac1_size,scale_val1_size,scale_fac2_size, &
+
2087  scale_val2_size,typ_intvl_wavelength, &
+
2088  scale_fac1_wavelength,scale_val1_wavelength, &
+
2089  scale_fac2_wavelength,scale_val2_wavelength, &
+
2090  typ_gen_proc_key, gen_proc_or_mod_key, &
+
2091  hrs_obs_cutoff,min_obs_cutoff, &
+
2092  unit_of_time_key,fcst_time,lvl_type1,scale_fac1, &
+
2093  scaled_val1,lvl_type2,scale_fac2,scaled_val2, &
+
2094  ipdstmpl48)
+
2095  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff, &
+
2096  scale_fac1_size,scale_fac2_size, scale_fac1_wavelength, &
+
2097  scale_fac2_wavelength, &
+
2098  fcst_time,scale_fac1,scaled_val1, &
+
2099  scale_fac2,scaled_val2
+
2100  real,intent(in) :: scale_val1_size,scale_val2_size,scale_val1_wavelength, &
+
2101  scale_val2_wavelength
+
2102  !
+
2103  character(len=*),intent(in) :: aer_type,typ_intvl_size, &
+
2104  typ_intvl_wavelength,typ_gen_proc_key, &
+
2105  gen_proc_or_mod_key,unit_of_time_key,lvl_type1,lvl_type2
+
2106  !
+
2107  integer(4),intent(inout) :: ipdstmpl48(26)
+
2108  !
+
2109  !local vars
+
2110  integer(4) :: value,ierr
+
2111  integer(4) :: bckgnd_gen_proc_id ! defined by the center
+
2112  !
+
2113  bckgnd_gen_proc_id=0 ! defined by the center
+
2114  !
+
2115  ipdstmpl48(1) = icatg
+
2116  ipdstmpl48(2) = iparm
+
2117  !
+
2118  call get_g2_typeofaerosol(aer_type,value,ierr)
+
2119  ipdstmpl48(3) = value
+
2120  !
+
2121  call get_g2_typeofintervals(typ_intvl_size,value,ierr)
+
2122  ipdstmpl48(4) = value
+
2123  ipdstmpl48(5) = scale_fac1_size
+
2124  ipdstmpl48(6) = nint(scale_val1_size)
+
2125  ipdstmpl48(7) = scale_fac2_size
+
2126  ipdstmpl48(8) = nint(scale_val2_size)
+
2127  !
+
2128  call get_g2_typeofintervals(typ_intvl_wavelength,value,ierr)
+
2129  ipdstmpl48(9) = value
+
2130  ipdstmpl48(10) = scale_fac1_wavelength
+
2131  ipdstmpl48(11) = nint(scale_val1_wavelength)
+
2132  ipdstmpl48(12) = scale_fac2_wavelength
+
2133  ipdstmpl48(13) = nint(scale_val2_wavelength)
+
2134  !
+
2135  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
+
2136  ipdstmpl48(14) = value
+
2137  !
+
2138  ipdstmpl48(15) = bckgnd_gen_proc_id
+
2139  !
+
2140  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
+
2141  ipdstmpl48(16) = value
+
2142  !
+
2143  ipdstmpl48(17) = hrs_obs_cutoff
+
2144  ipdstmpl48(18) = min_obs_cutoff
+
2145  !
+
2146  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
+
2147  ipdstmpl48(19) = value
+
2148  ipdstmpl48(20) = fcst_time
+
2149  !
+
2150  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
+
2151  ipdstmpl48(21) = value
+
2152  ipdstmpl48(22) = scale_fac1
+
2153  ipdstmpl48(23) = scaled_val1
+
2154  !
+
2155  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
+
2156  ipdstmpl48(24) = value
+
2157  !
+
2158  ipdstmpl48(25) = scale_fac2
+
2159  ipdstmpl48(26) = scaled_val2
+
2160  !
+
2161  end subroutine g2sec4_temp48
+
2162  !
+
2163  !
+
2172  subroutine get_g2_typeofensfcst(key,value,ierr)
+
2173  character(len=*) :: key
+
2174  integer :: value,n,ierr
+
2175  !
+
2176  do n=1,maxtypeofensfcst
+
2177  if (trim(table4_6(n)%typeofensfcstkey).eq.trim(key)) then
+
2178  value=table4_6(n)%typeofensfcstval
+
2179  return
+
2180  endif
+
2181  enddo
+
2182  print *,'get_g2_typeofensfcst key: ', key, &
+
2183  ' not found in table 4.6'
+
2184  ierr=9
+
2185  return
+
2186  end subroutine get_g2_typeofensfcst
+
2196  subroutine get_g2_typeofderivefcst(key,value,ierr)
+
2197  character(len=*) :: key
+
2198  integer :: value,n,ierr
+
2199  !
+
2200  do n=1,maxtypeofderivefcst
+
2201  if (trim(table4_7(n)%typeofderivefcstkey).eq.trim(key)) then
+
2202  value=table4_7(n)%typeofderivefcstval
+
2203  return
+
2204  endif
+
2205  enddo
+
2206  print *,'get_g2_typeofderivefcst key: ', key, &
+
2207  ' not found in table 4.7'
+
2208  ierr=9
+
2209  return
+
2210  end subroutine get_g2_typeofderivefcst
+
2233  subroutine g2sec5_temp0(dec_scale_fac,bin_scale_fac,tlnumbits,ifield5)
+
2234  integer(4),intent(in) :: bin_scale_fac,dec_scale_fac,tlnumbits
+
2235  integer(4),intent(out) :: ifield5(5)
+
2236  ! character(len=50) :: type_of_field
+
2237  integer(4) :: value,ierr
+
2238  !
+
2239  ifield5(1) = 0 ! Any value. Will be later overwritten
+
2240  ifield5(2) = bin_scale_fac
+
2241  ifield5(3) = dec_scale_fac
+
2242  ifield5(4) = tlnumbits
+
2243  ifield5(5) = 0 !g2 lib only 0
+
2244  !
+
2245  end subroutine g2sec5_temp0
+
2262  subroutine g2sec5_temp2(dec_scale_fac,bin_scale_fac,ifield5)
+
2263  !
+
2264  integer(4),intent(inout) :: ifield5(16)
+
2265  integer(4),intent(in) :: dec_scale_fac,bin_scale_fac
+
2266  !
+
2267  integer(4) :: value,ierr
+
2268  !
+
2269  ifield5=0
+
2270  ifield5(1) = 0 ! Any value. Will be later overwritten
+
2271  ifield5(2) = bin_scale_fac
+
2272  ifield5(3) = dec_scale_fac
+
2273  !
+
2274  end subroutine g2sec5_temp2
+
2292  subroutine g2sec5_temp3(dec_scale_fac,bin_scale_fac,order_of_sptdiff, &
+
2293  ifield5)
+
2294  !
+
2295  integer(4),intent(in) :: dec_scale_fac,bin_scale_fac
+
2296  character(*),intent(in) :: order_of_sptdiff
+
2297  integer(4),intent(out) :: ifield5(18)
+
2298  !
+
2299  integer(4) :: value,ierr
+
2300  !
+
2301  ifield5=0
+
2302  ifield5(1) = 0 ! Any value. Will be later overwritten
+
2303  ifield5(2) = bin_scale_fac
+
2304  ifield5(3) = dec_scale_fac
+
2305  !
+
2306  call get_g2_ordofspcdiffvals(order_of_sptdiff,value,ierr)
+
2307  ifield5(17) = value
+
2308  !
+
2309  end subroutine g2sec5_temp3
+
2337  subroutine g2sec5_temp40(dec_scale_fac,bin_scale_fac,tlnumbits, &
+
2338  type_of_compression,ifield5)
+
2339  !
+
2340  integer(4),intent(in) :: bin_scale_fac,dec_scale_fac,tlnumbits
+
2341  character(*),intent(in) :: type_of_compression
+
2342  integer(4),intent(inout) :: ifield5(7)
+
2343  !
+
2344  !--- local variable
+
2345  integer(4) :: value,ierr
+
2346  integer,parameter :: MAX_NUMBIT=16
+
2347  integer ibm
+
2348  integer,allocatable :: mg(:)
+
2349  !
+
2350  ifield5(1) = 0 ! Any value. Will be later overwritten
+
2351  ifield5(2) = bin_scale_fac
+
2352  ifield5(3) = dec_scale_fac
+
2353  ifield5(4) = tlnumbits
+
2354  ifield5(5) = 0 !g2lib assumes original data were reals
+
2355  !
+
2356  ! call get_g2_typeoforigfieldvals(type_of_field,value,ierr)
+
2357  ! ifield5(5) = value
+
2358  !
+ +
2360  ifield5(6) = value
+
2361  !
+
2362  ifield5(7) = 255
+
2363  end subroutine g2sec5_temp40
+
2364 
+
2373  subroutine get_g2_typeofcluster(key,value,ierr)
+
2374  character(len=*) :: key
+
2375  integer :: value,n,ierr
+
2376  !
+
2377  do n=1,maxtypeofcluster
+
2378  if (trim(table4_8(n)%typeofclusterkey).eq.trim(key)) then
+
2379  value=table4_8(n)%typeofclusterval
+
2380  return
+
2381  endif
+
2382  enddo
+
2383  print *,'get_g2_typeofcluster key: ', key, &
+
2384  ' not found in table 4.8'
+
2385  ierr=9
+
2386  return
+
2387  end subroutine get_g2_typeofcluster
+
2397  subroutine get_g2_typeofprob(key,value,ierr)
+
2398  character(len=*) :: key
+
2399  integer :: value,n,ierr
+
2400  !
+
2401  do n=1,maxtypeofprob
+
2402  if (trim(table4_9(n)%typeofprobkey).eq.trim(key)) then
+
2403  value=table4_9(n)%typeofprobval
+
2404  return
+
2405  endif
+
2406  enddo
+
2407  print *,'get_g2_typeofprob key: ', key, &
+
2408  ' not found in table 4.9'
+
2409  ierr=9
+
2410  return
+
2411  end subroutine get_g2_typeofprob
+
2412 
+
2421  subroutine get_g2_typeofprecip(key,value,ierr)
+
2422  character(len=*) :: key
+
2423  integer :: value,n,ierr
+
2424  !
+
2425  do n=1,maxtypeofprecip
+
2426  if (trim(table4_201(n)%typeofprecipkey).eq.trim(key)) then
+
2427  value=table4_201(n)%typeofprecipval
+
2428  return
+
2429  endif
+
2430  enddo
+
2431  print *,'get_g2_typeofprecip key: ', key, &
+
2432  ' not found in table 4.201'
+
2433  ierr=9
+
2434  return
+
2435  end subroutine get_g2_typeofprecip
+
2436 
+
2437 end module grib2_all_tables_module
+
Define the variables in the derived data type discipline provided in Section 0.
+
subroutine get_g2_on388genproc(key, value, ierr)
This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) ...
+
subroutine g2sec5_temp3(dec_scale_fac, bin_scale_fac, order_of_sptdiff, ifield5)
This subroutine returns the section 5 list array with a given binary, and decimal scale factor from G...
+
type(prod_status), dimension(maxprodstatus) table1_3
Table 1 3.
+
subroutine g2sec1(origin_key, subcen_key, vers_key, lvers_key, sigreftime_key, refyear_val, refmon_val, refday_val, refhour_val, refmin_val, refsec_val, prodstatus_key, typeofdata_key, listsec1)
This subroutine returns the section 1 list for given keys.
+
type(order_of_sptdiff_vals), dimension(maxordofsptdiff) table5_6
table5_6
+
subroutine get_g2_typeofgenproc(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short ...
+
type(type_of_gen_proc), dimension(maxtypeofgenproc) table4_3
table4_3
+
subroutine get_g2_typeoftimeintervals(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key ...
+
subroutine get_g2_subcenters(key, value, ierr)
This subroutine returns the corresponding GRIB2 subcenters value for a given short key name based on ...
+
type(subcenters), dimension(maxsubcen) tablec
tablec
+
subroutine get_g2_sigreftime(key, value, ierr)
This subroutine returns the corresponding GRIB2 significant reference time value for a given short ke...
+
type(type_of_time_intervals), dimension(maxtypeoftimeintvls) table4_11
table4_11
+
integer, parameter maxreftime
maxreftime
+
subroutine get_g2_typeofderivefcst(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key n...
+
type(type_of_aerosol), dimension(maxtypeofaerosol) table4_233
table4_233
+
subroutine get_g2_ordofspcdiffvals(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Table 5.6 Order of spatial differencing for a given...
+
subroutine get_g2_fixedsurfacetypes(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given sho...
+
integer, parameter maxtypeofprecip
maxtypeofprecip
+
type(type_of_derive_fcst), dimension(maxtypeofderivefcst) table4_7
table4_7
+
subroutine get_g2_typeofdata(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of data value for a given short key name based o...
+
integer, parameter maxtypeoftimeintvls
maxtypeoftimeintvls
+
type(type_of_compression), dimension(maxtypeofcompression) table5_40
table5_40
+
subroutine get_g2_typeoforigfieldvals(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Table 5.1 Type of Original Field Values for a given...
+
type(type_of_prob), dimension(maxtypeofprob) table4_9
table4_9
+
type(local_table_vers_no), dimension(maxlocver) table1_1
Table 1 1.
+
integer, parameter maxfixedsurfacetypes
Max fixed surface types.
+
type(type_of_precip), dimension(maxtypeofprecip) table4_201
table4_201
+
subroutine get_g2_statprocesstypes(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given sho...
+
type(type_of_orig_field_vals), dimension(maxtypeoforigfieldval) table5_1
table5_1
+
integer, parameter maxtypeofpackingmethod
maxtypeofpackingmethod
+
type(type_of_packingmethod), dimension(maxtypeofpackingmethod) table5_0
table5_0
+
subroutine get_g2_typeofcluster(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of clustering method for a given short key name ...
+
integer, parameter maxtypeofderivefcst
maxtypeofderivefcst
+
type(type_of_data), dimension(maxtypeofdata) table1_4
table1_4
+
subroutine g2sec4_temp48(icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_intvl_wavelength, scale_fac1_wavelength, scale_val1_wavelength, scale_fac2_wavelength, scale_val2_wavelength, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl48)
This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4....
+
integer, parameter maxver
maxver
+
subroutine get_g2_typeofcompression(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Table 5.40 Type of compression for a given short ke...
+
integer, parameter maxtypeofdata
maxtypeofdata
+
integer, parameter maxprodstatus
maxprodstatus
+
integer, parameter maxtypeofcompression
maxtypeofcompression
+
subroutine get_g2_typeofintervals(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of intervals value for a given short key name ...
+
type(type_of_ens_fcst), dimension(maxtypeofensfcst) table4_6
table4_6
+
type(type_of_intervals), dimension(maxtypeofintvls) table4_91
table4_91
+
subroutine get_g2_unitoftimerange(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given s...
+
subroutine g2sec0(idisc, listsec0)
This subroutine returns the section 0 list for a given discipline value.
+
type(gen_proc), dimension(maxgenproc) on388_tablea
ON 388 Table A.
+
integer, parameter maxsubcen
maxsubcen
+
integer, parameter maxordofsptdiff
maxordofsptdiff
+
integer, parameter maxorigincenters
maxorigincenters
+
subroutine g2sec4_temp44(icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl44)
This subroutine returns the Grib2 Section 4 Template 4.44 list for given keys PDT 4....
+
subroutine g2sec4_temp0(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl0)
This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4....
+
integer, parameter maxlocver
maxlocver
+
integer, parameter maxtypeofaerosol
maxtypeofaerosol
+
integer, parameter maxstatprocesstypes
maxstatprocesstypes
+
integer, parameter maxgenproc
maxgenproc
+
type(version_no), dimension(maxver) table1_0
Table 1 0.
+
subroutine g2sec5_temp2(dec_scale_fac, bin_scale_fac, ifield5)
This subroutine returns the section 5 list array with a given binary, and decimal scale factor from G...
+
type(sigreftime), dimension(maxreftime) table1_2
Table 1 2.
+
integer, parameter maxtypeoforigfieldval
maxtypeoforigfieldval
+
subroutine g2sec5_temp40(dec_scale_fac, bin_scale_fac, tlnumbits, type_of_compression, ifield5)
This subroutine returns the section 5 list array for a given decimal scale factor (D),...
+
subroutine get_g2_versionno(key, value, ierr)
This subroutine returns the corresponding GRIB2 version number for a given short key name based on Ta...
+
subroutine g2sec5_temp0(dec_scale_fac, bin_scale_fac, tlnumbits, ifield5)
This subroutine returns the section 5 list array for a given decimal scale factor (D) and type of ori...
+
integer, parameter maxtypeofintvls
maxtypeofintvls
+
type(fixed_surface_types), dimension(maxfixedsurfacetypes) table4_5
table4_5
+
type(unit_of_time_range), dimension(maxunitoftimerange) table4_4
table4_4
+
integer, parameter maxtypeofcluster
maxtypeofcluster
+
subroutine get_g2_typeofprecip(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of precipitation for a given short key name base...
+
subroutine get_g2_prodstatus(key, value, ierr)
This subroutine returns the corresponding GRIB2 production status of data value for a given short key...
+
subroutine g2sec4_temp8(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl8)
This subroutine returns the Grib2 Section 4 Template 4.8 list for given keys PDT 4....
+
subroutine get_g2_typeofaerosol(key, value, ierr)
This subroutine returns the corresponding GRIB2 - Type of aerosol value for a given short key name ba...
+
type(type_of_cluster), dimension(maxtypeofcluster) table4_8
table4_8
+
integer, parameter maxtypeofgenproc
maxtypeofgenproc
+
integer, parameter maxunitoftimerange
maxunitoftimerange
+
type(origin_centers), dimension(maxorigincenters) on388_table0
ON388 Table.
+
subroutine get_g2_typeofensfcst(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key...
+
integer, parameter maxtypeofprob
maxtypeofprob
+
subroutine get_g2_sec5packingmethod(key, value, ierr)
This subroutine returns the corresponding GRIB2 template number for a given short key name based on G...
+
integer, parameter maxtypeofensfcst
maxtypeofensfcst
+
subroutine get_g2_loctabversno(key, value, ierr)
This subroutine returns the corresponding GRIB2 local table version number for a given short key name...
+
subroutine get_g2_on388origincenters(key, value, ierr)
This subroutine returns the corresponding GRIB1 - PDS Ocet5 GRIB2 - Section 1, Octet 6-7 National/Int...
+
type(statistical_processing_types), dimension(maxstatprocesstypes) table4_10
table4_10
+
subroutine get_g2_typeofprob(key, value, ierr)
This subroutine returns the corresponding GRIB2 type of probability for a given short key name based ...
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + diff --git a/ver-1.10.0/index.html b/ver-1.10.0/index.html new file mode 100644 index 0000000..64fc3e7 --- /dev/null +++ b/ver-1.10.0/index.html @@ -0,0 +1,133 @@ + + + + + + + +NCEPLIBS-g2tmpl: Main Page + + + + + + + + + + + + + +
+
+ + + + + + +
+
NCEPLIBS-g2tmpl +  1.10.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NCEPLIBS-g2tmpl Documentation
+
+
+

+Introduction

+

This document briefly describes the NCEPLIBS-g2tmpl library.

+

+History

+ + + + + + + + + + + + + + + + + + + + + + + +
Version Date Notes
1.0.0 Dec 04 2009 Original version
1.1.0 Jan 25 2012 Add product template 4.44 and 4.48
1.2.1 Feb 20 2012 Add complex packing
1.2.2 Jul 08 2014 Corrected Scaled value of second fixed surfaces in template 4.8 and Added generating process model HRRR
1.3.0 Jan 09 2015 Added product template 4.1, 4.11 and 4.12; Added code tables 4.6 (Type of Ensemble Forecast) and 4.7 (Derived Forecast); Added routines: get_g2_typeofensfcst, get_g2_typeofderivefcst
1.4.0 Aug 26 2015 Added more parameters and updated table 4.2-0-20; Added 4 type of aerosols in table4_233
1.5.0 Mar 09 2017 Added more parameters in grib2 table 4.2
1.5.2 Nov 10 2019 fixed issues in error messages
1.6.0 Dec 11 2019 Removed "qsort" in routine process_4dot2.c; Added more parameters
1.10.0 Apr 28 2021 Added more parameters; Added generating process ID for models: RRFS and CORE; Removed routine gdtsec3.f (obsolete)
+

+GRIB2 Tables/Templates

+

NCO Provides documentation on WMO GRIB2 at https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/

+

WMO's GRIB2 specification "FM 92-XII GRIB - General +Regularly-distributed Information in Binary Form" contains descriptions of each template and code table information. This document can be found at https://codes.wmo.int/grib2/_codeflag (PDF and MSWord formats are available).

+
+
+
+ + + + diff --git a/ver-1.10.0/jquery.js b/ver-1.10.0/jquery.js new file mode 100644 index 0000000..103c32d --- /dev/null +++ b/ver-1.10.0/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/ver-1.10.0/menu.js b/ver-1.10.0/menu.js new file mode 100644 index 0000000..2fe2214 --- /dev/null +++ b/ver-1.10.0/menu.js @@ -0,0 +1,51 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/ver-1.10.0/menudata.js b/ver-1.10.0/menudata.js new file mode 100644 index 0000000..60f8792 --- /dev/null +++ b/ver-1.10.0/menudata.js @@ -0,0 +1,50 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Modules",url:"namespaces.html",children:[ +{text:"Modules List",url:"namespaces.html"}, +{text:"Module Members",url:"namespacemembers.html",children:[ +{text:"All",url:"namespacemembers.html",children:[ +{text:"g",url:"namespacemembers.html#index_g"}, +{text:"m",url:"namespacemembers.html#index_m"}, +{text:"o",url:"namespacemembers.html#index_o"}, +{text:"t",url:"namespacemembers.html#index_t"}]}, +{text:"Functions/Subroutines",url:"namespacemembers_func.html",children:[ +{text:"g",url:"namespacemembers_func.html#index_g"}]}, +{text:"Variables",url:"namespacemembers_vars.html",children:[ +{text:"m",url:"namespacemembers_vars.html#index_m"}, +{text:"o",url:"namespacemembers_vars.html#index_o"}, +{text:"t",url:"namespacemembers_vars.html#index_t"}]}]}]}, +{text:"Data Types List",url:"annotated.html",children:[ +{text:"Data Types List",url:"annotated.html"}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"Globals",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Functions/Subroutines",url:"globals_func.html"}, +{text:"Variables",url:"globals_vars.html"}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/ver-1.10.0/namespacegrib2__all__tables__module.html b/ver-1.10.0/namespacegrib2__all__tables__module.html new file mode 100644 index 0000000..fe52f02 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module.html @@ -0,0 +1,4570 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module Module Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module Module Reference
    +
    +
    + +

    Define the variables in the derived data type discipline provided in Section 0. +More...

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Types

    type  fixed_surface_types
     
    type  gen_proc
     
    type  local_table_vers_no
     
    type  order_of_sptdiff_vals
     
    type  origin_centers
     
    type  prod_status
     
    type  sigreftime
     
    type  statistical_processing_types
     
    type  subcenters
     
    type  type_of_aerosol
     
    type  type_of_cluster
     
    type  type_of_compression
     
    type  type_of_data
     
    type  type_of_derive_fcst
     
    type  type_of_ens_fcst
     
    type  type_of_gen_proc
     
    type  type_of_intervals
     
    type  type_of_orig_field_vals
     
    type  type_of_packingmethod
     
    type  type_of_precip
     
    type  type_of_prob
     
    type  type_of_time_intervals
     
    type  unit_of_time_range
     
    type  version_no
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions/Subroutines

    subroutine g2sec0 (idisc, listsec0)
     This subroutine returns the section 0 list for a given discipline value. More...
     
    subroutine g2sec1 (origin_key, subcen_key, vers_key, lvers_key, sigreftime_key, refyear_val, refmon_val, refday_val, refhour_val, refmin_val, refsec_val, prodstatus_key, typeofdata_key, listsec1)
     This subroutine returns the section 1 list for given keys. More...
     
    subroutine g2sec4_temp0 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl0)
     This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.0 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time. More...
     
    subroutine g2sec4_temp44 (icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl44)
     This subroutine returns the Grib2 Section 4 Template 4.44 list for given keys PDT 4.44 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. More...
     
    subroutine g2sec4_temp48 (icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_intvl_wavelength, scale_fac1_wavelength, scale_val1_wavelength, scale_fac2_wavelength, scale_val2_wavelength, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl48)
     This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.48 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. More...
     
    subroutine g2sec4_temp8 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl8)
     This subroutine returns the Grib2 Section 4 Template 4.8 list for given keys PDT 4.8 - Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. More...
     
    subroutine g2sec5_temp0 (dec_scale_fac, bin_scale_fac, tlnumbits, ifield5)
     This subroutine returns the section 5 list array for a given decimal scale factor (D) and type of original field values (Table 5.1) value from GRIB2 - GRID Template 5.0 Grid point data - simple packing. More...
     
    subroutine g2sec5_temp2 (dec_scale_fac, bin_scale_fac, ifield5)
     This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.2 Grid point data - complex packing. More...
     
    subroutine g2sec5_temp3 (dec_scale_fac, bin_scale_fac, order_of_sptdiff, ifield5)
     This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.3 Grid point data - complex packing with spatial difference. More...
     
    subroutine g2sec5_temp40 (dec_scale_fac, bin_scale_fac, tlnumbits, type_of_compression, ifield5)
     This subroutine returns the section 5 list array for a given decimal scale factor (D),type of original field value (Table 5.40) and type of compression used from GRIB2 - GRID Template 5.40 Grid point data - JPEG 2000 Code Stream Format. More...
     
    subroutine get_g2_fixedsurfacetypes (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given short key name based on Table 4.5 of Section 4, Octets 23 and 29. More...
     
    subroutine get_g2_loctabversno (key, value, ierr)
     This subroutine returns the corresponding GRIB2 local table version number for a given short key name based on Table 1.1. More...
     
    subroutine get_g2_on388genproc (key, value, ierr)
     This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) from originating center 7 (USNWS NCEP) for a given short key name based on ON388 - Table A. More...
     
    subroutine get_g2_on388origincenters (key, value, ierr)
     This subroutine returns the corresponding GRIB1 - PDS Ocet5 GRIB2 - Section 1, Octet 6-7 National/International Originating Centers value for a given short key name based on ON388 - Table 0. More...
     
    subroutine get_g2_ordofspcdiffvals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.6 Order of spatial differencing for a given short key name based on GRIB2 - Table 5.6 default is 1st order spatial differencing. More...
     
    subroutine get_g2_prodstatus (key, value, ierr)
     This subroutine returns the corresponding GRIB2 production status of data value for a given short key name based on Table 1.3. More...
     
    subroutine get_g2_sec5packingmethod (key, value, ierr)
     This subroutine returns the corresponding GRIB2 template number for a given short key name based on GRIB2 -. More...
     
    subroutine get_g2_sigreftime (key, value, ierr)
     This subroutine returns the corresponding GRIB2 significant reference time value for a given short key name based on Table 1.2. More...
     
    subroutine get_g2_statprocesstypes (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given short key name based on Table 4.10 of Section 4 Octets 47 (template 8) 60 (temp 9), 48 (temp 10), 50 (temp 11), 49 (temp 12), 81 (temp 13), 77 (temp 14), 27 (temp 1001), 25 (temp 1002) and 39 (temp 1101) More...
     
    subroutine get_g2_subcenters (key, value, ierr)
     This subroutine returns the corresponding GRIB2 subcenters value for a given short key name based on Table C. More...
     
    subroutine get_g2_typeofaerosol (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of aerosol value for a given short key name based on Table 4.233 of Section 4 Octets 12-13 (template 44), 12-13 (temp 45), 12-13 (temp 46), 13-14 (temp 47), 12-13 (temp 48) More...
     
    subroutine get_g2_typeofcluster (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of clustering method for a given short key name based on Table 4.8. More...
     
    subroutine get_g2_typeofcompression (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.40 Type of compression for a given short key name based on GRIB2 - Table 5.40. More...
     
    subroutine get_g2_typeofdata (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of data value for a given short key name based on Table 1.4. More...
     
    subroutine get_g2_typeofderivefcst (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key name based on Table 4.7. More...
     
    subroutine get_g2_typeofensfcst (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key name based on Table 4.6. More...
     
    subroutine get_g2_typeofgenproc (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short key name based on Table 4.3 of Section 4, Octet 12. More...
     
    subroutine get_g2_typeofintervals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of intervals value for a given short key name based on Table 4.91 of Section 4 Octets 14 (template 44) 14 (temp 45), 14 (temp 46), 15 (temp 47),14 and 25 (temp 48) More...
     
    subroutine get_g2_typeoforigfieldvals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.1 Type of Original Field Values for a given short key name based on GRIB2 - Table 5.1. More...
     
    subroutine get_g2_typeofprecip (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of precipitation for a given short key name based on Table 4.201. More...
     
    subroutine get_g2_typeofprob (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of probability for a given short key name based on Table 4.9. More...
     
    subroutine get_g2_typeoftimeintervals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key name based on Table 4.11 of Section 4 Octets 48 (template 8) 61 (temp 9), 49 (temp 10), 51 (temp 11), 50 (temp 12), 82 (temp 13), 78 (tem p 14), 28 (temp 1001), and 40 (temp 1101) More...
     
    subroutine get_g2_unitoftimerange (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given short key name based on Table 4.4 of Section 4, Octet 18. More...
     
    subroutine get_g2_versionno (key, value, ierr)
     This subroutine returns the corresponding GRIB2 version number for a given short key name based on Table 1.0. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Variables

    integer, parameter maxfixedsurfacetypes =200
     Max fixed surface types. More...
     
    integer, parameter maxgenproc =250
     maxgenproc More...
     
    integer, parameter maxlocver =20
     maxlocver More...
     
    integer, parameter maxordofsptdiff =50
     maxordofsptdiff More...
     
    integer, parameter maxorigincenters =500
     maxorigincenters More...
     
    integer, parameter maxprodstatus =17
     maxprodstatus More...
     
    integer, parameter maxreftime =15
     maxreftime More...
     
    integer, parameter maxstatprocesstypes =50
     maxstatprocesstypes More...
     
    integer, parameter maxsubcen =100
     maxsubcen More...
     
    integer, parameter maxtypeofaerosol =200
     maxtypeofaerosol More...
     
    integer, parameter maxtypeofcluster =100
     maxtypeofcluster More...
     
    integer, parameter maxtypeofcompression =50
     maxtypeofcompression More...
     
    integer, parameter maxtypeofdata =100
     maxtypeofdata More...
     
    integer, parameter maxtypeofderivefcst =100
     maxtypeofderivefcst More...
     
    integer, parameter maxtypeofensfcst =100
     maxtypeofensfcst More...
     
    integer, parameter maxtypeofgenproc =100
     maxtypeofgenproc More...
     
    integer, parameter maxtypeofintvls =50
     maxtypeofintvls More...
     
    integer, parameter maxtypeoforigfieldval =15
     maxtypeoforigfieldval More...
     
    integer, parameter maxtypeofpackingmethod =50
     maxtypeofpackingmethod More...
     
    integer, parameter maxtypeofprecip =100
     maxtypeofprecip More...
     
    integer, parameter maxtypeofprob =100
     maxtypeofprob More...
     
    integer, parameter maxtypeoftimeintvls =50
     maxtypeoftimeintvls More...
     
    integer, parameter maxunitoftimerange =30
     maxunitoftimerange More...
     
    integer, parameter maxver =100
     maxver More...
     
    type(origin_centers), dimension(maxorigincenterson388_table0
     ON388 Table. More...
     
    type(gen_proc), dimension(maxgenprocon388_tablea
     ON 388 Table A. More...
     
    type(version_no), dimension(maxvertable1_0
     Table 1 0. More...
     
    type(local_table_vers_no), dimension(maxlocvertable1_1
     Table 1 1. More...
     
    type(sigreftime), dimension(maxreftimetable1_2
     Table 1 2. More...
     
    type(prod_status), dimension(maxprodstatustable1_3
     Table 1 3. More...
     
    type(type_of_data), dimension(maxtypeofdatatable1_4
     table1_4 More...
     
    type(statistical_processing_types), dimension(maxstatprocesstypestable4_10
     table4_10 More...
     
    type(type_of_time_intervals), dimension(maxtypeoftimeintvlstable4_11
     table4_11 More...
     
    type(type_of_precip), dimension(maxtypeofpreciptable4_201
     table4_201 More...
     
    type(type_of_aerosol), dimension(maxtypeofaerosoltable4_233
     table4_233 More...
     
    type(type_of_gen_proc), dimension(maxtypeofgenproctable4_3
     table4_3 More...
     
    type(unit_of_time_range), dimension(maxunitoftimerangetable4_4
     table4_4 More...
     
    type(fixed_surface_types), dimension(maxfixedsurfacetypestable4_5
     table4_5 More...
     
    type(type_of_ens_fcst), dimension(maxtypeofensfcsttable4_6
     table4_6 More...
     
    type(type_of_derive_fcst), dimension(maxtypeofderivefcsttable4_7
     table4_7 More...
     
    type(type_of_cluster), dimension(maxtypeofclustertable4_8
     table4_8 More...
     
    type(type_of_prob), dimension(maxtypeofprobtable4_9
     table4_9 More...
     
    type(type_of_intervals), dimension(maxtypeofintvlstable4_91
     table4_91 More...
     
    type(type_of_packingmethod), dimension(maxtypeofpackingmethodtable5_0
     table5_0 More...
     
    type(type_of_orig_field_vals), dimension(maxtypeoforigfieldvaltable5_1
     table5_1 More...
     
    type(type_of_compression), dimension(maxtypeofcompressiontable5_40
     table5_40 More...
     
    type(order_of_sptdiff_vals), dimension(maxordofsptdifftable5_6
     table5_6 More...
     
    type(subcenters), dimension(maxsubcentablec
     tablec More...
     
    +

    Detailed Description

    +

    Define the variables in the derived data type discipline provided in Section 0.

    +

    +Program History Log

    + + + + + + + + + + + + + + + + + + + + + + + +
    Date Programmer Comments
    12/04/2009 V. Krishna Kumar Creation
    2012/01/25 Jun Wang Add template 4.44 and 4.48
    2012/02/20 Jun Wang Add complex packing
    2014/07/08 Boi Vuong Corrected Scaled value of second fixed surfaces in template 4.8 and Added generating process model HRRR
    2015/01/09 Boi Vuong Added template 4.1, 411 and 4.12 and update code tables routines: get_g2_typeof ensfcst, get_g2_typeofderivefcst
    2015/09/02 Boi Vuong Added 4 type of aerosols in table4_233
    2017/03/01 Boi Vuong Added generating process model (HREF and Great lake short range model in table on388_tablea
    2019/06/25 Boi Vuong Corrected tablec sub-center: Changed name: ncep_hpc to ncep_wpc; ncep_tpc to ncep_nhc; sec - swpc and aded new sub-center: esrl
    2019/06/25 Boi Vuong 17 Added new entries in table4_3,table4_5 and added new table4_8,table4_9,table 4_201 Added generating process model table on388_tablea
    2021/04/20 Boi Vuong Updated table 4.3, 4.5,4.7 and on388_tablea
    +
    Author
    Jun Wang
    +
    Date
    2012/01/25
    +

    Data Type Documentation

    + +

    ◆ grib2_all_tables_module::fixed_surface_types

    + +
    +
    + + + + +
    type grib2_all_tables_module::fixed_surface_types
    +
    +
    +

    Definition at line 293 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +fixedsurfacetypeskey +
    +integer +fixedsurfacetypesval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::gen_proc

    + +
    +
    + + + + +
    type grib2_all_tables_module::gen_proc
    +
    +
    +

    Definition at line 1044 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +genprockey +
    +integer +genprocval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::local_table_vers_no

    + +
    +
    + + + + +
    type grib2_all_tables_module::local_table_vers_no
    +
    +
    +

    Definition at line 144 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +locverskey +
    +integer +locversval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::order_of_sptdiff_vals

    + +
    +
    + + + + +
    type grib2_all_tables_module::order_of_sptdiff_vals
    +
    +
    +

    Definition at line 769 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +ordofsptdiffkey +
    +integer +ordofsptdiffvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::origin_centers

    + +
    +
    + + + + +
    type grib2_all_tables_module::origin_centers
    +
    +
    +

    Definition at line 813 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +origincenterskey +
    +integer +origincentersval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::prod_status

    + +
    +
    + + + + +
    type grib2_all_tables_module::prod_status
    +
    +
    +

    Definition at line 178 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +prodstatuskey +
    +integer +prodstatusval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::sigreftime

    + +
    +
    + + + + +
    type grib2_all_tables_module::sigreftime
    +
    +
    +

    Definition at line 161 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +sigrefkey +
    +integer +sigrefval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::statistical_processing_types

    + +
    +
    + + + + +
    type grib2_all_tables_module::statistical_processing_types
    +
    +
    +

    Definition at line 501 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +statprocesstypeskey +
    +integer +statprocesstypesval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::subcenters

    + +
    +
    + + + + +
    type grib2_all_tables_module::subcenters
    +
    +
    +

    Definition at line 75 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +subcenkey +
    +integer +subcenval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_aerosol

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_aerosol
    +
    +
    +

    Definition at line 611 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofaerosolkey +
    +integer +typeofaerosolval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_cluster

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_cluster
    +
    +
    +

    Definition at line 468 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofclusterkey +
    +integer +typeofclusterval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_compression

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_compression
    +
    +
    +

    Definition at line 781 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofcompressionkey +
    +integer +typeofcompressionvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_data

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_data
    +
    +
    +

    Definition at line 201 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +typeofdatakey +
    +integer +typeofdataval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_derive_fcst

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_derive_fcst
    +
    +
    +

    Definition at line 430 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofderivefcstkey +
    +integer +typeofderivefcstval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_ens_fcst

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_ens_fcst
    +
    +
    +

    Definition at line 414 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofensfcstkey +
    +integer +typeofensfcstval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_gen_proc

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_gen_proc
    +
    +
    +

    Definition at line 222 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +typeofgenprockey +
    +integer +typeofgenprocval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_intervals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_intervals
    +
    +
    +

    Definition at line 564 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofintervalskey +
    +integer +typeofintervalsval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_orig_field_vals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_orig_field_vals
    +
    +
    +

    Definition at line 747 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +integer +typeoforigfieldvals +
    +character(len=50) +typeoforigfieldvalskey +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_packingmethod

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_packingmethod
    +
    +
    +

    Definition at line 793 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +packingmethodkey +
    +integer +packingmethodvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_precip

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_precip
    +
    +
    +

    Definition at line 588 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofprecipkey +
    +integer +typeofprecipval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_prob

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_prob
    +
    +
    +

    Definition at line 482 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofprobkey +
    +integer +typeofprobval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_time_intervals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_time_intervals
    +
    +
    +

    Definition at line 544 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeoftimeintervalskey +
    +integer +typeoftimeintervalsval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::unit_of_time_range

    + +
    +
    + + + + +
    type grib2_all_tables_module::unit_of_time_range
    +
    +
    +

    Definition at line 270 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +unitoftimerangekey +
    +integer +unitoftimerangeval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::version_no

    + +
    +
    + + + + +
    type grib2_all_tables_module::version_no
    +
    +
    +

    Definition at line 104 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +verskey +
    +integer +versval +
    + +
    +
    +

    Function/Subroutine Documentation

    + +

    ◆ g2sec0()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec0 (integer idisc,
    integer, dimension(2) listsec0 
    )
    +
    + +

    This subroutine returns the section 0 list for a given discipline value.

    +
    Parameters
    + + + +
    [in]idisc- GRIB2 Discipline (From Table 0.0)
    [out]listsec0- Section 0
      +
    • listsec0(1) - GRIB2 Discipline (From Table 0.0)
    • +
    • listsec0(2) - Edition number - 2 for GRIB2
    • +
    +
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 1680 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ g2sec1()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec1 (character(len=*) origin_key,
    character(len=*) subcen_key,
    character(len=*) vers_key,
    character(len=*) lvers_key,
    character(len=*) sigreftime_key,
    integer refyear_val,
    integer refmon_val,
    integer refday_val,
    integer refhour_val,
    integer refmin_val,
    integer refsec_val,
    character(len=*) prodstatus_key,
    character(len=*) typeofdata_key,
    integer, dimension(13) listsec1 
    )
    +
    + +

    This subroutine returns the section 1 list for given keys.

    +
    Parameters
    + + + + + + + + + + + + + + + +
    [in]origin_key- Identification of originating/generating center (See Table 0 {GRIB1})
    [in]subcen_key- Identification of originating/generating subcenter (See Table C)
    [in]vers_key- GRIB master tables version number (currently 2) (See Table 1.0) (See note 1 below)
    [in]lvers_key- Version number of GRIB local tables used to augment Master Tables (see Table 1.1)
    [in]sigreftime_key- Significance of reference time (See Table 1.2)
    [in]refyear_val- Year (4 digits)
    [in]refmon_val- Month
    [in]refday_val- Day
    [in]refhour_val- Hour
    [in]refmin_val- Minute
    [in]refsec_val- Second
    [in]prodstatus_key- Production Status of Processed data in the GRIB message (See Table 1.3)
    [in]typeofdata_key- Type of processed data in this GRIB message (See Table 1.4)
    [out]listsec1- GRIB2 Section 1 Identification Section values array
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 1706 of file grib2_all_tables_module.f90.

    + +

    References get_g2_loctabversno(), get_g2_on388origincenters(), get_g2_prodstatus(), get_g2_sigreftime(), get_g2_subcenters(), get_g2_typeofdata(), and get_g2_versionno().

    + +
    +
    + +

    ◆ g2sec4_temp0()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec4_temp0 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    integer(4), dimension(15), intent(inout) ipdstmpl0 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.0 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time.

    +
    Parameters
    + + + + + + + + + + + + + + + + +
    [in]icatg- Parameter category (see Code table 4.1)
    [in]iparm- Parameter number (see Code table 4.2)
    [in]typ_gen_proc_key- Type of generating process (see Code table 4.3)
    [in]gen_proc_or_mod_key- Analysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoff- Hours of observational data cutoff after reference time (see Note)
    [in]min_obs_cutoff- Minutes of observational data cutoff after reference time (see Note)
    [in]unit_of_time_key- Indicator of unit of time range (see Code table 4.4)
    [in]fcst_time- Forecast time in units defined by octet 18
    [in]lvl_type1- Type of first fixed surface (see Code table 4.5)
    [in]scale_fac1- Scale factor of first fixed surface
    [in]scaled_val1- Scaled value of first fixed surface
    [in]lvl_type2- Type of second fixed surfaced (see Code table 4.5)
    [in]scale_fac2- Scale factor of second fixed surface
    [in]scaled_val2- Scaled value of second fixed surfaces
    [out]ipdstmpl0- GRIB2 PDS Template 4.0 listing
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 1770 of file grib2_all_tables_module.f90.

    + +

    References get_g2_fixedsurfacetypes(), get_g2_on388genproc(), get_g2_typeofgenproc(), and get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ g2sec4_temp44()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec4_temp44 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) aer_type,
    character(len=*), intent(in) typ_intvl_size,
    integer(4), intent(in) scale_fac1_size,
    real, intent(in) scale_val1_size,
    integer(4), intent(in) scale_fac2_size,
    real, intent(in) scale_val2_size,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    integer(4), dimension(21), intent(inout) ipdstmpl44 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.44 list for given keys PDT 4.44 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol.

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + +
    [in]icatg- Parameter category (see Code table 4.1)
    [in]iparm- Parameter number (see Code table 4.2)
    [in]aer_type- Aetosol type (see Code table 4.233)
    [in]typ_intvl_size- Type of interval for first and second size (see Code table 4.91)
    [in]scale_fac1_size- Scale factor of first size
    [in]scale_val1_size- Scale value of first size in meters
    [in]scale_fac2_size- Scale factor of second size
    [in]scale_val2_size- Scale value of second size in meters
    [in]typ_gen_proc_key- Type of generating process (see Code table 4.3)
    [in]gen_proc_or_mod_key- Analysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoff- Hours of observational data cutoff after reference time (see Note)
    [in]min_obs_cutoff- Minutes of observational data cutoff after reference time (see Note)
    [in]unit_of_time_key- Indicator of unit of time range (see Code table 4.4)
    [in]fcst_time- Forecast time in units defined by octet 18
    [in]lvl_type1- Type of first fixed surface (see Code table 4.5)
    [in]scale_fac1- Scale factor of first fixed surface
    [in]scaled_val1- Scaled value of first fixed surface
    [in]lvl_type2- Type of second fixed surfaced (see Code table 4.5)
    [in]scale_fac2- Scale factor of second fixed surface
    [in]scaled_val2- Scaled value of second fixed surfaces
    [out]ipdstmpl44- GRIB2 PDS Template 4.44 listing
    +
    +
    +
    Author
    J. WANG ORG: NCEP/EMC
    +
    Date
    2012-01-25
    + +

    Definition at line 1989 of file grib2_all_tables_module.f90.

    + +

    References get_g2_fixedsurfacetypes(), get_g2_on388genproc(), get_g2_typeofaerosol(), get_g2_typeofgenproc(), get_g2_typeofintervals(), and get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ g2sec4_temp48()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec4_temp48 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) aer_type,
    character(len=*), intent(in) typ_intvl_size,
    integer(4), intent(in) scale_fac1_size,
    real, intent(in) scale_val1_size,
    integer(4), intent(in) scale_fac2_size,
    real, intent(in) scale_val2_size,
    character(len=*), intent(in) typ_intvl_wavelength,
    integer(4), intent(in) scale_fac1_wavelength,
    real, intent(in) scale_val1_wavelength,
    integer(4), intent(in) scale_fac2_wavelength,
    real, intent(in) scale_val2_wavelength,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    integer(4), dimension(26), intent(inout) ipdstmpl48 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.48 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol.

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    [in]icatg- Parameter category (see Code table 4.1)
    [in]iparm- Parameter number (see Code table 4.2)
    [in]aer_type- Aetosol type (see Code table 4.233)
    [in]typ_intvl_size- Type of interval for first and second size (see Code table 4.91)
    [in]scale_fac1_size- Scale factor of first size
    [in]scale_val1_size- Scale value of first size in meters
    [in]scale_fac2_size- Scale factor of second size
    [in]scale_val2_size- Scale value of second size in meters
    [in]typ_intvl_wavelength- Type of interval for first and second wavelength (see Code table 4.91)
    [in]scale_fac1_wavelength- Scale factor of first wavelength
    [in]scale_val1_wavelength- Scale value of first wavelength in meters
    [in]scale_fac2_wavelength- Scale factor of second wavelength
    [in]scale_val2_wavelength- Scale value of second wavelength in meters
    [in]typ_gen_proc_key- Type of generating process (see Code table 4.3)
    [in]gen_proc_or_mod_key- Analysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoff- Hours of observational data cutoff after reference time (see Note)
    [in]min_obs_cutoff- Minutes of observational data cutoff after reference time (see Note)
    [in]unit_of_time_key- Indicator of unit of time range (see Code table 4.4)
    [in]fcst_time- Forecast time in units defined by octet 18
    [in]lvl_type1- Type of first fixed surface (see Code table 4.5)
    [in]scale_fac1- Scale factor of first fixed surface
    [in]scaled_val1- Scaled value of first fixed surface
    [in]lvl_type2- Type of second fixed surfaced (see Code table 4.5)
    [in]scale_fac2- Scale factor of second fixed surface
    [in]scaled_val2- Scaled value of second fixed surfaces
    [out]ipdstmpl48- GRIB2 PDS Template 4.48 listing
    +
    +
    +
    Author
    J. WANG ORG: NCEP/EMC
    +
    Date
    2012-01-25
    + +

    Definition at line 2085 of file grib2_all_tables_module.f90.

    + +

    References get_g2_fixedsurfacetypes(), get_g2_on388genproc(), get_g2_typeofaerosol(), get_g2_typeofgenproc(), get_g2_typeofintervals(), and get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ g2sec4_temp8()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec4_temp8 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    integer(4), intent(in) year_intvl,
    integer(4), intent(in) mon_intvl,
    integer(4), intent(in) day_intvl,
    integer(4), intent(in) hour_intvl,
    integer(4), intent(in) min_intvl,
    integer(4), intent(in) sec_intvl,
    integer(4), intent(in) num_time_range,
    integer(4), intent(in) stat_miss_val,
    character(len=*), intent(in) type_of_stat_proc,
    character(len=*), intent(in) type_of_time_inc,
    character(len=*), intent(in) stat_unit_time_key,
    integer(4), intent(in) leng_time_range_stat,
    character(len=*), intent(in) stat_unit_time_key_succ,
    integer(4), intent(in) time_inc_betwn_succ_fld,
    integer(4), dimension(29), intent(inout) ipdstmpl8 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.8 list for given keys PDT 4.8 - Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval.

    +

    PROGRAM HISTORY LOG: 2010-03-01 V. Krishna Kumar 2010-04-20 Jun Wang

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    [in]icatg- Parameter category (see Code Table 4.1)
    [in]iparm- Parameter number (see Code Table 4.2)
    [in]typ_gen_proc_key- Type of generating process (see Code Table 4.3)
    [in]gen_proc_or_mod_key- Analysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoff- Hours after reference time data cutoff (see Note 1)
    [in]min_obs_cutoff- Minutes after reference time data cutoff
    [in]unit_of_time_key- Indicator of unit of time range (see Code Table 4.4)
    [in]fcst_time- Forecast time in units defined by octet 18 (see Note 2)
    [in]lvl_type1- Type of first fixed surface (see Code Table 4.5)
    [in]scale_fac1- Scale factor of first fixed surface
    [in]scaled_val1- Scaled value of first fixed surface
    [in]lvl_type2- Type of second fixed surfaced (see Code Table 4.5)
    [in]scale_fac2- Scale factor of second fixed surface
    [in]scaled_val2- Scaled value of second fixed surfaces
    [in]year_intvl- Year Time of end of overall time interval
    [in]mon_intvl- Month Time of end of overall time interval
    [in]day_intvl- Day Time of end of overall time interval
    [in]hour_intvl- Hour Time of end of overall time interval
    [in]min_intvl- Minute Time of end of overall time interval
    [in]sec_intvl- Second Time of end of overall time interval
    [in]num_time_range- n number of time ranges specifications describing the time intervals used to calculate the statistically-processed field
    [in]stat_miss_val- Total number of data values missing in statistical process Specification of the outermost (or only) time range over which statistical processing is done
    [in]type_of_stat_proc- Statistical process used to calculate the processed field from the field at each time increment during the time range (see Code Table 4.10)
    [in]type_of_time_inc- Type of time increment between successive fields used in the statistical processing (see Code Table 4.11)
    [in]stat_unit_time_key- Indicator of unit of time for time range over which statistical processing is done (see Code Table 4.4)
    [in]leng_time_range_stat- Length of the time range over which statistical processing is done, in units defined by the previous octet
    [in]stat_unit_time_key_succ- Indicator of unit of time for the increment between the successive fields used (see Code table 4.4)
    [in]time_inc_betwn_succ_fld- Time increment between successive fields, in units defined by the previous octet (see Notes 3 & 4)
    [out]ipdstmpl8- GRIB2 PDS Template 4.8 listing
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 1872 of file grib2_all_tables_module.f90.

    + +

    References get_g2_fixedsurfacetypes(), get_g2_on388genproc(), get_g2_statprocesstypes(), get_g2_typeofgenproc(), get_g2_typeoftimeintervals(), and get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ g2sec5_temp0()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec5_temp0 (integer(4), intent(in) dec_scale_fac,
    integer(4), intent(in) bin_scale_fac,
    integer(4), intent(in) tlnumbits,
    integer(4), dimension(5), intent(out) ifield5 
    )
    +
    + +

    This subroutine returns the section 5 list array for a given decimal scale factor (D) and type of original field values (Table 5.1) value from GRIB2 - GRID Template 5.0 Grid point data - simple packing.

    +

    PROGRAM HISTORY LOG: 2010-03-01 V. Krishna Kumar 2012-02-21 J. Wang add binary scale factor and number of bits in argument list

    +
    Parameters
    + + + + + +
    [in]dec_scale_fac- Decimal scale factor (E)
    [in]bin_scale_fac- binary scale factor (D)
    [in]tlnumbits- Number of bits used
    [out]ifield5- GRIB2 - GRID Template 5.0 listing
      +
    • ifield5(1): reference value(R) (IEEE 32-bit floating-point value)
    • +
    • ifield5(2): binary scale factor (E)
    • +
    • ifield5(3): decimal scale factor (D)
    • +
    • ifield5(4): number of bits used for each packed value for simple packing or for each group reference value for complex packing or spatial differencing
    • +
    • ifield5(5): type of original field values (See Code Table 5.1)
    • +
    +
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 2233 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ g2sec5_temp2()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec5_temp2 (integer(4), intent(in) dec_scale_fac,
    integer(4), intent(in) bin_scale_fac,
    integer(4), dimension(16), intent(inout) ifield5 
    )
    +
    + +

    This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.2 Grid point data - complex packing.

    +
    Parameters
    + + + + +
    [in]bin_scale_fac- binary scale factor (E)
    [in]dec_scale_fac- Decimal scale factor (D)
    [out]ifield5- GRIB2 - GRID Template 5.2 listing
      +
    • ifield5(1): reference value(R) (IEEE 32-bit floating-point value)
    • +
    • ifield5(2): binary scale factor (E)
    • +
    • ifield5(3): decimal scale factor (D)
    • +
    • ifield5(4): number of bits used for each packed value for simple packing or for each group reference value for complex packing or spatial differencing
    • +
    +
    +
    +
    +
    Author
    J.Wang ORG: W/EMC
    +
    Date
    2012-02-20
    + +

    Definition at line 2262 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ g2sec5_temp3()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec5_temp3 (integer(4), intent(in) dec_scale_fac,
    integer(4), intent(in) bin_scale_fac,
    character(*), intent(in) order_of_sptdiff,
    integer(4), dimension(18), intent(out) ifield5 
    )
    +
    + +

    This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.3 Grid point data - complex packing with spatial difference.

    +
    Parameters
    + + + + + +
    [in]bin_scale_fac- binary scale factor (E)
    [in]dec_scale_fac- Decimal scale factor (D)
    [in]order_of_sptdiff- Order of spatial difference
    [out]ifield5- GRIB2 - GRID Template 5.3 listing
      +
    • ifield5(1): reference value(R) (IEEE 32-bit floating-point value)
    • +
    • ifield5(2): binary scale factor (E)
    • +
    • ifield5(3): decimal scale factor (D)
    • +
    • ifield5(4): number of bits used for each packed value for simple packing or for each group reference value for complex packing or spatial differencing
    • +
    +
    +
    +
    +
    Author
    J.Wang ORG: W/EMC
    +
    Date
    2012-02-20
    + +

    Definition at line 2292 of file grib2_all_tables_module.f90.

    + +

    References get_g2_ordofspcdiffvals().

    + +
    +
    + +

    ◆ g2sec5_temp40()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec5_temp40 (integer(4), intent(in) dec_scale_fac,
    integer(4), intent(in) bin_scale_fac,
    integer(4), intent(in) tlnumbits,
    character(*), intent(in) type_of_compression,
    integer(4), dimension(7), intent(inout) ifield5 
    )
    +
    + +

    This subroutine returns the section 5 list array for a given decimal scale factor (D),type of original field value (Table 5.40) and type of compression used from GRIB2 - GRID Template 5.40 Grid point data - JPEG 2000 Code Stream Format.

    +

    PROGRAM HISTORY LOG: 2010-03-01 V. Krishna Kumar 2010-04-07 Jun Wang add total number of bits

    +
    Parameters
    + + + + + + +
    [in]dec_scale_fac- Decimal scale factor (D)
    [in]bin_scale_fac- binary scale factor (B)
    [in]tlnumbits- total number of bits
    [in]type_of_compression- Type of original field values (see Code Table 5.40)
    [out]ifield5- GRIB2 - GRID Template 5.40 listing
      +
    • ifield5(1): reference value(R) (IEEE 32-bit floating-point value)
    • +
    • ifield5(2): binary scale factor (E)
    • +
    • ifield5(3): decimal scale factor (D)
    • +
    • ifield5(4): number of bits required to hold the resulting scaled and reference data values (i.e. The depth of the grayscale image.) (see Note 2)
    • +
    • ifield5(5): type of original field values (See Code Table 5.1)
    • +
    • ifield5(6): type of compression used (See Code Table 5.40)
    • +
    • ifield5(7): target compression ration, M:1 (with respect to the bit-depth specified in octet 20), when octet 22 indicates Lossy Compression. Otherwise, set to missing (see Note 3)
    • +
    +
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 2337 of file grib2_all_tables_module.f90.

    + +

    References get_g2_typeofcompression().

    + +
    +
    + +

    ◆ get_g2_fixedsurfacetypes()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_fixedsurfacetypes (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given short key name based on Table 4.5 of Section 4, Octets 23 and 29.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for fixed surface types from Table 4.5
    [out]value- corresponding GRIB2 value from Table 4.5
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1384 of file grib2_all_tables_module.f90.

    + +

    References maxfixedsurfacetypes, and table4_5.

    + +

    Referenced by g2sec4_temp0(), g2sec4_temp1(), g2sec4_temp11(), g2sec4_temp12(), g2sec4_temp44(), g2sec4_temp48(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_loctabversno()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_loctabversno (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 local table version number for a given short key name based on Table 1.1.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for local table version number
    [out]value- corresponding GRIB2 local table version number value from table 1.1
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1237 of file grib2_all_tables_module.f90.

    + +

    References maxlocver, and table1_1.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_on388genproc()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_on388genproc (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) from originating center 7 (USNWS NCEP) for a given short key name based on ON388 - Table A.

    +
    Parameters
    + + + + +
    [in]key- GRIB1 character short key for model based on ON388 - Table A
    [out]value- corresponding GRIB1 - PDS Octet 6 value from ON388 - Table A
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1552 of file grib2_all_tables_module.f90.

    + +

    References maxgenproc, and on388_tablea.

    + +

    Referenced by g2sec4_temp0(), g2sec4_temp1(), g2sec4_temp11(), g2sec4_temp12(), g2sec4_temp44(), g2sec4_temp48(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_on388origincenters()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_on388origincenters (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB1 - PDS Ocet5 GRIB2 - Section 1, Octet 6-7 National/International Originating Centers value for a given short key name based on ON388 - Table 0.

    +
    Parameters
    + + + + +
    [in]key- GRIB1 character short key for originating center based on ON388 - Table 0
    [out]value- corresponding GRIB1-PDS Octet 5/GRIB2-Section 1, Octets 6-7 value from ON388 - Table 0
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1527 of file grib2_all_tables_module.f90.

    + +

    References maxorigincenters, and on388_table0.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_ordofspcdiffvals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_ordofspcdiffvals (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Table 5.6 Order of spatial differencing for a given short key name based on GRIB2 - Table 5.6 default is 1st order spatial differencing.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for Order of spatial differencing based on Table 5.6
    [out]value- corresponding GRIB2 - Table 5.6 value
    [out]ierr- error messages
    +
    +
    +
    Author
    J.Wang ORG: NCEP/EMC
    +
    Date
    2012-02-20
    + +

    Definition at line 1602 of file grib2_all_tables_module.f90.

    + +

    References maxordofsptdiff, and table5_6.

    + +

    Referenced by g2sec5_temp3().

    + +
    +
    + +

    ◆ get_g2_prodstatus()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_prodstatus (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 production status of data value for a given short key name based on Table 1.3.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for production status of data
    [out]value- corresponding GRIB2 significant value from table 1.3
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1286 of file grib2_all_tables_module.f90.

    + +

    References maxprodstatus, and table1_3.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_sec5packingmethod()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_sec5packingmethod (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 template number for a given short key name based on GRIB2 -.

    +

    PROGRAM HISTORY LOG: 2009-12-10 V. Krishna Kumar 2010-03-15 Jun Wang : get section5 template number

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for packing method based on Table 5.0
    [out]value- corresponding GRIB2 - Table 5.0 value
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-08
    + +

    Definition at line 1655 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofpackingmethod, and table5_0.

    + +
    +
    + +

    ◆ get_g2_sigreftime()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_sigreftime (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 significant reference time value for a given short key name based on Table 1.2.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for significant reference time
    [out]value- corresponding GRIB2 significant value from table 1.2
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1261 of file grib2_all_tables_module.f90.

    + +

    References maxreftime, and table1_2.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_statprocesstypes()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_statprocesstypes (character(len=*), intent(in) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given short key name based on Table 4.10 of Section 4 Octets 47 (template 8) 60 (temp 9), 48 (temp 10), 50 (temp 11), 49 (temp 12), 81 (temp 13), 77 (temp 14), 27 (temp 1001), 25 (temp 1002) and 39 (temp 1101)

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of statistical processing from Table 4.10
    [out]value- corresponding GRIB2 value from Table 4.10
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1413 of file grib2_all_tables_module.f90.

    + +

    References maxstatprocesstypes, and table4_10.

    + +

    Referenced by g2sec4_temp11(), g2sec4_temp12(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_subcenters()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_subcenters (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 subcenters value for a given short key name based on Table C.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for subcenter
    [out]value- corresponding GRIB2 subcenter value from table c
    [out]ierr- Error return code.
      +
    • 0 = no error
    • +
    • 9 = key not found
    • +
    +
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1189 of file grib2_all_tables_module.f90.

    + +

    References maxsubcen, and tablec.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_typeofaerosol()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofaerosol (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of aerosol value for a given short key name based on Table 4.233 of Section 4 Octets 12-13 (template 44), 12-13 (temp 45), 12-13 (temp 46), 13-14 (temp 47), 12-13 (temp 48)

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of aerosol from Table 4.233
    [out]value- corresponding GRIB2 value from Table 4.233
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-04-03
    + +

    Definition at line 1497 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofaerosol, and table4_233.

    + +

    Referenced by g2sec4_temp44(), and g2sec4_temp48().

    + +
    +
    + +

    ◆ get_g2_typeofcluster()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofcluster (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of clustering method for a given short key name based on Table 4.8.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of clustering method
    [out]value- corresponding GRIB2 type of cluster value from table 4.8
    [out]ierr- error messages
    +
    +
    +
    Author
    Boi Vuong ORG: EMC/EIB
    +
    Date
    2019-07-01
    + +

    Definition at line 2373 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofcluster, and table4_8.

    + +
    +
    + +

    ◆ get_g2_typeofcompression()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofcompression (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Table 5.40 Type of compression for a given short key name based on GRIB2 - Table 5.40.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of compression based on Table 5.40
    [out]value- corresponding GRIB2 - Table 5.40 value
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-08
    + +

    Definition at line 1627 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofcompression, and table5_40.

    + +

    Referenced by g2sec5_temp40().

    + +
    +
    + +

    ◆ get_g2_typeofdata()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofdata (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of data value for a given short key name based on Table 1.4.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for production status of data
    [out]value- corresponding GRIB2 type of data value from table 1.4
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1310 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofdata, and table1_4.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_typeofderivefcst()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofderivefcst (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key name based on Table 4.7.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of derive forecast
    [out]value- corresponding GRIB2 type of derive forecast value from table 4.7
    [out]ierr- error messages
    +
    +
    +
    Author
    Boi Vuong ORG: W/SIB
    +
    Date
    2015-01-09
    + +

    Definition at line 2196 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofderivefcst, and table4_7.

    + +

    Referenced by g2sec4_temp12().

    + +
    +
    + +

    ◆ get_g2_typeofensfcst()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofensfcst (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key name based on Table 4.6.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of ensemble forecast
    [out]value- corresponding GRIB2 type of ensemble forecast value from table 4.6
    [out]ierr- error messages
    +
    +
    +
    Author
    Boi Vuong ORG: W/SIB
    +
    Date
    2015-01-09
    + +

    Definition at line 2172 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofensfcst, and table4_6.

    + +

    Referenced by g2sec4_temp1(), and g2sec4_temp11().

    + +
    +
    + +

    ◆ get_g2_typeofgenproc()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofgenproc (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short key name based on Table 4.3 of Section 4, Octet 12.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of generating process from Table 4.3
    [out]value- corresponding GRIB2 value from Table 4.3
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1334 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofgenproc, and table4_3.

    + +

    Referenced by g2sec4_temp0(), g2sec4_temp1(), g2sec4_temp11(), g2sec4_temp12(), g2sec4_temp44(), g2sec4_temp48(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_typeofintervals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofintervals (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of intervals value for a given short key name based on Table 4.91 of Section 4 Octets 14 (template 44) 14 (temp 45), 14 (temp 46), 15 (temp 47),14 and 25 (temp 48)

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of intervals from Table 4.91
    [out]value- corresponding GRIB2 value from Table 4.91
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-04-03
    + +

    Definition at line 1466 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofintvls, and table4_91.

    + +

    Referenced by g2sec4_temp44(), and g2sec4_temp48().

    + +
    +
    + +

    ◆ get_g2_typeoforigfieldvals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeoforigfieldvals (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Table 5.1 Type of Original Field Values for a given short key name based on GRIB2 - Table 5.1.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of original field values based on Table 5.1
    [out]value- corresponding GRIB2 - Table 5.1 value
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-08
    + +

    Definition at line 1576 of file grib2_all_tables_module.f90.

    + +

    References maxtypeoforigfieldval, and table5_1.

    + +
    +
    + +

    ◆ get_g2_typeofprecip()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofprecip (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of precipitation for a given short key name based on Table 4.201.

    +
    Parameters
    + + + + +
    [in]keyGRIB2 character short key for type of precipitation
    [out]valuecorresponding GRIB2 type of precipitation value from table 4.201
    [out]ierrerror messages
    +
    +
    +
    Author
    Boi Vuong
    +
    Date
    2019-07-01
    + +

    Definition at line 2421 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofprecip, and table4_201.

    + +
    +
    + +

    ◆ get_g2_typeofprob()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofprob (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of probability for a given short key name based on Table 4.9.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of probability
    [out]value- corresponding GRIB2 type of probability value from table 4.9
    [out]ierr- error messages
    +
    +
    +
    Author
    Boi Vuong ORG: EMC/EIB
    +
    Date
    2019-07-01
    + +

    Definition at line 2397 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofprob, and table4_9.

    + +
    +
    + +

    ◆ get_g2_typeoftimeintervals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeoftimeintervals (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key name based on Table 4.11 of Section 4 Octets 48 (template 8) 61 (temp 9), 49 (temp 10), 51 (temp 11), 50 (temp 12), 82 (temp 13), 78 (tem p 14), 28 (temp 1001), and 40 (temp 1101)

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of statistical processing from Table 4.11
    [out]value- corresponding GRIB2 value from Table 4.11
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-04-03
    + +

    Definition at line 1441 of file grib2_all_tables_module.f90.

    + +

    References maxtypeoftimeintvls, and table4_11.

    + +

    Referenced by g2sec4_temp11(), g2sec4_temp12(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_unitoftimerange()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_unitoftimerange (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given short key name based on Table 4.4 of Section 4, Octet 18.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for indicator of unit of time range from Table 4.4
    [out]value- corresponding GRIB2 value from Table 4.4
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1358 of file grib2_all_tables_module.f90.

    + +

    References maxunitoftimerange, and table4_4.

    + +

    Referenced by g2sec4_temp0(), g2sec4_temp1(), g2sec4_temp11(), g2sec4_temp12(), g2sec4_temp44(), g2sec4_temp48(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_versionno()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_versionno (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 version number for a given short key name based on Table 1.0.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for version number
    [out]value- corresponding GRIB2 version number value from table 1.0
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1213 of file grib2_all_tables_module.f90.

    + +

    References maxver, and table1_0.

    + +

    Referenced by g2sec1().

    + +
    +
    +

    Variable Documentation

    + +

    ◆ maxfixedsurfacetypes

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxfixedsurfacetypes =200
    +
    + +

    Max fixed surface types.

    + +

    Definition at line 45 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_fixedsurfacetypes().

    + +
    +
    + +

    ◆ maxgenproc

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxgenproc =250
    +
    + +

    maxgenproc

    + +

    Definition at line 49 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_on388genproc().

    + +
    +
    + +

    ◆ maxlocver

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxlocver =20
    +
    + +

    maxlocver

    + +

    Definition at line 31 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_loctabversno().

    + +
    +
    + +

    ◆ maxordofsptdiff

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxordofsptdiff =50
    +
    + +

    maxordofsptdiff

    + +

    Definition at line 73 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_ordofspcdiffvals().

    + +
    +
    + +

    ◆ maxorigincenters

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxorigincenters =500
    +
    + +

    maxorigincenters

    + +

    Definition at line 51 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_on388origincenters().

    + +
    +
    + +

    ◆ maxprodstatus

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxprodstatus =17
    +
    + +

    maxprodstatus

    + +

    Definition at line 35 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_prodstatus().

    + +
    +
    + +

    ◆ maxreftime

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxreftime =15
    +
    + +

    maxreftime

    + +

    Definition at line 33 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_sigreftime().

    + +
    +
    + +

    ◆ maxstatprocesstypes

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxstatprocesstypes =50
    +
    + +

    maxstatprocesstypes

    + +

    Definition at line 59 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_statprocesstypes().

    + +
    +
    + +

    ◆ maxsubcen

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxsubcen =100
    +
    + +

    maxsubcen

    + +

    Definition at line 27 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_subcenters().

    + +
    +
    + +

    ◆ maxtypeofaerosol

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofaerosol =200
    +
    + +

    maxtypeofaerosol

    + +

    Definition at line 69 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofaerosol().

    + +
    +
    + +

    ◆ maxtypeofcluster

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofcluster =100
    +
    + +

    maxtypeofcluster

    + +

    Definition at line 67 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofcluster().

    + +
    +
    + +

    ◆ maxtypeofcompression

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofcompression =50
    +
    + +

    maxtypeofcompression

    + +

    Definition at line 55 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofcompression().

    + +
    +
    + +

    ◆ maxtypeofdata

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofdata =100
    +
    + +

    maxtypeofdata

    + +

    Definition at line 37 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofdata().

    + +
    +
    + +

    ◆ maxtypeofderivefcst

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofderivefcst =100
    +
    + +

    maxtypeofderivefcst

    + +

    Definition at line 43 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofderivefcst().

    + +
    +
    + +

    ◆ maxtypeofensfcst

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofensfcst =100
    +
    + +

    maxtypeofensfcst

    + +

    Definition at line 41 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofensfcst().

    + +
    +
    + +

    ◆ maxtypeofgenproc

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofgenproc =100
    +
    + +

    maxtypeofgenproc

    + +

    Definition at line 39 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofgenproc().

    + +
    +
    + +

    ◆ maxtypeofintvls

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofintvls =50
    +
    + +

    maxtypeofintvls

    + +

    Definition at line 71 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofintervals().

    + +
    +
    + +

    ◆ maxtypeoforigfieldval

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeoforigfieldval =15
    +
    + +

    maxtypeoforigfieldval

    + +

    Definition at line 53 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeoforigfieldvals().

    + +
    +
    + +

    ◆ maxtypeofpackingmethod

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofpackingmethod =50
    +
    + +

    maxtypeofpackingmethod

    + +

    Definition at line 57 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_sec5packingmethod().

    + +
    +
    + +

    ◆ maxtypeofprecip

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofprecip =100
    +
    + +

    maxtypeofprecip

    + +

    Definition at line 65 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofprecip().

    + +
    +
    + +

    ◆ maxtypeofprob

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofprob =100
    +
    + +

    maxtypeofprob

    + +

    Definition at line 63 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofprob().

    + +
    +
    + +

    ◆ maxtypeoftimeintvls

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeoftimeintvls =50
    +
    + +

    maxtypeoftimeintvls

    + +

    Definition at line 61 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeoftimeintervals().

    + +
    +
    + +

    ◆ maxunitoftimerange

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxunitoftimerange =30
    +
    + +

    maxunitoftimerange

    + +

    Definition at line 47 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ maxver

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxver =100
    +
    + +

    maxver

    + +

    Definition at line 29 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_versionno().

    + +
    +
    + +

    ◆ on388_table0

    + +
    +
    + + + + +
    type(origin_centers), dimension(maxorigincenters) grib2_all_tables_module::on388_table0
    +
    + +

    ON388 Table.

    + +

    Definition at line 819 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_on388origincenters().

    + +
    +
    + +

    ◆ on388_tablea

    + +
    +
    + + + + +
    type(gen_proc), dimension(maxgenproc) grib2_all_tables_module::on388_tablea
    +
    + +

    ON 388 Table A.

    + +

    Definition at line 1050 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_on388genproc().

    + +
    +
    + +

    ◆ table1_0

    + +
    +
    + + + + +
    type(version_no), dimension(maxver) grib2_all_tables_module::table1_0
    +
    + +

    Table 1 0.

    + +

    Definition at line 110 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_versionno().

    + +
    +
    + +

    ◆ table1_1

    + +
    +
    + + + + +
    type(local_table_vers_no), dimension(maxlocver) grib2_all_tables_module::table1_1
    +
    + +

    Table 1 1.

    + +

    Definition at line 150 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_loctabversno().

    + +
    +
    + +

    ◆ table1_2

    + +
    +
    + + + + +
    type(sigreftime), dimension(maxreftime) grib2_all_tables_module::table1_2
    +
    + +

    Table 1 2.

    + +

    Definition at line 169 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_sigreftime().

    + +
    +
    + +

    ◆ table1_3

    + +
    +
    + + + + +
    type(prod_status), dimension(maxprodstatus) grib2_all_tables_module::table1_3
    +
    + +

    Table 1 3.

    + +

    Definition at line 186 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_prodstatus().

    + +
    +
    + +

    ◆ table1_4

    + +
    +
    + + + + +
    type(type_of_data), dimension(maxtypeofdata) grib2_all_tables_module::table1_4
    +
    + +

    table1_4

    + +

    Definition at line 207 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofdata().

    + +
    +
    + +

    ◆ table4_10

    + +
    +
    + + + + +
    type(statistical_processing_types), dimension(maxstatprocesstypes) grib2_all_tables_module::table4_10
    +
    + +

    table4_10

    + +

    Definition at line 507 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_statprocesstypes().

    + +
    +
    + +

    ◆ table4_11

    + +
    +
    + + + + +
    type(type_of_time_intervals), dimension(maxtypeoftimeintvls) grib2_all_tables_module::table4_11
    +
    + +

    table4_11

    + +

    Definition at line 550 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeoftimeintervals().

    + +
    +
    + +

    ◆ table4_201

    + +
    +
    + + + + +
    type(type_of_precip), dimension(maxtypeofprecip) grib2_all_tables_module::table4_201
    +
    + +

    table4_201

    + +

    Definition at line 594 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofprecip().

    + +
    +
    + +

    ◆ table4_233

    + +
    +
    + + + + +
    type(type_of_aerosol), dimension(maxtypeofaerosol) grib2_all_tables_module::table4_233
    +
    + +

    table4_233

    + +

    Definition at line 617 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofaerosol().

    + +
    +
    + +

    ◆ table4_3

    + +
    +
    + + + + +
    type(type_of_gen_proc), dimension(maxtypeofgenproc) grib2_all_tables_module::table4_3
    +
    + +

    table4_3

    + +

    Definition at line 231 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofgenproc().

    + +
    +
    + +

    ◆ table4_4

    + +
    +
    + + + + +
    type(unit_of_time_range), dimension(maxunitoftimerange) grib2_all_tables_module::table4_4
    +
    + +

    table4_4

    + +

    Definition at line 276 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ table4_5

    + +
    +
    + + + + +
    type(fixed_surface_types), dimension(maxfixedsurfacetypes) grib2_all_tables_module::table4_5
    +
    + +

    table4_5

    + +

    Definition at line 299 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_fixedsurfacetypes().

    + +
    +
    + +

    ◆ table4_6

    + +
    +
    + + + + +
    type(type_of_ens_fcst), dimension(maxtypeofensfcst) grib2_all_tables_module::table4_6
    +
    + +

    table4_6

    + +

    Definition at line 420 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofensfcst().

    + +
    +
    + +

    ◆ table4_7

    + +
    +
    + + + + +
    type(type_of_derive_fcst), dimension(maxtypeofderivefcst) grib2_all_tables_module::table4_7
    +
    + +

    table4_7

    + +

    Definition at line 436 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofderivefcst().

    + +
    +
    + +

    ◆ table4_8

    + +
    +
    + + + + +
    type(type_of_cluster), dimension(maxtypeofcluster) grib2_all_tables_module::table4_8
    +
    + +

    table4_8

    + +

    Definition at line 474 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofcluster().

    + +
    +
    + +

    ◆ table4_9

    + +
    +
    + + + + +
    type(type_of_prob), dimension(maxtypeofprob) grib2_all_tables_module::table4_9
    +
    + +

    table4_9

    + +

    Definition at line 488 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofprob().

    + +
    +
    + +

    ◆ table4_91

    + +
    +
    + + + + +
    type(type_of_intervals), dimension(maxtypeofintvls) grib2_all_tables_module::table4_91
    +
    + +

    table4_91

    + +

    Definition at line 570 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofintervals().

    + +
    +
    + +

    ◆ table5_0

    + +
    +
    + + + + +
    type(type_of_packingmethod), dimension(maxtypeofpackingmethod) grib2_all_tables_module::table5_0
    +
    + +

    table5_0

    + +

    Definition at line 799 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_sec5packingmethod().

    + +
    +
    + +

    ◆ table5_1

    + +
    +
    + + + + +
    type(type_of_orig_field_vals), dimension(maxtypeoforigfieldval) grib2_all_tables_module::table5_1
    +
    + +

    table5_1

    + +

    Definition at line 753 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeoforigfieldvals().

    + +
    +
    + +

    ◆ table5_40

    + +
    +
    + + + + +
    type(type_of_compression), dimension(maxtypeofcompression) grib2_all_tables_module::table5_40
    +
    + +

    table5_40

    + +

    Definition at line 787 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofcompression().

    + +
    +
    + +

    ◆ table5_6

    + +
    +
    + + + + +
    type(order_of_sptdiff_vals), dimension(maxordofsptdiff) grib2_all_tables_module::table5_6
    +
    + +

    table5_6

    + +

    Definition at line 775 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_ordofspcdiffvals().

    + +
    +
    + +

    ◆ tablec

    + +
    +
    + + + + +
    type(subcenters), dimension(maxsubcen) grib2_all_tables_module::tablec
    +
    + +

    tablec

    + +

    Definition at line 81 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_subcenters().

    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/namespacegrib2__all__tables__module.js b/ver-1.10.0/namespacegrib2__all__tables__module.js new file mode 100644 index 0000000..570a4d6 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module.js @@ -0,0 +1,109 @@ +var namespacegrib2__all__tables__module = +[ + [ "fixed_surface_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1fixed__surface__types", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup" ], + [ "gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1gen__proc", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup" ], + [ "local_table_vers_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1local__table__vers__no", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup" ], + [ "order_of_sptdiff_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1order__of__sptdiff__vals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup" ], + [ "origin_centers", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1origin__centers", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup" ], + [ "prod_status", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1prod__status", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup" ], + [ "sigreftime", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1sigreftime", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup" ], + [ "statistical_processing_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1statistical__processing__types", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup" ], + [ "subcenters", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1subcenters", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup" ], + [ "type_of_aerosol", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__aerosol", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup" ], + [ "type_of_cluster", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__cluster", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup" ], + [ "type_of_compression", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__compression", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup" ], + [ "type_of_data", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__data", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup" ], + [ "type_of_derive_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__derive__fcst", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup" ], + [ "type_of_ens_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__ens__fcst", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup" ], + [ "type_of_gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__gen__proc", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup" ], + [ "type_of_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__intervals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup" ], + [ "type_of_orig_field_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__orig__field__vals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup" ], + [ "type_of_packingmethod", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__packingmethod", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup" ], + [ "type_of_precip", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__precip", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup" ], + [ "type_of_prob", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__prob", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup" ], + [ "type_of_time_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__time__intervals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup" ], + [ "unit_of_time_range", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1unit__of__time__range", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup" ], + [ "version_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1version__no", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup" ], + [ "g2sec0", "namespacegrib2__all__tables__module.html#a95104687814c91720bf13d9c736adc53", null ], + [ "g2sec1", "namespacegrib2__all__tables__module.html#a0b34a4a08b7ee738b5059ed7d82873aa", null ], + [ "g2sec4_temp0", "namespacegrib2__all__tables__module.html#a9ed56310c55ea4bd91b46dae062ff315", null ], + [ "g2sec4_temp44", "namespacegrib2__all__tables__module.html#a9b4376b4abe34c007f575b8e544d3ba0", null ], + [ "g2sec4_temp48", "namespacegrib2__all__tables__module.html#a7e3b1ffda5f0a1234a39425a26d81b1d", null ], + [ "g2sec4_temp8", "namespacegrib2__all__tables__module.html#ad54b7e506841ab1d50bf89b39334430b", null ], + [ "g2sec5_temp0", "namespacegrib2__all__tables__module.html#ac71701de1f47f704dbdfb648fac19530", null ], + [ "g2sec5_temp2", "namespacegrib2__all__tables__module.html#abb9391b2ef03d619ffbb1eca9b55c664", null ], + [ "g2sec5_temp3", "namespacegrib2__all__tables__module.html#a02a58228da00cef6e052ac936b748263", null ], + [ "g2sec5_temp40", "namespacegrib2__all__tables__module.html#ac39a4db701fd56e63b2285713514fa76", null ], + [ "get_g2_fixedsurfacetypes", "namespacegrib2__all__tables__module.html#a3280b3edfc4db22a8c373662eca30b09", null ], + [ "get_g2_loctabversno", "namespacegrib2__all__tables__module.html#afcf3af13d5b9fa044b59da7ce51fab05", null ], + [ "get_g2_on388genproc", "namespacegrib2__all__tables__module.html#a01337aa68ede1097c736270824bffaba", null ], + [ "get_g2_on388origincenters", "namespacegrib2__all__tables__module.html#afcfd6b66a7eb88a71aee08ba63dfceba", null ], + [ "get_g2_ordofspcdiffvals", "namespacegrib2__all__tables__module.html#a306f773232def462c9dcc84b7612b739", null ], + [ "get_g2_prodstatus", "namespacegrib2__all__tables__module.html#ad34c2c50271cf55e57323fa82f12e79d", null ], + [ "get_g2_sec5packingmethod", "namespacegrib2__all__tables__module.html#af03e78d303af639b0311e96be2bc37d2", null ], + [ "get_g2_sigreftime", "namespacegrib2__all__tables__module.html#a1646f06c31a03be74a992a1de60469cf", null ], + [ "get_g2_statprocesstypes", "namespacegrib2__all__tables__module.html#a5184d4968a27f1a349608befd735533b", null ], + [ "get_g2_subcenters", "namespacegrib2__all__tables__module.html#a10947b2b8e872e5090def0a3f4e1e805", null ], + [ "get_g2_typeofaerosol", "namespacegrib2__all__tables__module.html#ad6f79e466077e8b6de6b501796c5f337", null ], + [ "get_g2_typeofcluster", "namespacegrib2__all__tables__module.html#a6dba348a5bddc07edf405d704d3bc7eb", null ], + [ "get_g2_typeofcompression", "namespacegrib2__all__tables__module.html#a7e4a12abeae82a4605cb60e68af24607", null ], + [ "get_g2_typeofdata", "namespacegrib2__all__tables__module.html#a4158dad47c775d41196cde17ee5ac293", null ], + [ "get_g2_typeofderivefcst", "namespacegrib2__all__tables__module.html#a290de96fd327fec7812b0d6e67cbcdf0", null ], + [ "get_g2_typeofensfcst", "namespacegrib2__all__tables__module.html#ae99e018c07efce0a8e50c56bf14da061", null ], + [ "get_g2_typeofgenproc", "namespacegrib2__all__tables__module.html#a0c2824e1961b2089872d885b98662e18", null ], + [ "get_g2_typeofintervals", "namespacegrib2__all__tables__module.html#a88838d93235dbb3dc82f45f2edcae606", null ], + [ "get_g2_typeoforigfieldvals", "namespacegrib2__all__tables__module.html#a43aafb243c395268f5cb8df0d743a9c3", null ], + [ "get_g2_typeofprecip", "namespacegrib2__all__tables__module.html#ace5972d1da91bd26615fc8257bdcaf99", null ], + [ "get_g2_typeofprob", "namespacegrib2__all__tables__module.html#aff9b7991a49d567d87672efcbd400cbf", null ], + [ "get_g2_typeoftimeintervals", "namespacegrib2__all__tables__module.html#a0d31ea8d64a7ad96a63f0899b82873c2", null ], + [ "get_g2_unitoftimerange", "namespacegrib2__all__tables__module.html#a93e13a2e958855047bb2132d35cd514d", null ], + [ "get_g2_versionno", "namespacegrib2__all__tables__module.html#ac6c81587f672224e2521124253a1293f", null ], + [ "maxfixedsurfacetypes", "namespacegrib2__all__tables__module.html#a4ab70056e9bf310f7d5d2b2d45e5c4b2", null ], + [ "maxgenproc", "namespacegrib2__all__tables__module.html#ab5cda0077cff603a0fcd20caa2e6c390", null ], + [ "maxlocver", "namespacegrib2__all__tables__module.html#a9fee5632dc49831859167989a8ca4ce6", null ], + [ "maxordofsptdiff", "namespacegrib2__all__tables__module.html#a9abd2f78e88f78133c56835d5191b841", null ], + [ "maxorigincenters", "namespacegrib2__all__tables__module.html#a9b2c442c46296e136cc9719ad36cb659", null ], + [ "maxprodstatus", "namespacegrib2__all__tables__module.html#a864bb3fdc242e97a3d65e6c5aaea7ce7", null ], + [ "maxreftime", "namespacegrib2__all__tables__module.html#a281fe6da658210d003986df44df08e88", null ], + [ "maxstatprocesstypes", "namespacegrib2__all__tables__module.html#ab3f23e6ff1eda90ec0d91c47b17bd918", null ], + [ "maxsubcen", "namespacegrib2__all__tables__module.html#a99c672fa099fee4e3094866899b3f8a7", null ], + [ "maxtypeofaerosol", "namespacegrib2__all__tables__module.html#aa77c7e55b75e808ebdceaa9e96d4fbe1", null ], + [ "maxtypeofcluster", "namespacegrib2__all__tables__module.html#acd11ade3f4e066846232c3b710735f8b", null ], + [ "maxtypeofcompression", "namespacegrib2__all__tables__module.html#a8780fc8d2318ee55f40964c55fb091dd", null ], + [ "maxtypeofdata", "namespacegrib2__all__tables__module.html#a81ccb544acc1d5538c77266dd34bc164", null ], + [ "maxtypeofderivefcst", "namespacegrib2__all__tables__module.html#a6f56515e50913f3536de65b61e43380d", null ], + [ "maxtypeofensfcst", "namespacegrib2__all__tables__module.html#afb0d64858b6ad99180444d4e8acb8242", null ], + [ "maxtypeofgenproc", "namespacegrib2__all__tables__module.html#ade3feb65c9d876ccdb9ef9eb3fe6fe8c", null ], + [ "maxtypeofintvls", "namespacegrib2__all__tables__module.html#aca61468245a26920e49aa4737c49f5fc", null ], + [ "maxtypeoforigfieldval", "namespacegrib2__all__tables__module.html#ac2e82e3ac9340c791f0f5a857e014e42", null ], + [ "maxtypeofpackingmethod", "namespacegrib2__all__tables__module.html#a6333d3f9dd9e8c051adb8d6ed31ba725", null ], + [ "maxtypeofprecip", "namespacegrib2__all__tables__module.html#a35628986ad32176299922fc7368409fa", null ], + [ "maxtypeofprob", "namespacegrib2__all__tables__module.html#aee1aa2e215b18e9cb55dcb20d31d9e86", null ], + [ "maxtypeoftimeintvls", "namespacegrib2__all__tables__module.html#a42f4964f39d1196a57c4394a271cc997", null ], + [ "maxunitoftimerange", "namespacegrib2__all__tables__module.html#adf11dd0546c0c874f193397496fe5191", null ], + [ "maxver", "namespacegrib2__all__tables__module.html#a7e3b3e88230076d60f152bd30ec7d3de", null ], + [ "on388_table0", "namespacegrib2__all__tables__module.html#ae3fa05187c1c3555612c74fb2beac9f7", null ], + [ "on388_tablea", "namespacegrib2__all__tables__module.html#a95e75d17a9843e5eadc41d60fb3f641a", null ], + [ "table1_0", "namespacegrib2__all__tables__module.html#ab8b7e39ae67d6ab3b4777541f78b245b", null ], + [ "table1_1", "namespacegrib2__all__tables__module.html#a48024af6b6986da2cd96d71c07519d68", null ], + [ "table1_2", "namespacegrib2__all__tables__module.html#ac2c1862104e1028e45499d196db293b2", null ], + [ "table1_3", "namespacegrib2__all__tables__module.html#a0772a2b23a8acc63d2f50379fef133ab", null ], + [ "table1_4", "namespacegrib2__all__tables__module.html#a77815af9e185c6dfa687acf0f5a3d8be", null ], + [ "table4_10", "namespacegrib2__all__tables__module.html#aff2b3835d1dc9289cbc743538f7e32d1", null ], + [ "table4_11", "namespacegrib2__all__tables__module.html#a1a9865342aa9362d62bd51e4fe03ea98", null ], + [ "table4_201", "namespacegrib2__all__tables__module.html#a4d8c0ab7d90e16ba1e7ba2fafb7e645d", null ], + [ "table4_233", "namespacegrib2__all__tables__module.html#a2dcfacd3fd77925c376c552399c30c14", null ], + [ "table4_3", "namespacegrib2__all__tables__module.html#a0c7692a08f88aa0e8d01a17bf029c702", null ], + [ "table4_4", "namespacegrib2__all__tables__module.html#acb8905414d65ea7198680280422781cf", null ], + [ "table4_5", "namespacegrib2__all__tables__module.html#aca9caa7edc2eb9c536751beb619ec7b2", null ], + [ "table4_6", "namespacegrib2__all__tables__module.html#a892a919ce9a9004401956189bda9228f", null ], + [ "table4_7", "namespacegrib2__all__tables__module.html#a3bc05af06028e90565b0403da1f27dd5", null ], + [ "table4_8", "namespacegrib2__all__tables__module.html#adc67dae3300336b4054a18a28dd387c4", null ], + [ "table4_9", "namespacegrib2__all__tables__module.html#a43fd72d4b1c07b3c945d2d950d1b3b7f", null ], + [ "table4_91", "namespacegrib2__all__tables__module.html#a914b8271dbe73018f9b45831a2f56c60", null ], + [ "table5_0", "namespacegrib2__all__tables__module.html#a63cbd073a2f47ffd034eb0fa92539228", null ], + [ "table5_1", "namespacegrib2__all__tables__module.html#a544179854d04ab2039cfb2bd5c42320a", null ], + [ "table5_40", "namespacegrib2__all__tables__module.html#a4390b46591268745d08b7250aaa62eeb", null ], + [ "table5_6", "namespacegrib2__all__tables__module.html#a0be606501cd5ef071762d41582162167", null ], + [ "tablec", "namespacegrib2__all__tables__module.html#a112a173dcef23d668ff230c27ec9b727", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup.js new file mode 100644 index 0000000..34081ff --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup = +[ + [ "fixedsurfacetypeskey", "namespacegrib2__all__tables__module.html#ad710af69496d31e208df4283b6a27e05", null ], + [ "fixedsurfacetypesval", "namespacegrib2__all__tables__module.html#a3dfe0a772f741883bfd2942328b6d1ba", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup.js new file mode 100644 index 0000000..a91f13e --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup = +[ + [ "genprockey", "namespacegrib2__all__tables__module.html#a3a73bdbc23082a5b51ba3acfc151e02c", null ], + [ "genprocval", "namespacegrib2__all__tables__module.html#a3d070ceb2bc9a4d6259530b5bd19125c", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup.js new file mode 100644 index 0000000..0c002e6 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup = +[ + [ "locverskey", "namespacegrib2__all__tables__module.html#ac7c23d737c399a0cf91d825a1b7105b8", null ], + [ "locversval", "namespacegrib2__all__tables__module.html#ac506ecea79c0712525cd55624312608f", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup.js new file mode 100644 index 0000000..b72f391 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup = +[ + [ "ordofsptdiffkey", "namespacegrib2__all__tables__module.html#a78d47b642803810f7b2b5ac417fb2c9b", null ], + [ "ordofsptdiffvals", "namespacegrib2__all__tables__module.html#a06c126f5c8d8ea181d2eea821a71fb82", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup.js new file mode 100644 index 0000000..4b12a85 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup = +[ + [ "origincenterskey", "namespacegrib2__all__tables__module.html#a00d0956429433167cd5a4d8059aaa318", null ], + [ "origincentersval", "namespacegrib2__all__tables__module.html#a6c167e9d1022898279d1d204864bb54d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup.js new file mode 100644 index 0000000..c8e8a65 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup = +[ + [ "prodstatuskey", "namespacegrib2__all__tables__module.html#a25925706e0342beb4ba710d771ab2294", null ], + [ "prodstatusval", "namespacegrib2__all__tables__module.html#a1df3f9ef5a208b20ea9ab252a398175d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup.js new file mode 100644 index 0000000..646a66d --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup = +[ + [ "sigrefkey", "namespacegrib2__all__tables__module.html#a978b3234ee9d1e27a2cf083382f46d4a", null ], + [ "sigrefval", "namespacegrib2__all__tables__module.html#abb0bb5391268f2aa80fb79216b9d8827", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup.js new file mode 100644 index 0000000..bdd68da --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup = +[ + [ "statprocesstypeskey", "namespacegrib2__all__tables__module.html#aa9f8b5b5907a2322595894f92733247f", null ], + [ "statprocesstypesval", "namespacegrib2__all__tables__module.html#a20bf6288447d78ca2ef0a0c5ca5df8cc", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup.js new file mode 100644 index 0000000..009f83c --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup = +[ + [ "subcenkey", "namespacegrib2__all__tables__module.html#a2cacdc6be0e495d9378296d1d5f21a15", null ], + [ "subcenval", "namespacegrib2__all__tables__module.html#a19efcbaf2e1ebcefee1969d11f9a8990", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup.js new file mode 100644 index 0000000..bba9bd5 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup = +[ + [ "typeofaerosolkey", "namespacegrib2__all__tables__module.html#ad3896ae7bfc83dcde44e70548726f694", null ], + [ "typeofaerosolval", "namespacegrib2__all__tables__module.html#a9bb1ed3dc6a0880401622cf460d55214", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup.js new file mode 100644 index 0000000..8d01226 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup = +[ + [ "typeofclusterkey", "namespacegrib2__all__tables__module.html#a1ca1b35d9f9f80c5a3f4855794db4371", null ], + [ "typeofclusterval", "namespacegrib2__all__tables__module.html#a9ae8362d72a21dd4f116aa833429dfb6", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup.js new file mode 100644 index 0000000..4fb330b --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup = +[ + [ "typeofcompressionkey", "namespacegrib2__all__tables__module.html#a73e670f34fbe1a59529789d39255df5f", null ], + [ "typeofcompressionvals", "namespacegrib2__all__tables__module.html#a01947ff38f313317c8299020181315fc", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup.js new file mode 100644 index 0000000..25a0f5e --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup = +[ + [ "typeofdatakey", "namespacegrib2__all__tables__module.html#a66bf5082b9e8058b2863d509d9be2297", null ], + [ "typeofdataval", "namespacegrib2__all__tables__module.html#ae5b23da94d631fbc8b006961cc5262e4", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup.js new file mode 100644 index 0000000..0a8984c --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup = +[ + [ "typeofderivefcstkey", "namespacegrib2__all__tables__module.html#a2a276ca0ad6e6bf47b494657d1fe3d2c", null ], + [ "typeofderivefcstval", "namespacegrib2__all__tables__module.html#ab480a49178459432f35f0f5c5a7ebd4e", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup.js new file mode 100644 index 0000000..f71423a --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup = +[ + [ "typeofensfcstkey", "namespacegrib2__all__tables__module.html#a408b0918d51d8dea762dde9ab37cc1c9", null ], + [ "typeofensfcstval", "namespacegrib2__all__tables__module.html#a523fc226b781bcf6b80961ccca349e79", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup.js new file mode 100644 index 0000000..8916ce2 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup = +[ + [ "typeofgenprockey", "namespacegrib2__all__tables__module.html#a94e82be712915069148bc00d8ca3b646", null ], + [ "typeofgenprocval", "namespacegrib2__all__tables__module.html#a1aa6dead3825ded6ed93b9e269caf3c9", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup.js new file mode 100644 index 0000000..026f560 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup = +[ + [ "typeofintervalskey", "namespacegrib2__all__tables__module.html#a83f4372604c38fdc56c3cc950364cbe2", null ], + [ "typeofintervalsval", "namespacegrib2__all__tables__module.html#af781c237b5d61e74ed9901849f3c565d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup.js new file mode 100644 index 0000000..937053c --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup = +[ + [ "typeoforigfieldvals", "namespacegrib2__all__tables__module.html#acb1dd209125ed2a334be404bdd239bb6", null ], + [ "typeoforigfieldvalskey", "namespacegrib2__all__tables__module.html#a0805ab7195cd723307d4197aad8032df", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup.js new file mode 100644 index 0000000..9bb3c0b --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup = +[ + [ "packingmethodkey", "namespacegrib2__all__tables__module.html#a663a07a67e3052442d2944c9e5008c0f", null ], + [ "packingmethodvals", "namespacegrib2__all__tables__module.html#a7cf9958f54f8fad74e6b56b40d5caa2b", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup.js new file mode 100644 index 0000000..19ac4ba --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup = +[ + [ "typeofprecipkey", "namespacegrib2__all__tables__module.html#a9b582733daace6acf28f20d678b070f8", null ], + [ "typeofprecipval", "namespacegrib2__all__tables__module.html#ae32f626dc9f61b8267a300488b98a962", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup.js new file mode 100644 index 0000000..82c7a5b --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup = +[ + [ "typeofprobkey", "namespacegrib2__all__tables__module.html#abac97f1f82ae5a970952b67ef91cf769", null ], + [ "typeofprobval", "namespacegrib2__all__tables__module.html#ad0293a4ec8a85bb78d2d9e63dd4b896b", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup.js new file mode 100644 index 0000000..e0e2d03 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup = +[ + [ "typeoftimeintervalskey", "namespacegrib2__all__tables__module.html#a8a69798df6e5601b382f0c4952d28951", null ], + [ "typeoftimeintervalsval", "namespacegrib2__all__tables__module.html#a53621317f419ca9f751ddbaee1168545", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup.js new file mode 100644 index 0000000..45c6fe3 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup = +[ + [ "unitoftimerangekey", "namespacegrib2__all__tables__module.html#a3a3f9f8404aff3174c10ac5470981cad", null ], + [ "unitoftimerangeval", "namespacegrib2__all__tables__module.html#a5add1f53a19d6b6f3a25cb380ce20315", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup.js b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup.js new file mode 100644 index 0000000..9ecfc06 --- /dev/null +++ b/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup = +[ + [ "verskey", "namespacegrib2__all__tables__module.html#a93f459d9f88846a7ac83589ea0ab3e93", null ], + [ "versval", "namespacegrib2__all__tables__module.html#a41211f41aa524654c1defce9a94c5a70", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/namespacemembers.html b/ver-1.10.0/namespacemembers.html new file mode 100644 index 0000000..c6f64af --- /dev/null +++ b/ver-1.10.0/namespacemembers.html @@ -0,0 +1,356 @@ + + + + + + + +NCEPLIBS-g2tmpl: Module Members + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Here is a list of all documented module members with links to the modules they belong to:
    + +

    - g -

    + + +

    - m -

    + + +

    - o -

    + + +

    - t -

    +
    +
    + + + + diff --git a/ver-1.10.0/namespacemembers_func.html b/ver-1.10.0/namespacemembers_func.html new file mode 100644 index 0000000..b7ee2e2 --- /dev/null +++ b/ver-1.10.0/namespacemembers_func.html @@ -0,0 +1,200 @@ + + + + + + + +NCEPLIBS-g2tmpl: Module Members + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - g -

    +
    +
    + + + + diff --git a/ver-1.10.0/namespacemembers_vars.html b/ver-1.10.0/namespacemembers_vars.html new file mode 100644 index 0000000..930f2d6 --- /dev/null +++ b/ver-1.10.0/namespacemembers_vars.html @@ -0,0 +1,250 @@ + + + + + + + +NCEPLIBS-g2tmpl: Module Members + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - m -

    + + +

    - o -

    + + +

    - t -

    +
    +
    + + + + diff --git a/ver-1.10.0/namespaces.html b/ver-1.10.0/namespaces.html new file mode 100644 index 0000000..82584b0 --- /dev/null +++ b/ver-1.10.0/namespaces.html @@ -0,0 +1,127 @@ + + + + + + + +NCEPLIBS-g2tmpl: Modules List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Modules List
    +
    +
    +
    Here is a list of all documented modules with brief descriptions:
    +
    +
    + + + + diff --git a/ver-1.10.0/namespaces_dup.js b/ver-1.10.0/namespaces_dup.js new file mode 100644 index 0000000..f3690e5 --- /dev/null +++ b/ver-1.10.0/namespaces_dup.js @@ -0,0 +1,4 @@ +var namespaces_dup = +[ + [ "grib2_all_tables_module", "namespacegrib2__all__tables__module.html", "namespacegrib2__all__tables__module" ] +]; \ No newline at end of file diff --git a/ver-1.10.0/nav_f.png b/ver-1.10.0/nav_f.png new file mode 100644 index 0000000..72a58a5 Binary files /dev/null and b/ver-1.10.0/nav_f.png differ diff --git a/ver-1.10.0/nav_g.png b/ver-1.10.0/nav_g.png new file mode 100644 index 0000000..2093a23 Binary files /dev/null and b/ver-1.10.0/nav_g.png differ diff --git a/ver-1.10.0/nav_h.png b/ver-1.10.0/nav_h.png new file mode 100644 index 0000000..33389b1 Binary files /dev/null and b/ver-1.10.0/nav_h.png differ diff --git a/ver-1.10.0/navtree.css b/ver-1.10.0/navtree.css new file mode 100644 index 0000000..33341a6 --- /dev/null +++ b/ver-1.10.0/navtree.css @@ -0,0 +1,146 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 250px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:url("splitbar.png"); + background-size:100%; + background-repeat:repeat-y; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/ver-1.10.0/navtree.js b/ver-1.10.0/navtree.js new file mode 100644 index 0000000..1e272d3 --- /dev/null +++ b/ver-1.10.0/navtree.js @@ -0,0 +1,546 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +var navTreeSubIndices = new Array(); +var arrowDown = '▼'; +var arrowRight = '►'; + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +var loadTriggered = false; +var readyTriggered = false; +var loadObject,loadToRoot,loadUrl,loadRelPath; + +$(window).on('load',function(){ + if (readyTriggered) { // ready first + navTo(loadObject,loadToRoot,loadUrl,loadRelPath); + showRoot(); + } + loadTriggered=true; +}); + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + if (loadTriggered) { // load before ready + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + } else { // ready before load + loadObject = o; + loadToRoot = toroot; + loadUrl = hashUrl(); + loadRelPath = relpath; + readyTriggered=true; + } + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ + + + + + + +NCEPLIBS-g2tmpl: process_4dot2.c File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    process_4dot2.c File Reference
    +
    +
    + +

    4dot2 +More...

    +
    #include <stdio.h>
    +#include <stdlib.h>
    +#include <string.h>
    +#include <ctype.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + +

    +Macros

    #define MXFNLEN   120
     Max fn length. More...
     
    #define MXFNLEN   120
     Max fn length. More...
     
    #define MXG2MNEM   16
     Define the maximum length of a mnemonic in GRIB2 Code Table 4.2. More...
     
    #define MXG2MNEMP4   ( MXG2MNEM + 4)
     Define the maximum length of a mnemonic in GRIB2 Code Table 4.2. More...
     
    #define NUMALLOC   2500
     Allocate internal memory for table entries in chunks of 25000. More...
     
    + + + + +

    +Typedefs

    typedef int f77int
     On certain operating systems, the FORTRAN compiler appends an underscore to subprogram names in its object namespace. More...
     
    + + + + + + + + + + + + + + + + +

    +Functions

    void close_4dot2 (f77int *iret)
     This subroutine should be called one time at the end of the application program in order to free all allocated memory. More...
     
    int compar (const struct TableEntry *pte1, const struct TableEntry *pte2)
     Define the internal comparison function for use with qsort and bsearch. More...
     
    void open_and_read_4dot2 (char *filename, f77int *iret)
     Opens and reads the GRIB2 Code Table 4.2 into an internal memory structure. More...
     
    void search_for_4dot2_entry (char nemo[MXG2MNEM], f77int *locflg, f77int *disc, f77int *catg, f77int *parm, f77int *iret)
     Searches for a specified mnemonic within the previously-opened GRIB2 Code Table 4.2 and returns the corresponding product discipline, parameter category and parameter number. More...
     
    void sort_and_write_4dot2 (char *filename, f77int *iret)
     Sorts the contents of GRIB2 Code Table 4.2 within the internal memory structure and writes the output to the file specified by filename. More...
     
    + + + + + + + +

    +Variables

    size_t nentry = 0
     Number of entries. More...
     
    struct TableEntry * pe0 = NULL
     Table entry. More...
     
    +

    Detailed Description

    +

    4dot2

    +
    Author
    Jeff Ator
    +
    Date
    Feb 2010
    + +

    Definition in file process_4dot2.c.

    +

    Macro Definition Documentation

    + +

    ◆ MXFNLEN [1/2]

    + +
    +
    + + + + +
    #define MXFNLEN   120
    +
    + +

    Max fn length.

    + +

    Definition at line 23 of file process_4dot2.c.

    + +
    +
    + +

    ◆ MXFNLEN [2/2]

    + +
    +
    + + + + +
    #define MXFNLEN   120
    +
    + +

    Max fn length.

    + +

    Definition at line 23 of file process_4dot2.c.

    + +
    +
    + +

    ◆ MXG2MNEM

    + +
    +
    + + + + +
    #define MXG2MNEM   16
    +
    + +

    Define the maximum length of a mnemonic in GRIB2 Code Table 4.2.

    + +

    Definition at line 13 of file process_4dot2.c.

    + +
    +
    + +

    ◆ MXG2MNEMP4

    + +
    +
    + + + + +
    #define MXG2MNEMP4   ( MXG2MNEM + 4)
    +
    + +

    Define the maximum length of a mnemonic in GRIB2 Code Table 4.2.

    + +

    Definition at line 17 of file process_4dot2.c.

    + +
    +
    + +

    ◆ NUMALLOC

    + +
    +
    + + + + +
    #define NUMALLOC   2500
    +
    + +

    Allocate internal memory for table entries in chunks of 25000.

    + +

    Definition at line 20 of file process_4dot2.c.

    + +
    +
    +

    Typedef Documentation

    + +

    ◆ f77int

    + +
    +
    + + + + +
    typedef int f77int
    +
    + +

    On certain operating systems, the FORTRAN compiler appends an underscore to subprogram names in its object namespace.

    +

    Therefore, on such systems, a matching underscore must be appended to any C language references to the same subprogram names so that the linker can correctly resolve such references across the C <-> FORTRAN interface at link time. In order to ensure that the C <-> FORTRAN interface works properly (and portably!), the default size of an "INTEGER" declared in FORTRAN must be identical to that of an "int" declared in C. If this is not the case (e.g. some FORTRAN compilers, most notably AIX via the -qintsize= option, allow the sizes of INTEGERs to be definitively prescribed outside of the source code itself!), then the following conditional directive (or a variant of it) can be used to ensure that the size of an "int" in C remains identical to that of an "INTEGER" in FORTRAN.

    + +

    Definition at line 50 of file process_4dot2.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ close_4dot2()

    + +
    +
    + + + + + + + + +
    void close_4dot2 (f77intiret)
    +
    + +

    This subroutine should be called one time at the end of the application program in order to free all allocated memory.

    +
    Parameters
    + + +
    iretReturn code: 0 = normal return.
    +
    +
    + +

    Definition at line 342 of file process_4dot2.c.

    + +

    References pe0.

    + +
    +
    + +

    ◆ compar()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int compar (const struct TableEntry * pte1,
    const struct TableEntry * pte2 
    )
    +
    + +

    Define the internal comparison function for use with qsort and bsearch.

    +
    Parameters
    + + + +
    pte1TableEntry1
    pte2TableEntry2
    +
    +
    +
    Returns
    0 if they are the same.
    + +

    Definition at line 84 of file process_4dot2.c.

    + +

    Referenced by search_for_4dot2_entry(), and sort_and_write_4dot2().

    + +
    +
    + +

    ◆ open_and_read_4dot2()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void open_and_read_4dot2 (char * filename,
    f77intiret 
    )
    +
    + +

    Opens and reads the GRIB2 Code Table 4.2 into an internal memory structure.

    +

    In order for the search_for_4dot2_entry() function to be used, the table must be in sorted order with respect to the mnemonic and according to the criteria of the compar() function. If this has not already been done, it can be done by calling the sort_and_write_4dot2() function prior to calling the search_for_4dot2_entry() function.

    +
    Parameters
    + + + +
    filenameLocation of table file on filesystem; directory prefixes or other local filesystem notation is allowed up to 120 total characters.
    iretReturn code:
      +
    • 0 normal return
    • +
    • -1 input filename was more than 120 characters
    • +
    • -2 table file could not be opened
    • +
    • -3 memory allocation error
    • +
    +
    +
    +
    + +

    Definition at line 113 of file process_4dot2.c.

    + +

    References MXFNLEN, nentry, NUMALLOC, and pe0.

    + +

    Referenced by sort_params_grib2_tbl().

    + +
    +
    + +

    ◆ search_for_4dot2_entry()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void search_for_4dot2_entry (char nemo[MXG2MNEM],
    f77intlocflg,
    f77intdisc,
    f77intcatg,
    f77intparm,
    f77intiret 
    )
    +
    + +

    Searches for a specified mnemonic within the previously-opened GRIB2 Code Table 4.2 and returns the corresponding product discipline, parameter category and parameter number.

    +

    A binary search algorithm is used.

    +

    In order for this function to be used, the table must already be in sorted order with respect to the mnemonic and according to the criteria of the compar() function. If this has not already been done, it can be done by calling the sort_and_write_4dot2() function prior to calling this function.

    +
    Parameters
    + + + + + + + +
    nemoMnemonic (of up to 16 characters in length) to search for within table.
    locflgVersion of mnemonic to be returned, in case of duplication within table:
      +
    • 0 international version (default)
      +
    • +
    • 1 local version
      +
    • +
    +
    discProduct discipline
    +
    catgParameter category
    +
    parmParameter number
    +
    iretReturn code:
    +
      +
    • 0 normal return
      +
    • +
    • -1 nemo not found within table for specified locflg version
      +
    • +
    +
    +
    +
    + +

    Definition at line 284 of file process_4dot2.c.

    + +

    References compar(), MXG2MNEM, nentry, and pe0.

    + +
    +
    + +

    ◆ sort_and_write_4dot2()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void sort_and_write_4dot2 (char * filename,
    f77intiret 
    )
    +
    + +

    Sorts the contents of GRIB2 Code Table 4.2 within the internal memory structure and writes the output to the file specified by filename.

    +

    The output file will be in a format suitable for subsequent reading via the open_and_read_4dot2() function, so that this function does not need to be called again prior to calling search_for_4dot2_entry().

    +
    Parameters
    + + + +
    filenameFilename to which to write the sorted output. Directory prefixes or other local filesystem notation is allowed up to 120 total characters.
    iretReturn code:
      +
    • 0 normal return
    • +
    • -1 filename was more than 120 characters
    • +
    • -2 filename could not be opened
    • +
    +
    +
    +
    + +

    Definition at line 199 of file process_4dot2.c.

    + +

    References compar(), MXFNLEN, MXG2MNEMP4, nentry, and pe0.

    + +

    Referenced by sort_params_grib2_tbl().

    + +
    +
    +

    Variable Documentation

    + +

    ◆ nentry

    + +
    +
    + + + + +
    size_t nentry = 0
    +
    + +

    Number of entries.

    + +

    Definition at line 65 of file process_4dot2.c.

    + +

    Referenced by open_and_read_4dot2(), search_for_4dot2_entry(), and sort_and_write_4dot2().

    + +
    +
    + +

    ◆ pe0

    + +
    +
    + + + + +
    struct TableEntry* pe0 = NULL
    +
    + +

    Table entry.

    + +

    Definition at line 62 of file process_4dot2.c.

    + +

    Referenced by close_4dot2(), open_and_read_4dot2(), search_for_4dot2_entry(), and sort_and_write_4dot2().

    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/process__4dot2_8c.js b/ver-1.10.0/process__4dot2_8c.js new file mode 100644 index 0000000..293c455 --- /dev/null +++ b/ver-1.10.0/process__4dot2_8c.js @@ -0,0 +1,16 @@ +var process__4dot2_8c = +[ + [ "MXFNLEN", "process__4dot2_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692", null ], + [ "MXFNLEN", "process__4dot2_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692", null ], + [ "MXG2MNEM", "process__4dot2_8c.html#a8b1a673bb7455ba2eee49d8fb521f3a9", null ], + [ "MXG2MNEMP4", "process__4dot2_8c.html#afc878039e3b684ccbee0b09d3728d9eb", null ], + [ "NUMALLOC", "process__4dot2_8c.html#a761b93a9b0cea663191152eb12d55ccb", null ], + [ "f77int", "process__4dot2_8c.html#a5c4dfc0f91864103ff0e0e94eb361822", null ], + [ "close_4dot2", "process__4dot2_8c.html#afe7898eb18503a1c68d07703f40ced75", null ], + [ "compar", "process__4dot2_8c.html#a8c7a1f1e806a2ba338de65da418431c8", null ], + [ "open_and_read_4dot2", "process__4dot2_8c.html#add8c6eeb0488ac4f8151dd33d13101eb", null ], + [ "search_for_4dot2_entry", "process__4dot2_8c.html#a36793a517e6e09e3ec17fbec5f1e3a98", null ], + [ "sort_and_write_4dot2", "process__4dot2_8c.html#ae7dec29e33a953e88c870eba778d1492", null ], + [ "nentry", "process__4dot2_8c.html#a79c2b98a28219018e41885beb0c784f7", null ], + [ "pe0", "process__4dot2_8c.html#a297eeddc898582329f52e49d4b30700e", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/process__4dot2_8c_source.html b/ver-1.10.0/process__4dot2_8c_source.html new file mode 100644 index 0000000..8c17622 --- /dev/null +++ b/ver-1.10.0/process__4dot2_8c_source.html @@ -0,0 +1,355 @@ + + + + + + + +NCEPLIBS-g2tmpl: process_4dot2.c Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    process_4dot2.c
    +
    +
    +Go to the documentation of this file.
    1 
    +
    6 #include <stdio.h>
    +
    7 #include <stdlib.h>
    +
    8 #include <string.h>
    +
    9 #include <ctype.h>
    +
    10 
    +
    13 #define MXG2MNEM 16
    +
    14 
    +
    17 #define MXG2MNEMP4 ( MXG2MNEM + 4)
    +
    18 
    +
    20 #define NUMALLOC 2500
    +
    21 
    +
    23 #define MXFNLEN 120
    +
    24 
    +
    31 #ifdef UNDERSCORE
    +
    32 #define open_and_read_4dot2 open_and_read_4dot2_
    +
    33 #define sort_and_write_4dot2 sort_and_write_4dot2_
    +
    34 #define search_for_4dot2_entry search_for_4dot2_entry_
    +
    35 #define close_4dot2 close_4dot2_
    +
    36 #endif
    +
    37 
    +
    47 #ifdef F77_INTSIZE_8
    +
    48 typedef long f77int;
    +
    49 #else
    +
    50 typedef int f77int;
    +
    51 #endif
    +
    52 
    +
    54 struct TableEntry {
    +
    55  char mnemonic[MXG2MNEMP4];
    +
    56  int discipline;
    +
    57  int category;
    +
    58  int parameter;
    +
    59 };
    +
    60 
    +
    62 struct TableEntry *pe0 = NULL;
    +
    63 
    +
    65 size_t nentry = 0;
    +
    66 
    +
    67 /* Prototypes. */
    +
    68 void open_and_read_4dot2(char *, f77int *);
    +
    69 void sort_and_write_4dot2(char *, f77int *);
    +
    70 /* void search_for_4dot2_entry(char *, f77int *, f77int *, f77int *, f77int *, f77int *); */
    +
    71 int compar(const struct TableEntry *, const struct TableEntry *);
    +
    72 void close_4dot2(f77int *);
    +
    73 
    +
    83 int
    +
    84 compar(const struct TableEntry *pte1, const struct TableEntry *pte2)
    +
    85 {
    +
    86  return strcmp(pte1->mnemonic, pte2->mnemonic);
    +
    87 }
    +
    88 
    +
    89 /*
    +
    90 ** Define the remaining subprograms which will be called by user applications.
    +
    91 */
    +
    92 
    +
    112 void
    +
    113 open_and_read_4dot2(char *filename, f77int *iret)
    +
    114 {
    +
    115 
    +
    116  struct TableEntry *pra;
    +
    117 
    +
    118  char lfn[MXFNLEN+1], str[81], cflag, cub = '_';
    +
    119 
    +
    120  size_t i;
    +
    121 
    +
    122  FILE *pfn;
    +
    123 
    +
    124 /*
    +
    125 ** Copy the input filename into a local variable and check it for validity.
    +
    126 ** This is especially important in case the filename was passed in as a
    +
    127 ** string literal by the calling program or else doesn't have a trailing
    +
    128 ** NULL character.
    +
    129 */
    +
    130  for (i = 0; (! isspace(filename[i]) && ! iscntrl(filename[i])); i++) {
    +
    131  if (i == MXFNLEN) {
    +
    132  *iret = (f77int) -1;
    +
    133  return;
    +
    134  }
    +
    135  lfn[i] = filename[i];
    +
    136  }
    +
    137  lfn[i] = '\0';
    +
    138 
    +
    139 /*
    +
    140 ** Open the file.
    +
    141 */
    +
    142  if ((pfn = fopen(lfn, "r")) == NULL) {
    +
    143  *iret = (f77int) -2;
    +
    144  printf("Can't open input file %s\n",lfn);
    +
    145  return;
    +
    146  }
    +
    147 
    +
    148 /*
    +
    149 ** Read the file contents into an internal memory structure. Memory will be
    +
    150 ** allocated as needed for NUMALLOC entries at a time.
    +
    151 */
    +
    152  while (fgets(str, 80, pfn) != NULL) {
    +
    153  if (str[0] != '!') { /* ignore comment lines */
    +
    154  if ((nentry % NUMALLOC) == 0) {
    +
    155 /*
    +
    156 ** Allocate additional memory.
    +
    157 */
    +
    158  pra = realloc(pe0, (NUMALLOC * sizeof(struct TableEntry)));
    +
    159  if (pra == NULL) {
    +
    160  *iret = (f77int) -3;
    +
    161  return;
    +
    162  }
    +
    163  pe0 = pra;
    +
    164  }
    +
    165  sscanf(str, "%d%d%d%*3c%c%*c%s",
    +
    166  &pe0[nentry].discipline, &pe0[nentry].category,
    +
    167  &pe0[nentry].parameter, &cflag,
    +
    168  pe0[nentry].mnemonic);
    +
    169  strncat(pe0[nentry].mnemonic, &cub, 1);
    +
    170  strncat(pe0[nentry].mnemonic, &cflag, 1);
    +
    171  nentry++;
    +
    172  }
    +
    173  }
    +
    174 
    +
    175 /*
    +
    176 ** Close the file.
    +
    177 */
    +
    178  fclose (pfn);
    +
    179 
    +
    180  *iret = (f77int) 0;
    +
    181 }
    +
    182 
    +
    198 void
    +
    199 sort_and_write_4dot2(char *filename, f77int *iret)
    +
    200 {
    +
    201 #define MXFNLEN 120
    +
    202 
    +
    203  char lfn[MXFNLEN+1], str[MXG2MNEMP4], cflag;
    +
    204 
    +
    205  size_t i;
    +
    206 
    +
    207  FILE *pfn;
    +
    208 
    +
    209 /*
    +
    210 ** Copy the filename into a local variable and check it for validity.
    +
    211 ** This is especially important in case the filename was passed in as a
    +
    212 ** string literal by the calling program or else doesn't have a trailing
    +
    213 ** NULL character.
    +
    214 */
    +
    215  for (i = 0; (! isspace(filename[i]) && ! iscntrl(filename[i])); i++) {
    +
    216  if (i == MXFNLEN) {
    +
    217  *iret = (f77int) -1;
    +
    218  return;
    +
    219  }
    +
    220  lfn[i] = filename[i];
    +
    221  }
    +
    222  lfn[i] = '\0';
    +
    223 
    +
    224 /*
    +
    225 ** Open the output file.
    +
    226 */
    +
    227  if ((pfn = fopen(lfn, "w")) == NULL) {
    +
    228  *iret = (f77int) -2;
    +
    229  printf("Can't open output file %s\n",lfn);
    +
    230  return;
    +
    231  }
    +
    232 
    +
    233 /*
    +
    234 ** Sort the entries within the internal memory structure.
    +
    235 */
    +
    236  qsort(pe0, nentry, sizeof(struct TableEntry),
    +
    237  (int (*) (const void *, const void *)) compar);
    +
    238 
    +
    239 /*
    +
    240 ** Write the sorted entries to the output file.
    +
    241 */
    +
    242  for (i = 0; i < nentry; i++) {
    +
    243  strcpy(str, pe0[i].mnemonic);
    +
    244  cflag = str[strlen(str)-1];
    +
    245  str[strlen(str)-2] = '\0';
    +
    246  fprintf(pfn, "%4d%4d%6d %c %s\n",
    +
    247  pe0[i].discipline, pe0[i].category,
    +
    248  pe0[i].parameter, cflag, str);
    +
    249  }
    +
    250 /*
    +
    251 ** Close the file.
    +
    252 */
    +
    253  fclose (pfn);
    +
    254 
    +
    255  *iret = (f77int) 0;
    +
    256 }
    +
    257 
    +
    283 void
    + +
    285  f77int *disc, f77int *catg, f77int *parm,
    +
    286  f77int *iret)
    +
    287 {
    +
    288  unsigned short n = 0, n2 = 0;
    +
    289 
    +
    290  long llf;
    +
    291 
    +
    292  struct TableEntry key, *pbs;
    +
    293 
    +
    294  size_t ipt;
    +
    295 
    +
    296 /*
    +
    297 ** Make a local copy of nemo. Mnemonics may consist of any combination of
    +
    298 ** alphanumeric, underscore and dash characters.
    +
    299 */
    +
    300  while ( (n < MXG2MNEM) &&
    +
    301  ((isalnum((int) nemo[n]) ||
    +
    302  (nemo[n] == '_') || (nemo[n] == '-'))) ) {
    +
    303  key.mnemonic[n2++] = nemo[n++];
    +
    304  }
    +
    305 
    +
    306 /*
    +
    307 ** Append an underscore followed by the locflg in order to generate the
    +
    308 ** mnemonic to search for.
    +
    309 */
    +
    310  key.mnemonic[n2++] = '_';
    +
    311  llf = (long) *locflg;
    +
    312  if (llf != 1) llf = 0; /* default to using international entry unless
    +
    313  local is specified */
    +
    314  sprintf(&key.mnemonic[n2], "%ld", llf); /* trailing null will be automatically
    +
    315  appended by sprintf */
    +
    316 
    +
    317 /*
    +
    318 ** Search for the mnemonic in the Code Table and return appropriate output values.
    +
    319 */
    +
    320  pbs = bsearch(&key, pe0, nentry, sizeof(struct TableEntry),
    +
    321  (int (*) (const void *, const void *)) compar);
    +
    322  if (pbs == NULL) {
    +
    323  *iret = (f77int) -1;
    +
    324  }
    +
    325  else {
    +
    326  *iret = (f77int) 0;
    +
    327  ipt = pbs - pe0;
    +
    328  *disc = (f77int) pe0[ipt].discipline;
    +
    329  *catg = (f77int) pe0[ipt].category;
    +
    330  *parm = (f77int) pe0[ipt].parameter;
    +
    331  }
    +
    332 
    +
    333 }
    +
    334 
    +
    341 void
    + +
    343 {
    +
    344  free (pe0);
    +
    345  *iret = (f77int) 0;
    +
    346 }
    +
    struct TableEntry * pe0
    Table entry.
    Definition: process_4dot2.c:62
    +
    void search_for_4dot2_entry(char nemo[MXG2MNEM], f77int *locflg, f77int *disc, f77int *catg, f77int *parm, f77int *iret)
    Searches for a specified mnemonic within the previously-opened GRIB2 Code Table 4....
    +
    int f77int
    On certain operating systems, the FORTRAN compiler appends an underscore to subprogram names in its o...
    Definition: process_4dot2.c:50
    +
    #define NUMALLOC
    Allocate internal memory for table entries in chunks of 25000.
    Definition: process_4dot2.c:20
    +
    size_t nentry
    Number of entries.
    Definition: process_4dot2.c:65
    +
    #define MXG2MNEM
    Define the maximum length of a mnemonic in GRIB2 Code Table 4.2.
    Definition: process_4dot2.c:13
    +
    int compar(const struct TableEntry *, const struct TableEntry *)
    Define the internal comparison function for use with qsort and bsearch.
    Definition: process_4dot2.c:84
    +
    #define MXFNLEN
    Max fn length.
    Definition: process_4dot2.c:23
    +
    void open_and_read_4dot2(char *, f77int *)
    Opens and reads the GRIB2 Code Table 4.2 into an internal memory structure.
    +
    void sort_and_write_4dot2(char *, f77int *)
    Sorts the contents of GRIB2 Code Table 4.2 within the internal memory structure and writes the output...
    +
    #define MXG2MNEMP4
    Define the maximum length of a mnemonic in GRIB2 Code Table 4.2.
    Definition: process_4dot2.c:17
    +
    void close_4dot2(f77int *)
    This subroutine should be called one time at the end of the application program in order to free all ...
    +
    +
    + + + + diff --git a/ver-1.10.0/resize.js b/ver-1.10.0/resize.js new file mode 100644 index 0000000..e1ad0fe --- /dev/null +++ b/ver-1.10.0/resize.js @@ -0,0 +1,140 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).on('load',resizeHeight); +} +/* @license-end */ diff --git a/ver-1.10.0/search/all_0.html b/ver-1.10.0/search/all_0.html new file mode 100644 index 0000000..1ec5b2d --- /dev/null +++ b/ver-1.10.0/search/all_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_0.js b/ver-1.10.0/search/all_0.js new file mode 100644 index 0000000..ee9e9b8 --- /dev/null +++ b/ver-1.10.0/search/all_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['close_5f4dot2_0',['close_4dot2',['../process__4dot2_8c.html#afe7898eb18503a1c68d07703f40ced75',1,'process_4dot2.c']]], + ['compar_1',['compar',['../process__4dot2_8c.html#a8c7a1f1e806a2ba338de65da418431c8',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/all_1.html b/ver-1.10.0/search/all_1.html new file mode 100644 index 0000000..9f80e90 --- /dev/null +++ b/ver-1.10.0/search/all_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_1.js b/ver-1.10.0/search/all_1.js new file mode 100644 index 0000000..2bfb1f4 --- /dev/null +++ b/ver-1.10.0/search/all_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['f77int_2',['f77int',['../process__4dot2_8c.html#a5c4dfc0f91864103ff0e0e94eb361822',1,'process_4dot2.c']]], + ['fixed_5fsurface_5ftypes_3',['fixed_surface_types',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1fixed__surface__types',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/all_2.html b/ver-1.10.0/search/all_2.html new file mode 100644 index 0000000..02cfffc --- /dev/null +++ b/ver-1.10.0/search/all_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_2.js b/ver-1.10.0/search/all_2.js new file mode 100644 index 0000000..aaadf83 --- /dev/null +++ b/ver-1.10.0/search/all_2.js @@ -0,0 +1,46 @@ +var searchData= +[ + ['g2sec0_4',['g2sec0',['../namespacegrib2__all__tables__module.html#a95104687814c91720bf13d9c736adc53',1,'grib2_all_tables_module']]], + ['g2sec1_5',['g2sec1',['../namespacegrib2__all__tables__module.html#a0b34a4a08b7ee738b5059ed7d82873aa',1,'grib2_all_tables_module']]], + ['g2sec4_5ftemp0_6',['g2sec4_temp0',['../namespacegrib2__all__tables__module.html#a9ed56310c55ea4bd91b46dae062ff315',1,'grib2_all_tables_module']]], + ['g2sec4_5ftemp1_7',['g2sec4_temp1',['../g2sec4__temp1_8f90.html#a6ba22e2d7b2b563c8537d4663229cd1f',1,'g2sec4_temp1.f90']]], + ['g2sec4_5ftemp1_2ef90_8',['g2sec4_temp1.f90',['../g2sec4__temp1_8f90.html',1,'']]], + ['g2sec4_5ftemp11_9',['g2sec4_temp11',['../g2sec4__temp11_8f90.html#ab5cee8a89e691bef9b8c4a5e58c474f8',1,'g2sec4_temp11.f90']]], + ['g2sec4_5ftemp11_2ef90_10',['g2sec4_temp11.f90',['../g2sec4__temp11_8f90.html',1,'']]], + ['g2sec4_5ftemp12_11',['g2sec4_temp12',['../g2sec4__temp12_8f90.html#a3c0b7c0a8a1e39cc7fef4d75bb7f96bf',1,'g2sec4_temp12.f90']]], + ['g2sec4_5ftemp12_2ef90_12',['g2sec4_temp12.f90',['../g2sec4__temp12_8f90.html',1,'']]], + ['g2sec4_5ftemp44_13',['g2sec4_temp44',['../namespacegrib2__all__tables__module.html#a9b4376b4abe34c007f575b8e544d3ba0',1,'grib2_all_tables_module']]], + ['g2sec4_5ftemp48_14',['g2sec4_temp48',['../namespacegrib2__all__tables__module.html#a7e3b1ffda5f0a1234a39425a26d81b1d',1,'grib2_all_tables_module']]], + ['g2sec4_5ftemp8_15',['g2sec4_temp8',['../namespacegrib2__all__tables__module.html#ad54b7e506841ab1d50bf89b39334430b',1,'grib2_all_tables_module']]], + ['g2sec5_5ftemp0_16',['g2sec5_temp0',['../namespacegrib2__all__tables__module.html#ac71701de1f47f704dbdfb648fac19530',1,'grib2_all_tables_module']]], + ['g2sec5_5ftemp2_17',['g2sec5_temp2',['../namespacegrib2__all__tables__module.html#abb9391b2ef03d619ffbb1eca9b55c664',1,'grib2_all_tables_module']]], + ['g2sec5_5ftemp3_18',['g2sec5_temp3',['../namespacegrib2__all__tables__module.html#a02a58228da00cef6e052ac936b748263',1,'grib2_all_tables_module']]], + ['g2sec5_5ftemp40_19',['g2sec5_temp40',['../namespacegrib2__all__tables__module.html#ac39a4db701fd56e63b2285713514fa76',1,'grib2_all_tables_module']]], + ['gen_5fproc_20',['gen_proc',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1gen__proc',1,'grib2_all_tables_module']]], + ['get_5fg2_5ffixedsurfacetypes_21',['get_g2_fixedsurfacetypes',['../namespacegrib2__all__tables__module.html#a3280b3edfc4db22a8c373662eca30b09',1,'grib2_all_tables_module']]], + ['get_5fg2_5floctabversno_22',['get_g2_loctabversno',['../namespacegrib2__all__tables__module.html#afcf3af13d5b9fa044b59da7ce51fab05',1,'grib2_all_tables_module']]], + ['get_5fg2_5fon388genproc_23',['get_g2_on388genproc',['../namespacegrib2__all__tables__module.html#a01337aa68ede1097c736270824bffaba',1,'grib2_all_tables_module']]], + ['get_5fg2_5fon388origincenters_24',['get_g2_on388origincenters',['../namespacegrib2__all__tables__module.html#afcfd6b66a7eb88a71aee08ba63dfceba',1,'grib2_all_tables_module']]], + ['get_5fg2_5fordofspcdiffvals_25',['get_g2_ordofspcdiffvals',['../namespacegrib2__all__tables__module.html#a306f773232def462c9dcc84b7612b739',1,'grib2_all_tables_module']]], + ['get_5fg2_5fprodstatus_26',['get_g2_prodstatus',['../namespacegrib2__all__tables__module.html#ad34c2c50271cf55e57323fa82f12e79d',1,'grib2_all_tables_module']]], + ['get_5fg2_5fsec5packingmethod_27',['get_g2_sec5packingmethod',['../namespacegrib2__all__tables__module.html#af03e78d303af639b0311e96be2bc37d2',1,'grib2_all_tables_module']]], + ['get_5fg2_5fsigreftime_28',['get_g2_sigreftime',['../namespacegrib2__all__tables__module.html#a1646f06c31a03be74a992a1de60469cf',1,'grib2_all_tables_module']]], + ['get_5fg2_5fstatprocesstypes_29',['get_g2_statprocesstypes',['../namespacegrib2__all__tables__module.html#a5184d4968a27f1a349608befd735533b',1,'grib2_all_tables_module']]], + ['get_5fg2_5fsubcenters_30',['get_g2_subcenters',['../namespacegrib2__all__tables__module.html#a10947b2b8e872e5090def0a3f4e1e805',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofaerosol_31',['get_g2_typeofaerosol',['../namespacegrib2__all__tables__module.html#ad6f79e466077e8b6de6b501796c5f337',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofcluster_32',['get_g2_typeofcluster',['../namespacegrib2__all__tables__module.html#a6dba348a5bddc07edf405d704d3bc7eb',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofcompression_33',['get_g2_typeofcompression',['../namespacegrib2__all__tables__module.html#a7e4a12abeae82a4605cb60e68af24607',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofdata_34',['get_g2_typeofdata',['../namespacegrib2__all__tables__module.html#a4158dad47c775d41196cde17ee5ac293',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofderivefcst_35',['get_g2_typeofderivefcst',['../namespacegrib2__all__tables__module.html#a290de96fd327fec7812b0d6e67cbcdf0',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofensfcst_36',['get_g2_typeofensfcst',['../namespacegrib2__all__tables__module.html#ae99e018c07efce0a8e50c56bf14da061',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofgenproc_37',['get_g2_typeofgenproc',['../namespacegrib2__all__tables__module.html#a0c2824e1961b2089872d885b98662e18',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofintervals_38',['get_g2_typeofintervals',['../namespacegrib2__all__tables__module.html#a88838d93235dbb3dc82f45f2edcae606',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeoforigfieldvals_39',['get_g2_typeoforigfieldvals',['../namespacegrib2__all__tables__module.html#a43aafb243c395268f5cb8df0d743a9c3',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofprecip_40',['get_g2_typeofprecip',['../namespacegrib2__all__tables__module.html#ace5972d1da91bd26615fc8257bdcaf99',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofprob_41',['get_g2_typeofprob',['../namespacegrib2__all__tables__module.html#aff9b7991a49d567d87672efcbd400cbf',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeoftimeintervals_42',['get_g2_typeoftimeintervals',['../namespacegrib2__all__tables__module.html#a0d31ea8d64a7ad96a63f0899b82873c2',1,'grib2_all_tables_module']]], + ['get_5fg2_5funitoftimerange_43',['get_g2_unitoftimerange',['../namespacegrib2__all__tables__module.html#a93e13a2e958855047bb2132d35cd514d',1,'grib2_all_tables_module']]], + ['get_5fg2_5fversionno_44',['get_g2_versionno',['../namespacegrib2__all__tables__module.html#ac6c81587f672224e2521124253a1293f',1,'grib2_all_tables_module']]], + ['grib2_5fall_5ftables_5fmodule_45',['grib2_all_tables_module',['../namespacegrib2__all__tables__module.html',1,'']]], + ['grib2_5fall_5ftables_5fmodule_2ef90_46',['grib2_all_tables_module.f90',['../grib2__all__tables__module_8f90.html',1,'']]] +]; diff --git a/ver-1.10.0/search/all_3.html b/ver-1.10.0/search/all_3.html new file mode 100644 index 0000000..39767b8 --- /dev/null +++ b/ver-1.10.0/search/all_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_3.js b/ver-1.10.0/search/all_3.js new file mode 100644 index 0000000..0e808c1 --- /dev/null +++ b/ver-1.10.0/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['local_5ftable_5fvers_5fno_47',['local_table_vers_no',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1local__table__vers__no',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/all_4.html b/ver-1.10.0/search/all_4.html new file mode 100644 index 0000000..fc40463 --- /dev/null +++ b/ver-1.10.0/search/all_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_4.js b/ver-1.10.0/search/all_4.js new file mode 100644 index 0000000..aa4bb9a --- /dev/null +++ b/ver-1.10.0/search/all_4.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['maxfixedsurfacetypes_48',['maxfixedsurfacetypes',['../namespacegrib2__all__tables__module.html#a4ab70056e9bf310f7d5d2b2d45e5c4b2',1,'grib2_all_tables_module']]], + ['maxgenproc_49',['maxgenproc',['../namespacegrib2__all__tables__module.html#ab5cda0077cff603a0fcd20caa2e6c390',1,'grib2_all_tables_module']]], + ['maxlocver_50',['maxlocver',['../namespacegrib2__all__tables__module.html#a9fee5632dc49831859167989a8ca4ce6',1,'grib2_all_tables_module']]], + ['maxordofsptdiff_51',['maxordofsptdiff',['../namespacegrib2__all__tables__module.html#a9abd2f78e88f78133c56835d5191b841',1,'grib2_all_tables_module']]], + ['maxorigincenters_52',['maxorigincenters',['../namespacegrib2__all__tables__module.html#a9b2c442c46296e136cc9719ad36cb659',1,'grib2_all_tables_module']]], + ['maxprodstatus_53',['maxprodstatus',['../namespacegrib2__all__tables__module.html#a864bb3fdc242e97a3d65e6c5aaea7ce7',1,'grib2_all_tables_module']]], + ['maxreftime_54',['maxreftime',['../namespacegrib2__all__tables__module.html#a281fe6da658210d003986df44df08e88',1,'grib2_all_tables_module']]], + ['maxstatprocesstypes_55',['maxstatprocesstypes',['../namespacegrib2__all__tables__module.html#ab3f23e6ff1eda90ec0d91c47b17bd918',1,'grib2_all_tables_module']]], + ['maxsubcen_56',['maxsubcen',['../namespacegrib2__all__tables__module.html#a99c672fa099fee4e3094866899b3f8a7',1,'grib2_all_tables_module']]], + ['maxtypeofaerosol_57',['maxtypeofaerosol',['../namespacegrib2__all__tables__module.html#aa77c7e55b75e808ebdceaa9e96d4fbe1',1,'grib2_all_tables_module']]], + ['maxtypeofcluster_58',['maxtypeofcluster',['../namespacegrib2__all__tables__module.html#acd11ade3f4e066846232c3b710735f8b',1,'grib2_all_tables_module']]], + ['maxtypeofcompression_59',['maxtypeofcompression',['../namespacegrib2__all__tables__module.html#a8780fc8d2318ee55f40964c55fb091dd',1,'grib2_all_tables_module']]], + ['maxtypeofdata_60',['maxtypeofdata',['../namespacegrib2__all__tables__module.html#a81ccb544acc1d5538c77266dd34bc164',1,'grib2_all_tables_module']]], + ['maxtypeofderivefcst_61',['maxtypeofderivefcst',['../namespacegrib2__all__tables__module.html#a6f56515e50913f3536de65b61e43380d',1,'grib2_all_tables_module']]], + ['maxtypeofensfcst_62',['maxtypeofensfcst',['../namespacegrib2__all__tables__module.html#afb0d64858b6ad99180444d4e8acb8242',1,'grib2_all_tables_module']]], + ['maxtypeofgenproc_63',['maxtypeofgenproc',['../namespacegrib2__all__tables__module.html#ade3feb65c9d876ccdb9ef9eb3fe6fe8c',1,'grib2_all_tables_module']]], + ['maxtypeofintvls_64',['maxtypeofintvls',['../namespacegrib2__all__tables__module.html#aca61468245a26920e49aa4737c49f5fc',1,'grib2_all_tables_module']]], + ['maxtypeoforigfieldval_65',['maxtypeoforigfieldval',['../namespacegrib2__all__tables__module.html#ac2e82e3ac9340c791f0f5a857e014e42',1,'grib2_all_tables_module']]], + ['maxtypeofpackingmethod_66',['maxtypeofpackingmethod',['../namespacegrib2__all__tables__module.html#a6333d3f9dd9e8c051adb8d6ed31ba725',1,'grib2_all_tables_module']]], + ['maxtypeofprecip_67',['maxtypeofprecip',['../namespacegrib2__all__tables__module.html#a35628986ad32176299922fc7368409fa',1,'grib2_all_tables_module']]], + ['maxtypeofprob_68',['maxtypeofprob',['../namespacegrib2__all__tables__module.html#aee1aa2e215b18e9cb55dcb20d31d9e86',1,'grib2_all_tables_module']]], + ['maxtypeoftimeintvls_69',['maxtypeoftimeintvls',['../namespacegrib2__all__tables__module.html#a42f4964f39d1196a57c4394a271cc997',1,'grib2_all_tables_module']]], + ['maxunitoftimerange_70',['maxunitoftimerange',['../namespacegrib2__all__tables__module.html#adf11dd0546c0c874f193397496fe5191',1,'grib2_all_tables_module']]], + ['maxver_71',['maxver',['../namespacegrib2__all__tables__module.html#a7e3b3e88230076d60f152bd30ec7d3de',1,'grib2_all_tables_module']]], + ['mxfnlen_72',['MXFNLEN',['../process__4dot2_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'MXFNLEN(): process_4dot2.c'],['../process__4dot2_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'MXFNLEN(): process_4dot2.c']]], + ['mxg2mnem_73',['MXG2MNEM',['../process__4dot2_8c.html#a8b1a673bb7455ba2eee49d8fb521f3a9',1,'process_4dot2.c']]], + ['mxg2mnemp4_74',['MXG2MNEMP4',['../process__4dot2_8c.html#afc878039e3b684ccbee0b09d3728d9eb',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/all_5.html b/ver-1.10.0/search/all_5.html new file mode 100644 index 0000000..9dd9344 --- /dev/null +++ b/ver-1.10.0/search/all_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_5.js b/ver-1.10.0/search/all_5.js new file mode 100644 index 0000000..7c0bfe1 --- /dev/null +++ b/ver-1.10.0/search/all_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['nentry_75',['nentry',['../process__4dot2_8c.html#a79c2b98a28219018e41885beb0c784f7',1,'process_4dot2.c']]], + ['numalloc_76',['NUMALLOC',['../process__4dot2_8c.html#a761b93a9b0cea663191152eb12d55ccb',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/all_6.html b/ver-1.10.0/search/all_6.html new file mode 100644 index 0000000..f1e516d --- /dev/null +++ b/ver-1.10.0/search/all_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_6.js b/ver-1.10.0/search/all_6.js new file mode 100644 index 0000000..d55c423 --- /dev/null +++ b/ver-1.10.0/search/all_6.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['on388_5ftable0_77',['on388_table0',['../namespacegrib2__all__tables__module.html#ae3fa05187c1c3555612c74fb2beac9f7',1,'grib2_all_tables_module']]], + ['on388_5ftablea_78',['on388_tablea',['../namespacegrib2__all__tables__module.html#a95e75d17a9843e5eadc41d60fb3f641a',1,'grib2_all_tables_module']]], + ['open_5fand_5fread_5f4dot2_79',['open_and_read_4dot2',['../process__4dot2_8c.html#add8c6eeb0488ac4f8151dd33d13101eb',1,'process_4dot2.c']]], + ['order_5fof_5fsptdiff_5fvals_80',['order_of_sptdiff_vals',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1order__of__sptdiff__vals',1,'grib2_all_tables_module']]], + ['origin_5fcenters_81',['origin_centers',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1origin__centers',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/all_7.html b/ver-1.10.0/search/all_7.html new file mode 100644 index 0000000..8ddbf6c --- /dev/null +++ b/ver-1.10.0/search/all_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_7.js b/ver-1.10.0/search/all_7.js new file mode 100644 index 0000000..7d49d58 --- /dev/null +++ b/ver-1.10.0/search/all_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['pe0_82',['pe0',['../process__4dot2_8c.html#a297eeddc898582329f52e49d4b30700e',1,'process_4dot2.c']]], + ['process_5f4dot2_2ec_83',['process_4dot2.c',['../process__4dot2_8c.html',1,'']]], + ['prod_5fstatus_84',['prod_status',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1prod__status',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/all_8.html b/ver-1.10.0/search/all_8.html new file mode 100644 index 0000000..83c55ae --- /dev/null +++ b/ver-1.10.0/search/all_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_8.js b/ver-1.10.0/search/all_8.js new file mode 100644 index 0000000..85ecc2d --- /dev/null +++ b/ver-1.10.0/search/all_8.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['search_5ffor_5f4dot2_5fentry_85',['search_for_4dot2_entry',['../process__4dot2_8c.html#a36793a517e6e09e3ec17fbec5f1e3a98',1,'process_4dot2.c']]], + ['sigreftime_86',['sigreftime',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1sigreftime',1,'grib2_all_tables_module']]], + ['sort_5fand_5fwrite_5f4dot2_87',['sort_and_write_4dot2',['../process__4dot2_8c.html#ae7dec29e33a953e88c870eba778d1492',1,'process_4dot2.c']]], + ['sort_5fparams_5fgrib2_5ftbl_88',['sort_params_grib2_tbl',['../sort__params__grib2__tbl_8f90.html#a9680ad20b61771d57dba006c0df68eb4',1,'sort_params_grib2_tbl.f90']]], + ['sort_5fparams_5fgrib2_5ftbl_2ef90_89',['sort_params_grib2_tbl.f90',['../sort__params__grib2__tbl_8f90.html',1,'']]], + ['statistical_5fprocessing_5ftypes_90',['statistical_processing_types',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1statistical__processing__types',1,'grib2_all_tables_module']]], + ['subcenters_91',['subcenters',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1subcenters',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/all_9.html b/ver-1.10.0/search/all_9.html new file mode 100644 index 0000000..1e263c1 --- /dev/null +++ b/ver-1.10.0/search/all_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_9.js b/ver-1.10.0/search/all_9.js new file mode 100644 index 0000000..d96ceaa --- /dev/null +++ b/ver-1.10.0/search/all_9.js @@ -0,0 +1,38 @@ +var searchData= +[ + ['table1_5f0_92',['table1_0',['../namespacegrib2__all__tables__module.html#ab8b7e39ae67d6ab3b4777541f78b245b',1,'grib2_all_tables_module']]], + ['table1_5f1_93',['table1_1',['../namespacegrib2__all__tables__module.html#a48024af6b6986da2cd96d71c07519d68',1,'grib2_all_tables_module']]], + ['table1_5f2_94',['table1_2',['../namespacegrib2__all__tables__module.html#ac2c1862104e1028e45499d196db293b2',1,'grib2_all_tables_module']]], + ['table1_5f3_95',['table1_3',['../namespacegrib2__all__tables__module.html#a0772a2b23a8acc63d2f50379fef133ab',1,'grib2_all_tables_module']]], + ['table1_5f4_96',['table1_4',['../namespacegrib2__all__tables__module.html#a77815af9e185c6dfa687acf0f5a3d8be',1,'grib2_all_tables_module']]], + ['table4_5f10_97',['table4_10',['../namespacegrib2__all__tables__module.html#aff2b3835d1dc9289cbc743538f7e32d1',1,'grib2_all_tables_module']]], + ['table4_5f11_98',['table4_11',['../namespacegrib2__all__tables__module.html#a1a9865342aa9362d62bd51e4fe03ea98',1,'grib2_all_tables_module']]], + ['table4_5f201_99',['table4_201',['../namespacegrib2__all__tables__module.html#a4d8c0ab7d90e16ba1e7ba2fafb7e645d',1,'grib2_all_tables_module']]], + ['table4_5f233_100',['table4_233',['../namespacegrib2__all__tables__module.html#a2dcfacd3fd77925c376c552399c30c14',1,'grib2_all_tables_module']]], + ['table4_5f3_101',['table4_3',['../namespacegrib2__all__tables__module.html#a0c7692a08f88aa0e8d01a17bf029c702',1,'grib2_all_tables_module']]], + ['table4_5f4_102',['table4_4',['../namespacegrib2__all__tables__module.html#acb8905414d65ea7198680280422781cf',1,'grib2_all_tables_module']]], + ['table4_5f5_103',['table4_5',['../namespacegrib2__all__tables__module.html#aca9caa7edc2eb9c536751beb619ec7b2',1,'grib2_all_tables_module']]], + ['table4_5f6_104',['table4_6',['../namespacegrib2__all__tables__module.html#a892a919ce9a9004401956189bda9228f',1,'grib2_all_tables_module']]], + ['table4_5f7_105',['table4_7',['../namespacegrib2__all__tables__module.html#a3bc05af06028e90565b0403da1f27dd5',1,'grib2_all_tables_module']]], + ['table4_5f8_106',['table4_8',['../namespacegrib2__all__tables__module.html#adc67dae3300336b4054a18a28dd387c4',1,'grib2_all_tables_module']]], + ['table4_5f9_107',['table4_9',['../namespacegrib2__all__tables__module.html#a43fd72d4b1c07b3c945d2d950d1b3b7f',1,'grib2_all_tables_module']]], + ['table4_5f91_108',['table4_91',['../namespacegrib2__all__tables__module.html#a914b8271dbe73018f9b45831a2f56c60',1,'grib2_all_tables_module']]], + ['table5_5f0_109',['table5_0',['../namespacegrib2__all__tables__module.html#a63cbd073a2f47ffd034eb0fa92539228',1,'grib2_all_tables_module']]], + ['table5_5f1_110',['table5_1',['../namespacegrib2__all__tables__module.html#a544179854d04ab2039cfb2bd5c42320a',1,'grib2_all_tables_module']]], + ['table5_5f40_111',['table5_40',['../namespacegrib2__all__tables__module.html#a4390b46591268745d08b7250aaa62eeb',1,'grib2_all_tables_module']]], + ['table5_5f6_112',['table5_6',['../namespacegrib2__all__tables__module.html#a0be606501cd5ef071762d41582162167',1,'grib2_all_tables_module']]], + ['tablec_113',['tablec',['../namespacegrib2__all__tables__module.html#a112a173dcef23d668ff230c27ec9b727',1,'grib2_all_tables_module']]], + ['type_5fof_5faerosol_114',['type_of_aerosol',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__aerosol',1,'grib2_all_tables_module']]], + ['type_5fof_5fcluster_115',['type_of_cluster',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__cluster',1,'grib2_all_tables_module']]], + ['type_5fof_5fcompression_116',['type_of_compression',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__compression',1,'grib2_all_tables_module']]], + ['type_5fof_5fdata_117',['type_of_data',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__data',1,'grib2_all_tables_module']]], + ['type_5fof_5fderive_5ffcst_118',['type_of_derive_fcst',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__derive__fcst',1,'grib2_all_tables_module']]], + ['type_5fof_5fens_5ffcst_119',['type_of_ens_fcst',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__ens__fcst',1,'grib2_all_tables_module']]], + ['type_5fof_5fgen_5fproc_120',['type_of_gen_proc',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__gen__proc',1,'grib2_all_tables_module']]], + ['type_5fof_5fintervals_121',['type_of_intervals',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__intervals',1,'grib2_all_tables_module']]], + ['type_5fof_5forig_5ffield_5fvals_122',['type_of_orig_field_vals',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__orig__field__vals',1,'grib2_all_tables_module']]], + ['type_5fof_5fpackingmethod_123',['type_of_packingmethod',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__packingmethod',1,'grib2_all_tables_module']]], + ['type_5fof_5fprecip_124',['type_of_precip',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__precip',1,'grib2_all_tables_module']]], + ['type_5fof_5fprob_125',['type_of_prob',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__prob',1,'grib2_all_tables_module']]], + ['type_5fof_5ftime_5fintervals_126',['type_of_time_intervals',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__time__intervals',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/all_a.html b/ver-1.10.0/search/all_a.html new file mode 100644 index 0000000..3a6cac1 --- /dev/null +++ b/ver-1.10.0/search/all_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_a.js b/ver-1.10.0/search/all_a.js new file mode 100644 index 0000000..41c4164 --- /dev/null +++ b/ver-1.10.0/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unit_5fof_5ftime_5frange_127',['unit_of_time_range',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1unit__of__time__range',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/all_b.html b/ver-1.10.0/search/all_b.html new file mode 100644 index 0000000..130deb4 --- /dev/null +++ b/ver-1.10.0/search/all_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/all_b.js b/ver-1.10.0/search/all_b.js new file mode 100644 index 0000000..f7f1336 --- /dev/null +++ b/ver-1.10.0/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version_5fno_128',['version_no',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1version__no',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_0.html b/ver-1.10.0/search/classes_0.html new file mode 100644 index 0000000..af8159e --- /dev/null +++ b/ver-1.10.0/search/classes_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_0.js b/ver-1.10.0/search/classes_0.js new file mode 100644 index 0000000..4e81ec4 --- /dev/null +++ b/ver-1.10.0/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fixed_5fsurface_5ftypes_129',['fixed_surface_types',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1fixed__surface__types',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_1.html b/ver-1.10.0/search/classes_1.html new file mode 100644 index 0000000..576e916 --- /dev/null +++ b/ver-1.10.0/search/classes_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_1.js b/ver-1.10.0/search/classes_1.js new file mode 100644 index 0000000..8fbacf4 --- /dev/null +++ b/ver-1.10.0/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['gen_5fproc_130',['gen_proc',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1gen__proc',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_2.html b/ver-1.10.0/search/classes_2.html new file mode 100644 index 0000000..956405e --- /dev/null +++ b/ver-1.10.0/search/classes_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_2.js b/ver-1.10.0/search/classes_2.js new file mode 100644 index 0000000..70793ff --- /dev/null +++ b/ver-1.10.0/search/classes_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['local_5ftable_5fvers_5fno_131',['local_table_vers_no',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1local__table__vers__no',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_3.html b/ver-1.10.0/search/classes_3.html new file mode 100644 index 0000000..d33343b --- /dev/null +++ b/ver-1.10.0/search/classes_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_3.js b/ver-1.10.0/search/classes_3.js new file mode 100644 index 0000000..3b4ce92 --- /dev/null +++ b/ver-1.10.0/search/classes_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['order_5fof_5fsptdiff_5fvals_132',['order_of_sptdiff_vals',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1order__of__sptdiff__vals',1,'grib2_all_tables_module']]], + ['origin_5fcenters_133',['origin_centers',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1origin__centers',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_4.html b/ver-1.10.0/search/classes_4.html new file mode 100644 index 0000000..8430b07 --- /dev/null +++ b/ver-1.10.0/search/classes_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_4.js b/ver-1.10.0/search/classes_4.js new file mode 100644 index 0000000..f03a7d2 --- /dev/null +++ b/ver-1.10.0/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['prod_5fstatus_134',['prod_status',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1prod__status',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_5.html b/ver-1.10.0/search/classes_5.html new file mode 100644 index 0000000..c2f1b76 --- /dev/null +++ b/ver-1.10.0/search/classes_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_5.js b/ver-1.10.0/search/classes_5.js new file mode 100644 index 0000000..60e3e09 --- /dev/null +++ b/ver-1.10.0/search/classes_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['sigreftime_135',['sigreftime',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1sigreftime',1,'grib2_all_tables_module']]], + ['statistical_5fprocessing_5ftypes_136',['statistical_processing_types',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1statistical__processing__types',1,'grib2_all_tables_module']]], + ['subcenters_137',['subcenters',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1subcenters',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_6.html b/ver-1.10.0/search/classes_6.html new file mode 100644 index 0000000..e39847c --- /dev/null +++ b/ver-1.10.0/search/classes_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_6.js b/ver-1.10.0/search/classes_6.js new file mode 100644 index 0000000..b7fcfb4 --- /dev/null +++ b/ver-1.10.0/search/classes_6.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['type_5fof_5faerosol_138',['type_of_aerosol',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__aerosol',1,'grib2_all_tables_module']]], + ['type_5fof_5fcluster_139',['type_of_cluster',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__cluster',1,'grib2_all_tables_module']]], + ['type_5fof_5fcompression_140',['type_of_compression',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__compression',1,'grib2_all_tables_module']]], + ['type_5fof_5fdata_141',['type_of_data',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__data',1,'grib2_all_tables_module']]], + ['type_5fof_5fderive_5ffcst_142',['type_of_derive_fcst',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__derive__fcst',1,'grib2_all_tables_module']]], + ['type_5fof_5fens_5ffcst_143',['type_of_ens_fcst',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__ens__fcst',1,'grib2_all_tables_module']]], + ['type_5fof_5fgen_5fproc_144',['type_of_gen_proc',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__gen__proc',1,'grib2_all_tables_module']]], + ['type_5fof_5fintervals_145',['type_of_intervals',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__intervals',1,'grib2_all_tables_module']]], + ['type_5fof_5forig_5ffield_5fvals_146',['type_of_orig_field_vals',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__orig__field__vals',1,'grib2_all_tables_module']]], + ['type_5fof_5fpackingmethod_147',['type_of_packingmethod',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__packingmethod',1,'grib2_all_tables_module']]], + ['type_5fof_5fprecip_148',['type_of_precip',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__precip',1,'grib2_all_tables_module']]], + ['type_5fof_5fprob_149',['type_of_prob',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__prob',1,'grib2_all_tables_module']]], + ['type_5fof_5ftime_5fintervals_150',['type_of_time_intervals',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__time__intervals',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_7.html b/ver-1.10.0/search/classes_7.html new file mode 100644 index 0000000..a2c4d1a --- /dev/null +++ b/ver-1.10.0/search/classes_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_7.js b/ver-1.10.0/search/classes_7.js new file mode 100644 index 0000000..cbea1e4 --- /dev/null +++ b/ver-1.10.0/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unit_5fof_5ftime_5frange_151',['unit_of_time_range',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1unit__of__time__range',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/classes_8.html b/ver-1.10.0/search/classes_8.html new file mode 100644 index 0000000..17003e4 --- /dev/null +++ b/ver-1.10.0/search/classes_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/classes_8.js b/ver-1.10.0/search/classes_8.js new file mode 100644 index 0000000..b546799 --- /dev/null +++ b/ver-1.10.0/search/classes_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version_5fno_152',['version_no',['../namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1version__no',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/close.svg b/ver-1.10.0/search/close.svg new file mode 100644 index 0000000..a933eea --- /dev/null +++ b/ver-1.10.0/search/close.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/ver-1.10.0/search/defines_0.html b/ver-1.10.0/search/defines_0.html new file mode 100644 index 0000000..15cc3de --- /dev/null +++ b/ver-1.10.0/search/defines_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/defines_0.js b/ver-1.10.0/search/defines_0.js new file mode 100644 index 0000000..c07593c --- /dev/null +++ b/ver-1.10.0/search/defines_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['mxfnlen_254',['MXFNLEN',['../process__4dot2_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'MXFNLEN(): process_4dot2.c'],['../process__4dot2_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692',1,'MXFNLEN(): process_4dot2.c']]], + ['mxg2mnem_255',['MXG2MNEM',['../process__4dot2_8c.html#a8b1a673bb7455ba2eee49d8fb521f3a9',1,'process_4dot2.c']]], + ['mxg2mnemp4_256',['MXG2MNEMP4',['../process__4dot2_8c.html#afc878039e3b684ccbee0b09d3728d9eb',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/defines_1.html b/ver-1.10.0/search/defines_1.html new file mode 100644 index 0000000..c49009c --- /dev/null +++ b/ver-1.10.0/search/defines_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/defines_1.js b/ver-1.10.0/search/defines_1.js new file mode 100644 index 0000000..53d6ed8 --- /dev/null +++ b/ver-1.10.0/search/defines_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['numalloc_257',['NUMALLOC',['../process__4dot2_8c.html#a761b93a9b0cea663191152eb12d55ccb',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/files_0.html b/ver-1.10.0/search/files_0.html new file mode 100644 index 0000000..9498842 --- /dev/null +++ b/ver-1.10.0/search/files_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/files_0.js b/ver-1.10.0/search/files_0.js new file mode 100644 index 0000000..d8f5b3a --- /dev/null +++ b/ver-1.10.0/search/files_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['g2sec4_5ftemp1_2ef90_154',['g2sec4_temp1.f90',['../g2sec4__temp1_8f90.html',1,'']]], + ['g2sec4_5ftemp11_2ef90_155',['g2sec4_temp11.f90',['../g2sec4__temp11_8f90.html',1,'']]], + ['g2sec4_5ftemp12_2ef90_156',['g2sec4_temp12.f90',['../g2sec4__temp12_8f90.html',1,'']]], + ['grib2_5fall_5ftables_5fmodule_2ef90_157',['grib2_all_tables_module.f90',['../grib2__all__tables__module_8f90.html',1,'']]] +]; diff --git a/ver-1.10.0/search/files_1.html b/ver-1.10.0/search/files_1.html new file mode 100644 index 0000000..7050ef4 --- /dev/null +++ b/ver-1.10.0/search/files_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/files_1.js b/ver-1.10.0/search/files_1.js new file mode 100644 index 0000000..6c6c295 --- /dev/null +++ b/ver-1.10.0/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['process_5f4dot2_2ec_158',['process_4dot2.c',['../process__4dot2_8c.html',1,'']]] +]; diff --git a/ver-1.10.0/search/files_2.html b/ver-1.10.0/search/files_2.html new file mode 100644 index 0000000..497cdf5 --- /dev/null +++ b/ver-1.10.0/search/files_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/files_2.js b/ver-1.10.0/search/files_2.js new file mode 100644 index 0000000..da6b744 --- /dev/null +++ b/ver-1.10.0/search/files_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['sort_5fparams_5fgrib2_5ftbl_2ef90_159',['sort_params_grib2_tbl.f90',['../sort__params__grib2__tbl_8f90.html',1,'']]] +]; diff --git a/ver-1.10.0/search/functions_0.html b/ver-1.10.0/search/functions_0.html new file mode 100644 index 0000000..eb4c501 --- /dev/null +++ b/ver-1.10.0/search/functions_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/functions_0.js b/ver-1.10.0/search/functions_0.js new file mode 100644 index 0000000..87493fe --- /dev/null +++ b/ver-1.10.0/search/functions_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['close_5f4dot2_160',['close_4dot2',['../process__4dot2_8c.html#afe7898eb18503a1c68d07703f40ced75',1,'process_4dot2.c']]], + ['compar_161',['compar',['../process__4dot2_8c.html#a8c7a1f1e806a2ba338de65da418431c8',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/functions_1.html b/ver-1.10.0/search/functions_1.html new file mode 100644 index 0000000..ef4088b --- /dev/null +++ b/ver-1.10.0/search/functions_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/functions_1.js b/ver-1.10.0/search/functions_1.js new file mode 100644 index 0000000..3f2dd7b --- /dev/null +++ b/ver-1.10.0/search/functions_1.js @@ -0,0 +1,40 @@ +var searchData= +[ + ['g2sec0_162',['g2sec0',['../namespacegrib2__all__tables__module.html#a95104687814c91720bf13d9c736adc53',1,'grib2_all_tables_module']]], + ['g2sec1_163',['g2sec1',['../namespacegrib2__all__tables__module.html#a0b34a4a08b7ee738b5059ed7d82873aa',1,'grib2_all_tables_module']]], + ['g2sec4_5ftemp0_164',['g2sec4_temp0',['../namespacegrib2__all__tables__module.html#a9ed56310c55ea4bd91b46dae062ff315',1,'grib2_all_tables_module']]], + ['g2sec4_5ftemp1_165',['g2sec4_temp1',['../g2sec4__temp1_8f90.html#a6ba22e2d7b2b563c8537d4663229cd1f',1,'g2sec4_temp1.f90']]], + ['g2sec4_5ftemp11_166',['g2sec4_temp11',['../g2sec4__temp11_8f90.html#ab5cee8a89e691bef9b8c4a5e58c474f8',1,'g2sec4_temp11.f90']]], + ['g2sec4_5ftemp12_167',['g2sec4_temp12',['../g2sec4__temp12_8f90.html#a3c0b7c0a8a1e39cc7fef4d75bb7f96bf',1,'g2sec4_temp12.f90']]], + ['g2sec4_5ftemp44_168',['g2sec4_temp44',['../namespacegrib2__all__tables__module.html#a9b4376b4abe34c007f575b8e544d3ba0',1,'grib2_all_tables_module']]], + ['g2sec4_5ftemp48_169',['g2sec4_temp48',['../namespacegrib2__all__tables__module.html#a7e3b1ffda5f0a1234a39425a26d81b1d',1,'grib2_all_tables_module']]], + ['g2sec4_5ftemp8_170',['g2sec4_temp8',['../namespacegrib2__all__tables__module.html#ad54b7e506841ab1d50bf89b39334430b',1,'grib2_all_tables_module']]], + ['g2sec5_5ftemp0_171',['g2sec5_temp0',['../namespacegrib2__all__tables__module.html#ac71701de1f47f704dbdfb648fac19530',1,'grib2_all_tables_module']]], + ['g2sec5_5ftemp2_172',['g2sec5_temp2',['../namespacegrib2__all__tables__module.html#abb9391b2ef03d619ffbb1eca9b55c664',1,'grib2_all_tables_module']]], + ['g2sec5_5ftemp3_173',['g2sec5_temp3',['../namespacegrib2__all__tables__module.html#a02a58228da00cef6e052ac936b748263',1,'grib2_all_tables_module']]], + ['g2sec5_5ftemp40_174',['g2sec5_temp40',['../namespacegrib2__all__tables__module.html#ac39a4db701fd56e63b2285713514fa76',1,'grib2_all_tables_module']]], + ['get_5fg2_5ffixedsurfacetypes_175',['get_g2_fixedsurfacetypes',['../namespacegrib2__all__tables__module.html#a3280b3edfc4db22a8c373662eca30b09',1,'grib2_all_tables_module']]], + ['get_5fg2_5floctabversno_176',['get_g2_loctabversno',['../namespacegrib2__all__tables__module.html#afcf3af13d5b9fa044b59da7ce51fab05',1,'grib2_all_tables_module']]], + ['get_5fg2_5fon388genproc_177',['get_g2_on388genproc',['../namespacegrib2__all__tables__module.html#a01337aa68ede1097c736270824bffaba',1,'grib2_all_tables_module']]], + ['get_5fg2_5fon388origincenters_178',['get_g2_on388origincenters',['../namespacegrib2__all__tables__module.html#afcfd6b66a7eb88a71aee08ba63dfceba',1,'grib2_all_tables_module']]], + ['get_5fg2_5fordofspcdiffvals_179',['get_g2_ordofspcdiffvals',['../namespacegrib2__all__tables__module.html#a306f773232def462c9dcc84b7612b739',1,'grib2_all_tables_module']]], + ['get_5fg2_5fprodstatus_180',['get_g2_prodstatus',['../namespacegrib2__all__tables__module.html#ad34c2c50271cf55e57323fa82f12e79d',1,'grib2_all_tables_module']]], + ['get_5fg2_5fsec5packingmethod_181',['get_g2_sec5packingmethod',['../namespacegrib2__all__tables__module.html#af03e78d303af639b0311e96be2bc37d2',1,'grib2_all_tables_module']]], + ['get_5fg2_5fsigreftime_182',['get_g2_sigreftime',['../namespacegrib2__all__tables__module.html#a1646f06c31a03be74a992a1de60469cf',1,'grib2_all_tables_module']]], + ['get_5fg2_5fstatprocesstypes_183',['get_g2_statprocesstypes',['../namespacegrib2__all__tables__module.html#a5184d4968a27f1a349608befd735533b',1,'grib2_all_tables_module']]], + ['get_5fg2_5fsubcenters_184',['get_g2_subcenters',['../namespacegrib2__all__tables__module.html#a10947b2b8e872e5090def0a3f4e1e805',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofaerosol_185',['get_g2_typeofaerosol',['../namespacegrib2__all__tables__module.html#ad6f79e466077e8b6de6b501796c5f337',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofcluster_186',['get_g2_typeofcluster',['../namespacegrib2__all__tables__module.html#a6dba348a5bddc07edf405d704d3bc7eb',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofcompression_187',['get_g2_typeofcompression',['../namespacegrib2__all__tables__module.html#a7e4a12abeae82a4605cb60e68af24607',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofdata_188',['get_g2_typeofdata',['../namespacegrib2__all__tables__module.html#a4158dad47c775d41196cde17ee5ac293',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofderivefcst_189',['get_g2_typeofderivefcst',['../namespacegrib2__all__tables__module.html#a290de96fd327fec7812b0d6e67cbcdf0',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofensfcst_190',['get_g2_typeofensfcst',['../namespacegrib2__all__tables__module.html#ae99e018c07efce0a8e50c56bf14da061',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofgenproc_191',['get_g2_typeofgenproc',['../namespacegrib2__all__tables__module.html#a0c2824e1961b2089872d885b98662e18',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofintervals_192',['get_g2_typeofintervals',['../namespacegrib2__all__tables__module.html#a88838d93235dbb3dc82f45f2edcae606',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeoforigfieldvals_193',['get_g2_typeoforigfieldvals',['../namespacegrib2__all__tables__module.html#a43aafb243c395268f5cb8df0d743a9c3',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofprecip_194',['get_g2_typeofprecip',['../namespacegrib2__all__tables__module.html#ace5972d1da91bd26615fc8257bdcaf99',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeofprob_195',['get_g2_typeofprob',['../namespacegrib2__all__tables__module.html#aff9b7991a49d567d87672efcbd400cbf',1,'grib2_all_tables_module']]], + ['get_5fg2_5ftypeoftimeintervals_196',['get_g2_typeoftimeintervals',['../namespacegrib2__all__tables__module.html#a0d31ea8d64a7ad96a63f0899b82873c2',1,'grib2_all_tables_module']]], + ['get_5fg2_5funitoftimerange_197',['get_g2_unitoftimerange',['../namespacegrib2__all__tables__module.html#a93e13a2e958855047bb2132d35cd514d',1,'grib2_all_tables_module']]], + ['get_5fg2_5fversionno_198',['get_g2_versionno',['../namespacegrib2__all__tables__module.html#ac6c81587f672224e2521124253a1293f',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/functions_2.html b/ver-1.10.0/search/functions_2.html new file mode 100644 index 0000000..ca5aa10 --- /dev/null +++ b/ver-1.10.0/search/functions_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/functions_2.js b/ver-1.10.0/search/functions_2.js new file mode 100644 index 0000000..8382442 --- /dev/null +++ b/ver-1.10.0/search/functions_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['open_5fand_5fread_5f4dot2_199',['open_and_read_4dot2',['../process__4dot2_8c.html#add8c6eeb0488ac4f8151dd33d13101eb',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/functions_3.html b/ver-1.10.0/search/functions_3.html new file mode 100644 index 0000000..d79f55b --- /dev/null +++ b/ver-1.10.0/search/functions_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/functions_3.js b/ver-1.10.0/search/functions_3.js new file mode 100644 index 0000000..afda9f2 --- /dev/null +++ b/ver-1.10.0/search/functions_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['search_5ffor_5f4dot2_5fentry_200',['search_for_4dot2_entry',['../process__4dot2_8c.html#a36793a517e6e09e3ec17fbec5f1e3a98',1,'process_4dot2.c']]], + ['sort_5fand_5fwrite_5f4dot2_201',['sort_and_write_4dot2',['../process__4dot2_8c.html#ae7dec29e33a953e88c870eba778d1492',1,'process_4dot2.c']]], + ['sort_5fparams_5fgrib2_5ftbl_202',['sort_params_grib2_tbl',['../sort__params__grib2__tbl_8f90.html#a9680ad20b61771d57dba006c0df68eb4',1,'sort_params_grib2_tbl.f90']]] +]; diff --git a/ver-1.10.0/search/mag_sel.svg b/ver-1.10.0/search/mag_sel.svg new file mode 100644 index 0000000..03626f6 --- /dev/null +++ b/ver-1.10.0/search/mag_sel.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/ver-1.10.0/search/namespaces_0.html b/ver-1.10.0/search/namespaces_0.html new file mode 100644 index 0000000..21db2c3 --- /dev/null +++ b/ver-1.10.0/search/namespaces_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/namespaces_0.js b/ver-1.10.0/search/namespaces_0.js new file mode 100644 index 0000000..55bb826 --- /dev/null +++ b/ver-1.10.0/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['grib2_5fall_5ftables_5fmodule_153',['grib2_all_tables_module',['../namespacegrib2__all__tables__module.html',1,'']]] +]; diff --git a/ver-1.10.0/search/nomatches.html b/ver-1.10.0/search/nomatches.html new file mode 100644 index 0000000..2b9360b --- /dev/null +++ b/ver-1.10.0/search/nomatches.html @@ -0,0 +1,13 @@ + + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/ver-1.10.0/search/search.css b/ver-1.10.0/search/search.css new file mode 100644 index 0000000..9074198 --- /dev/null +++ b/ver-1.10.0/search/search.css @@ -0,0 +1,257 @@ +/*---------------- Search Box */ + +#MSearchBox { + white-space : nowrap; + background: white; + border-radius: 0.65em; + box-shadow: inset 0.5px 0.5px 3px 0px #555; + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + height: 1.4em; + padding: 0 0 0 0.3em; + margin: 0; +} + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 1.1em; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: #909090; + outline: none; + font-family: Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + height: 1.4em; + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: Arial, Verdana, sans-serif; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: Arial, Verdana, sans-serif; +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/ver-1.10.0/search/search.js b/ver-1.10.0/search/search.js new file mode 100644 index 0000000..fb226f7 --- /dev/null +++ b/ver-1.10.0/search/search.js @@ -0,0 +1,816 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches' + this.extension; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline-block'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/typedefs_0.js b/ver-1.10.0/search/typedefs_0.js new file mode 100644 index 0000000..65a7333 --- /dev/null +++ b/ver-1.10.0/search/typedefs_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['f77int_253',['f77int',['../process__4dot2_8c.html#a5c4dfc0f91864103ff0e0e94eb361822',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/variables_0.html b/ver-1.10.0/search/variables_0.html new file mode 100644 index 0000000..1e477c0 --- /dev/null +++ b/ver-1.10.0/search/variables_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/variables_0.js b/ver-1.10.0/search/variables_0.js new file mode 100644 index 0000000..84e6ff4 --- /dev/null +++ b/ver-1.10.0/search/variables_0.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['maxfixedsurfacetypes_203',['maxfixedsurfacetypes',['../namespacegrib2__all__tables__module.html#a4ab70056e9bf310f7d5d2b2d45e5c4b2',1,'grib2_all_tables_module']]], + ['maxgenproc_204',['maxgenproc',['../namespacegrib2__all__tables__module.html#ab5cda0077cff603a0fcd20caa2e6c390',1,'grib2_all_tables_module']]], + ['maxlocver_205',['maxlocver',['../namespacegrib2__all__tables__module.html#a9fee5632dc49831859167989a8ca4ce6',1,'grib2_all_tables_module']]], + ['maxordofsptdiff_206',['maxordofsptdiff',['../namespacegrib2__all__tables__module.html#a9abd2f78e88f78133c56835d5191b841',1,'grib2_all_tables_module']]], + ['maxorigincenters_207',['maxorigincenters',['../namespacegrib2__all__tables__module.html#a9b2c442c46296e136cc9719ad36cb659',1,'grib2_all_tables_module']]], + ['maxprodstatus_208',['maxprodstatus',['../namespacegrib2__all__tables__module.html#a864bb3fdc242e97a3d65e6c5aaea7ce7',1,'grib2_all_tables_module']]], + ['maxreftime_209',['maxreftime',['../namespacegrib2__all__tables__module.html#a281fe6da658210d003986df44df08e88',1,'grib2_all_tables_module']]], + ['maxstatprocesstypes_210',['maxstatprocesstypes',['../namespacegrib2__all__tables__module.html#ab3f23e6ff1eda90ec0d91c47b17bd918',1,'grib2_all_tables_module']]], + ['maxsubcen_211',['maxsubcen',['../namespacegrib2__all__tables__module.html#a99c672fa099fee4e3094866899b3f8a7',1,'grib2_all_tables_module']]], + ['maxtypeofaerosol_212',['maxtypeofaerosol',['../namespacegrib2__all__tables__module.html#aa77c7e55b75e808ebdceaa9e96d4fbe1',1,'grib2_all_tables_module']]], + ['maxtypeofcluster_213',['maxtypeofcluster',['../namespacegrib2__all__tables__module.html#acd11ade3f4e066846232c3b710735f8b',1,'grib2_all_tables_module']]], + ['maxtypeofcompression_214',['maxtypeofcompression',['../namespacegrib2__all__tables__module.html#a8780fc8d2318ee55f40964c55fb091dd',1,'grib2_all_tables_module']]], + ['maxtypeofdata_215',['maxtypeofdata',['../namespacegrib2__all__tables__module.html#a81ccb544acc1d5538c77266dd34bc164',1,'grib2_all_tables_module']]], + ['maxtypeofderivefcst_216',['maxtypeofderivefcst',['../namespacegrib2__all__tables__module.html#a6f56515e50913f3536de65b61e43380d',1,'grib2_all_tables_module']]], + ['maxtypeofensfcst_217',['maxtypeofensfcst',['../namespacegrib2__all__tables__module.html#afb0d64858b6ad99180444d4e8acb8242',1,'grib2_all_tables_module']]], + ['maxtypeofgenproc_218',['maxtypeofgenproc',['../namespacegrib2__all__tables__module.html#ade3feb65c9d876ccdb9ef9eb3fe6fe8c',1,'grib2_all_tables_module']]], + ['maxtypeofintvls_219',['maxtypeofintvls',['../namespacegrib2__all__tables__module.html#aca61468245a26920e49aa4737c49f5fc',1,'grib2_all_tables_module']]], + ['maxtypeoforigfieldval_220',['maxtypeoforigfieldval',['../namespacegrib2__all__tables__module.html#ac2e82e3ac9340c791f0f5a857e014e42',1,'grib2_all_tables_module']]], + ['maxtypeofpackingmethod_221',['maxtypeofpackingmethod',['../namespacegrib2__all__tables__module.html#a6333d3f9dd9e8c051adb8d6ed31ba725',1,'grib2_all_tables_module']]], + ['maxtypeofprecip_222',['maxtypeofprecip',['../namespacegrib2__all__tables__module.html#a35628986ad32176299922fc7368409fa',1,'grib2_all_tables_module']]], + ['maxtypeofprob_223',['maxtypeofprob',['../namespacegrib2__all__tables__module.html#aee1aa2e215b18e9cb55dcb20d31d9e86',1,'grib2_all_tables_module']]], + ['maxtypeoftimeintvls_224',['maxtypeoftimeintvls',['../namespacegrib2__all__tables__module.html#a42f4964f39d1196a57c4394a271cc997',1,'grib2_all_tables_module']]], + ['maxunitoftimerange_225',['maxunitoftimerange',['../namespacegrib2__all__tables__module.html#adf11dd0546c0c874f193397496fe5191',1,'grib2_all_tables_module']]], + ['maxver_226',['maxver',['../namespacegrib2__all__tables__module.html#a7e3b3e88230076d60f152bd30ec7d3de',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/variables_1.html b/ver-1.10.0/search/variables_1.html new file mode 100644 index 0000000..ea73d9a --- /dev/null +++ b/ver-1.10.0/search/variables_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/variables_1.js b/ver-1.10.0/search/variables_1.js new file mode 100644 index 0000000..6c2a962 --- /dev/null +++ b/ver-1.10.0/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['nentry_227',['nentry',['../process__4dot2_8c.html#a79c2b98a28219018e41885beb0c784f7',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/variables_2.html b/ver-1.10.0/search/variables_2.html new file mode 100644 index 0000000..0580462 --- /dev/null +++ b/ver-1.10.0/search/variables_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/variables_2.js b/ver-1.10.0/search/variables_2.js new file mode 100644 index 0000000..fff4beb --- /dev/null +++ b/ver-1.10.0/search/variables_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['on388_5ftable0_228',['on388_table0',['../namespacegrib2__all__tables__module.html#ae3fa05187c1c3555612c74fb2beac9f7',1,'grib2_all_tables_module']]], + ['on388_5ftablea_229',['on388_tablea',['../namespacegrib2__all__tables__module.html#a95e75d17a9843e5eadc41d60fb3f641a',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/search/variables_3.html b/ver-1.10.0/search/variables_3.html new file mode 100644 index 0000000..0d69e76 --- /dev/null +++ b/ver-1.10.0/search/variables_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/variables_3.js b/ver-1.10.0/search/variables_3.js new file mode 100644 index 0000000..e858bf3 --- /dev/null +++ b/ver-1.10.0/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['pe0_230',['pe0',['../process__4dot2_8c.html#a297eeddc898582329f52e49d4b30700e',1,'process_4dot2.c']]] +]; diff --git a/ver-1.10.0/search/variables_4.html b/ver-1.10.0/search/variables_4.html new file mode 100644 index 0000000..a4b6506 --- /dev/null +++ b/ver-1.10.0/search/variables_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/ver-1.10.0/search/variables_4.js b/ver-1.10.0/search/variables_4.js new file mode 100644 index 0000000..f2976c0 --- /dev/null +++ b/ver-1.10.0/search/variables_4.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['table1_5f0_231',['table1_0',['../namespacegrib2__all__tables__module.html#ab8b7e39ae67d6ab3b4777541f78b245b',1,'grib2_all_tables_module']]], + ['table1_5f1_232',['table1_1',['../namespacegrib2__all__tables__module.html#a48024af6b6986da2cd96d71c07519d68',1,'grib2_all_tables_module']]], + ['table1_5f2_233',['table1_2',['../namespacegrib2__all__tables__module.html#ac2c1862104e1028e45499d196db293b2',1,'grib2_all_tables_module']]], + ['table1_5f3_234',['table1_3',['../namespacegrib2__all__tables__module.html#a0772a2b23a8acc63d2f50379fef133ab',1,'grib2_all_tables_module']]], + ['table1_5f4_235',['table1_4',['../namespacegrib2__all__tables__module.html#a77815af9e185c6dfa687acf0f5a3d8be',1,'grib2_all_tables_module']]], + ['table4_5f10_236',['table4_10',['../namespacegrib2__all__tables__module.html#aff2b3835d1dc9289cbc743538f7e32d1',1,'grib2_all_tables_module']]], + ['table4_5f11_237',['table4_11',['../namespacegrib2__all__tables__module.html#a1a9865342aa9362d62bd51e4fe03ea98',1,'grib2_all_tables_module']]], + ['table4_5f201_238',['table4_201',['../namespacegrib2__all__tables__module.html#a4d8c0ab7d90e16ba1e7ba2fafb7e645d',1,'grib2_all_tables_module']]], + ['table4_5f233_239',['table4_233',['../namespacegrib2__all__tables__module.html#a2dcfacd3fd77925c376c552399c30c14',1,'grib2_all_tables_module']]], + ['table4_5f3_240',['table4_3',['../namespacegrib2__all__tables__module.html#a0c7692a08f88aa0e8d01a17bf029c702',1,'grib2_all_tables_module']]], + ['table4_5f4_241',['table4_4',['../namespacegrib2__all__tables__module.html#acb8905414d65ea7198680280422781cf',1,'grib2_all_tables_module']]], + ['table4_5f5_242',['table4_5',['../namespacegrib2__all__tables__module.html#aca9caa7edc2eb9c536751beb619ec7b2',1,'grib2_all_tables_module']]], + ['table4_5f6_243',['table4_6',['../namespacegrib2__all__tables__module.html#a892a919ce9a9004401956189bda9228f',1,'grib2_all_tables_module']]], + ['table4_5f7_244',['table4_7',['../namespacegrib2__all__tables__module.html#a3bc05af06028e90565b0403da1f27dd5',1,'grib2_all_tables_module']]], + ['table4_5f8_245',['table4_8',['../namespacegrib2__all__tables__module.html#adc67dae3300336b4054a18a28dd387c4',1,'grib2_all_tables_module']]], + ['table4_5f9_246',['table4_9',['../namespacegrib2__all__tables__module.html#a43fd72d4b1c07b3c945d2d950d1b3b7f',1,'grib2_all_tables_module']]], + ['table4_5f91_247',['table4_91',['../namespacegrib2__all__tables__module.html#a914b8271dbe73018f9b45831a2f56c60',1,'grib2_all_tables_module']]], + ['table5_5f0_248',['table5_0',['../namespacegrib2__all__tables__module.html#a63cbd073a2f47ffd034eb0fa92539228',1,'grib2_all_tables_module']]], + ['table5_5f1_249',['table5_1',['../namespacegrib2__all__tables__module.html#a544179854d04ab2039cfb2bd5c42320a',1,'grib2_all_tables_module']]], + ['table5_5f40_250',['table5_40',['../namespacegrib2__all__tables__module.html#a4390b46591268745d08b7250aaa62eeb',1,'grib2_all_tables_module']]], + ['table5_5f6_251',['table5_6',['../namespacegrib2__all__tables__module.html#a0be606501cd5ef071762d41582162167',1,'grib2_all_tables_module']]], + ['tablec_252',['tablec',['../namespacegrib2__all__tables__module.html#a112a173dcef23d668ff230c27ec9b727',1,'grib2_all_tables_module']]] +]; diff --git a/ver-1.10.0/sort__params__grib2__tbl_8f90.html b/ver-1.10.0/sort__params__grib2__tbl_8f90.html new file mode 100644 index 0000000..1f013ec --- /dev/null +++ b/ver-1.10.0/sort__params__grib2__tbl_8f90.html @@ -0,0 +1,140 @@ + + + + + + + +NCEPLIBS-g2tmpl: sort_params_grib2_tbl.f90 File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    sort_params_grib2_tbl.f90 File Reference
    +
    +
    + +

    Read and sort params_grib2_tbl_new.text. +More...

    + +

    Go to the source code of this file.

    + + + + + +

    +Functions/Subroutines

    program sort_params_grib2_tbl
     This program reads params_grib2_tbl_new.text and writes the output file will be sorted with a format suitable for subsequent reading via the open_and_read_4dot2() function. More...
     
    +

    Detailed Description

    +

    Read and sort params_grib2_tbl_new.text.

    +
    Author
    ???
    + +

    Definition in file sort_params_grib2_tbl.f90.

    +

    Function/Subroutine Documentation

    + +

    ◆ sort_params_grib2_tbl()

    + +
    +
    + + + + +
    program sort_params_grib2_tbl
    +
    + +

    This program reads params_grib2_tbl_new.text and writes the output file will be sorted with a format suitable for subsequent reading via the open_and_read_4dot2() function.

    +
    Returns
    0 for sucess
    + +

    Definition at line 9 of file sort_params_grib2_tbl.f90.

    + +

    References open_and_read_4dot2(), and sort_and_write_4dot2().

    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/sort__params__grib2__tbl_8f90.js b/ver-1.10.0/sort__params__grib2__tbl_8f90.js new file mode 100644 index 0000000..4a34591 --- /dev/null +++ b/ver-1.10.0/sort__params__grib2__tbl_8f90.js @@ -0,0 +1,4 @@ +var sort__params__grib2__tbl_8f90 = +[ + [ "sort_params_grib2_tbl", "sort__params__grib2__tbl_8f90.html#a9680ad20b61771d57dba006c0df68eb4", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/sort__params__grib2__tbl_8f90_source.html b/ver-1.10.0/sort__params__grib2__tbl_8f90_source.html new file mode 100644 index 0000000..78da50b --- /dev/null +++ b/ver-1.10.0/sort__params__grib2__tbl_8f90_source.html @@ -0,0 +1,134 @@ + + + + + + + +NCEPLIBS-g2tmpl: sort_params_grib2_tbl.f90 Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    sort_params_grib2_tbl.f90
    +
    +
    +Go to the documentation of this file.
    1 
    +
    4 
    + + +
    11  integer idisc,icatg,iparm,locflg
    +
    12  character*255 fl_nametbl
    +
    13  locflg=0
    +
    14  idisc=0
    +
    15  icatg=0
    +
    16  iparm=0
    +
    17 
    +
    18  ! Opens and reads the GRIB2 Code Table 4.2 into an internal memory structure.
    +
    19  !
    +
    20  fl_nametbl='params_grib2_tbl_new'
    +
    21  call open_and_read_4dot2( fl_nametbl, ierr )
    +
    22  if ( ierr .ne. 0 ) then
    +
    23  print*, 'Couldnt open table file - return code was ',ierr
    +
    24  endif
    +
    25 
    +
    26  ! Sorts and writes the GRIB2 Code Table 4.2 to an output file.
    +
    27 
    +
    28  fl_nametbl='params_grib2_tbl_new'
    +
    29  call sort_and_write_4dot2( fl_nametbl, ierr )
    +
    30  print *, ""
    +
    31  print *, " The output params_grib2_tbl_new file sorted."
    +
    32  print *, ""
    +
    33  if ( ierr .ne. 0 ) then
    +
    34  print*, 'Couldnt open output file - return code was ',ierr
    +
    35  endif
    +
    36  stop
    +
    37 end Program sort_params_grib2_tbl
    +
    Define the variables in the derived data type discipline provided in Section 0.
    +
    void open_and_read_4dot2(char *, f77int *)
    Opens and reads the GRIB2 Code Table 4.2 into an internal memory structure.
    +
    void sort_and_write_4dot2(char *, f77int *)
    Sorts the contents of GRIB2 Code Table 4.2 within the internal memory structure and writes the output...
    +
    program sort_params_grib2_tbl
    This program reads params_grib2_tbl_new.text and writes the output file will be sorted with a format ...
    +
    +
    + + + + diff --git a/ver-1.10.0/splitbar.png b/ver-1.10.0/splitbar.png new file mode 100644 index 0000000..fe895f2 Binary files /dev/null and b/ver-1.10.0/splitbar.png differ diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1fixed__surface__types.html b/ver-1.10.0/structgrib2__all__tables__module_1_1fixed__surface__types.html new file mode 100644 index 0000000..4788ed5 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1fixed__surface__types.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::fixed_surface_types Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::fixed_surface_types Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=80) fixedsurfacetypeskey
     
    +integer fixedsurfacetypesval
     
    +

    Detailed Description

    +
    +

    Definition at line 263 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ fixedsurfacetypeskey

    + +
    +
    + + + + +
    character(len=80) grib2_all_tables_module::fixed_surface_types::fixedsurfacetypeskey
    +
    + +

    Definition at line 264 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ fixedsurfacetypesval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::fixed_surface_types::fixedsurfacetypesval
    +
    + +

    Definition at line 265 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1fixed__surface__types.js b/ver-1.10.0/structgrib2__all__tables__module_1_1fixed__surface__types.js new file mode 100644 index 0000000..7021cc0 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1fixed__surface__types.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1fixed__surface__types = +[ + [ "fixedsurfacetypeskey", "structgrib2__all__tables__module_1_1fixed__surface__types.html#ad710af69496d31e208df4283b6a27e05", null ], + [ "fixedsurfacetypesval", "structgrib2__all__tables__module_1_1fixed__surface__types.html#a3dfe0a772f741883bfd2942328b6d1ba", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1gen__proc.html b/ver-1.10.0/structgrib2__all__tables__module_1_1gen__proc.html new file mode 100644 index 0000000..d750d8e --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1gen__proc.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::gen_proc Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::gen_proc Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=30) genprockey
     
    +integer genprocval
     
    +

    Detailed Description

    +
    +

    Definition at line 999 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ genprockey

    + +
    +
    + + + + +
    character(len=30) grib2_all_tables_module::gen_proc::genprockey
    +
    + +

    Definition at line 1000 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ genprocval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::gen_proc::genprocval
    +
    + +

    Definition at line 1001 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1gen__proc.js b/ver-1.10.0/structgrib2__all__tables__module_1_1gen__proc.js new file mode 100644 index 0000000..fceb0cf --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1gen__proc.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1gen__proc = +[ + [ "genprockey", "structgrib2__all__tables__module_1_1gen__proc.html#a3a73bdbc23082a5b51ba3acfc151e02c", null ], + [ "genprocval", "structgrib2__all__tables__module_1_1gen__proc.html#a3d070ceb2bc9a4d6259530b5bd19125c", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1local__table__vers__no.html b/ver-1.10.0/structgrib2__all__tables__module_1_1local__table__vers__no.html new file mode 100644 index 0000000..5d1d6a4 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1local__table__vers__no.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::local_table_vers_no Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::local_table_vers_no Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=20) locverskey
     
    +integer locversval
     
    +

    Detailed Description

    +
    +

    Definition at line 120 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ locverskey

    + +
    +
    + + + + +
    character(len=20) grib2_all_tables_module::local_table_vers_no::locverskey
    +
    + +

    Definition at line 121 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ locversval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::local_table_vers_no::locversval
    +
    + +

    Definition at line 122 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1local__table__vers__no.js b/ver-1.10.0/structgrib2__all__tables__module_1_1local__table__vers__no.js new file mode 100644 index 0000000..c1f5eff --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1local__table__vers__no.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1local__table__vers__no = +[ + [ "locverskey", "structgrib2__all__tables__module_1_1local__table__vers__no.html#ac7c23d737c399a0cf91d825a1b7105b8", null ], + [ "locversval", "structgrib2__all__tables__module_1_1local__table__vers__no.html#ac506ecea79c0712525cd55624312608f", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1order__of__sptdiff__vals.html b/ver-1.10.0/structgrib2__all__tables__module_1_1order__of__sptdiff__vals.html new file mode 100644 index 0000000..aea7cdd --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1order__of__sptdiff__vals.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::order_of_sptdiff_vals Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::order_of_sptdiff_vals Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=50) ordofsptdiffkey
     
    +integer ordofsptdiffvals
     
    +

    Detailed Description

    +
    +

    Definition at line 728 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ ordofsptdiffkey

    + +
    +
    + + + + +
    character(len=50) grib2_all_tables_module::order_of_sptdiff_vals::ordofsptdiffkey
    +
    + +

    Definition at line 729 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ ordofsptdiffvals

    + +
    +
    + + + + +
    integer grib2_all_tables_module::order_of_sptdiff_vals::ordofsptdiffvals
    +
    + +

    Definition at line 730 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1order__of__sptdiff__vals.js b/ver-1.10.0/structgrib2__all__tables__module_1_1order__of__sptdiff__vals.js new file mode 100644 index 0000000..bed4f4e --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1order__of__sptdiff__vals.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1order__of__sptdiff__vals = +[ + [ "ordofsptdiffkey", "structgrib2__all__tables__module_1_1order__of__sptdiff__vals.html#a78d47b642803810f7b2b5ac417fb2c9b", null ], + [ "ordofsptdiffvals", "structgrib2__all__tables__module_1_1order__of__sptdiff__vals.html#a06c126f5c8d8ea181d2eea821a71fb82", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1origin__centers.html b/ver-1.10.0/structgrib2__all__tables__module_1_1origin__centers.html new file mode 100644 index 0000000..9248d88 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1origin__centers.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::origin_centers Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::origin_centers Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=50) origincenterskey
     
    +integer origincentersval
     
    +

    Detailed Description

    +
    +

    Definition at line 769 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ origincenterskey

    + +
    +
    + + + + +
    character(len=50) grib2_all_tables_module::origin_centers::origincenterskey
    +
    + +

    Definition at line 770 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ origincentersval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::origin_centers::origincentersval
    +
    + +

    Definition at line 771 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1origin__centers.js b/ver-1.10.0/structgrib2__all__tables__module_1_1origin__centers.js new file mode 100644 index 0000000..ec08fe7 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1origin__centers.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1origin__centers = +[ + [ "origincenterskey", "structgrib2__all__tables__module_1_1origin__centers.html#a00d0956429433167cd5a4d8059aaa318", null ], + [ "origincentersval", "structgrib2__all__tables__module_1_1origin__centers.html#a6c167e9d1022898279d1d204864bb54d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1prod__status.html b/ver-1.10.0/structgrib2__all__tables__module_1_1prod__status.html new file mode 100644 index 0000000..f023242 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1prod__status.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::prod_status Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::prod_status Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=20) prodstatuskey
     
    +integer prodstatusval
     
    +

    Detailed Description

    +
    +

    Definition at line 152 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ prodstatuskey

    + +
    +
    + + + + +
    character(len=20) grib2_all_tables_module::prod_status::prodstatuskey
    +
    + +

    Definition at line 153 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ prodstatusval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::prod_status::prodstatusval
    +
    + +

    Definition at line 154 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1prod__status.js b/ver-1.10.0/structgrib2__all__tables__module_1_1prod__status.js new file mode 100644 index 0000000..1948cc0 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1prod__status.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1prod__status = +[ + [ "prodstatuskey", "structgrib2__all__tables__module_1_1prod__status.html#a25925706e0342beb4ba710d771ab2294", null ], + [ "prodstatusval", "structgrib2__all__tables__module_1_1prod__status.html#a1df3f9ef5a208b20ea9ab252a398175d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1sigreftime.html b/ver-1.10.0/structgrib2__all__tables__module_1_1sigreftime.html new file mode 100644 index 0000000..dc35305 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1sigreftime.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::sigreftime Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::sigreftime Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=20) sigrefkey
     
    +integer sigrefval
     
    +

    Detailed Description

    +
    +

    Definition at line 136 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ sigrefkey

    + +
    +
    + + + + +
    character(len=20) grib2_all_tables_module::sigreftime::sigrefkey
    +
    + +

    Definition at line 137 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ sigrefval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::sigreftime::sigrefval
    +
    + +

    Definition at line 138 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1sigreftime.js b/ver-1.10.0/structgrib2__all__tables__module_1_1sigreftime.js new file mode 100644 index 0000000..9ecd13d --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1sigreftime.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1sigreftime = +[ + [ "sigrefkey", "structgrib2__all__tables__module_1_1sigreftime.html#a978b3234ee9d1e27a2cf083382f46d4a", null ], + [ "sigrefval", "structgrib2__all__tables__module_1_1sigreftime.html#abb0bb5391268f2aa80fb79216b9d8827", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1statistical__processing__types.html b/ver-1.10.0/structgrib2__all__tables__module_1_1statistical__processing__types.html new file mode 100644 index 0000000..92155ce --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1statistical__processing__types.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::statistical_processing_types Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::statistical_processing_types Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=80) statprocesstypeskey
     
    +integer statprocesstypesval
     
    +

    Detailed Description

    +
    +

    Definition at line 466 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ statprocesstypeskey

    + +
    +
    + + + + +
    character(len=80) grib2_all_tables_module::statistical_processing_types::statprocesstypeskey
    +
    + +

    Definition at line 467 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ statprocesstypesval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::statistical_processing_types::statprocesstypesval
    +
    + +

    Definition at line 468 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1statistical__processing__types.js b/ver-1.10.0/structgrib2__all__tables__module_1_1statistical__processing__types.js new file mode 100644 index 0000000..a352a74 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1statistical__processing__types.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1statistical__processing__types = +[ + [ "statprocesstypeskey", "structgrib2__all__tables__module_1_1statistical__processing__types.html#aa9f8b5b5907a2322595894f92733247f", null ], + [ "statprocesstypesval", "structgrib2__all__tables__module_1_1statistical__processing__types.html#a20bf6288447d78ca2ef0a0c5ca5df8cc", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1subcenters.html b/ver-1.10.0/structgrib2__all__tables__module_1_1subcenters.html new file mode 100644 index 0000000..3793004 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1subcenters.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::subcenters Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::subcenters Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=20) subcenkey
     
    +integer subcenval
     
    +

    Detailed Description

    +
    +

    Definition at line 53 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ subcenkey

    + +
    +
    + + + + +
    character(len=20) grib2_all_tables_module::subcenters::subcenkey
    +
    + +

    Definition at line 54 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ subcenval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::subcenters::subcenval
    +
    + +

    Definition at line 55 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1subcenters.js b/ver-1.10.0/structgrib2__all__tables__module_1_1subcenters.js new file mode 100644 index 0000000..ade9967 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1subcenters.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1subcenters = +[ + [ "subcenkey", "structgrib2__all__tables__module_1_1subcenters.html#a2cacdc6be0e495d9378296d1d5f21a15", null ], + [ "subcenval", "structgrib2__all__tables__module_1_1subcenters.html#a19efcbaf2e1ebcefee1969d11f9a8990", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__aerosol.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__aerosol.html new file mode 100644 index 0000000..a309973 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__aerosol.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_aerosol Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_aerosol Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=80) typeofaerosolkey
     
    +integer typeofaerosolval
     
    +

    Detailed Description

    +
    +

    Definition at line 572 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofaerosolkey

    + +
    +
    + + + + +
    character(len=80) grib2_all_tables_module::type_of_aerosol::typeofaerosolkey
    +
    + +

    Definition at line 573 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofaerosolval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_aerosol::typeofaerosolval
    +
    + +

    Definition at line 574 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__aerosol.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__aerosol.js new file mode 100644 index 0000000..14058d9 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__aerosol.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__aerosol = +[ + [ "typeofaerosolkey", "structgrib2__all__tables__module_1_1type__of__aerosol.html#ad3896ae7bfc83dcde44e70548726f694", null ], + [ "typeofaerosolval", "structgrib2__all__tables__module_1_1type__of__aerosol.html#a9bb1ed3dc6a0880401622cf460d55214", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__cluster.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__cluster.html new file mode 100644 index 0000000..c679ccd --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__cluster.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_cluster Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_cluster Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=80) typeofclusterkey
     
    +integer typeofclusterval
     
    +

    Detailed Description

    +
    +

    Definition at line 435 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofclusterkey

    + +
    +
    + + + + +
    character(len=80) grib2_all_tables_module::type_of_cluster::typeofclusterkey
    +
    + +

    Definition at line 436 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofclusterval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_cluster::typeofclusterval
    +
    + +

    Definition at line 437 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__cluster.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__cluster.js new file mode 100644 index 0000000..48090d6 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__cluster.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__cluster = +[ + [ "typeofclusterkey", "structgrib2__all__tables__module_1_1type__of__cluster.html#a1ca1b35d9f9f80c5a3f4855794db4371", null ], + [ "typeofclusterval", "structgrib2__all__tables__module_1_1type__of__cluster.html#a9ae8362d72a21dd4f116aa833429dfb6", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__compression.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__compression.html new file mode 100644 index 0000000..c9c6e0b --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__compression.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_compression Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_compression Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=50) typeofcompressionkey
     
    +integer typeofcompressionvals
     
    +

    Detailed Description

    +
    +

    Definition at line 739 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofcompressionkey

    + +
    +
    + + + + +
    character(len=50) grib2_all_tables_module::type_of_compression::typeofcompressionkey
    +
    + +

    Definition at line 740 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofcompressionvals

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_compression::typeofcompressionvals
    +
    + +

    Definition at line 741 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__compression.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__compression.js new file mode 100644 index 0000000..aff73a8 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__compression.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__compression = +[ + [ "typeofcompressionkey", "structgrib2__all__tables__module_1_1type__of__compression.html#a73e670f34fbe1a59529789d39255df5f", null ], + [ "typeofcompressionvals", "structgrib2__all__tables__module_1_1type__of__compression.html#a01947ff38f313317c8299020181315fc", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__data.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__data.html new file mode 100644 index 0000000..cf3c7b2 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__data.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_data Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_data Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=20) typeofdatakey
     
    +integer typeofdataval
     
    +

    Detailed Description

    +
    +

    Definition at line 174 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofdatakey

    + +
    +
    + + + + +
    character(len=20) grib2_all_tables_module::type_of_data::typeofdatakey
    +
    + +

    Definition at line 175 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofdataval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_data::typeofdataval
    +
    + +

    Definition at line 176 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__data.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__data.js new file mode 100644 index 0000000..5be6d51 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__data.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__data = +[ + [ "typeofdatakey", "structgrib2__all__tables__module_1_1type__of__data.html#a66bf5082b9e8058b2863d509d9be2297", null ], + [ "typeofdataval", "structgrib2__all__tables__module_1_1type__of__data.html#ae5b23da94d631fbc8b006961cc5262e4", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__derive__fcst.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__derive__fcst.html new file mode 100644 index 0000000..91f8d02 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__derive__fcst.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_derive_fcst Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_derive_fcst Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=50) typeofderivefcstkey
     
    +integer typeofderivefcstval
     
    +

    Detailed Description

    +
    +

    Definition at line 398 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofderivefcstkey

    + +
    +
    + + + + +
    character(len=50) grib2_all_tables_module::type_of_derive_fcst::typeofderivefcstkey
    +
    + +

    Definition at line 399 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofderivefcstval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_derive_fcst::typeofderivefcstval
    +
    + +

    Definition at line 400 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__derive__fcst.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__derive__fcst.js new file mode 100644 index 0000000..8acf61d --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__derive__fcst.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__derive__fcst = +[ + [ "typeofderivefcstkey", "structgrib2__all__tables__module_1_1type__of__derive__fcst.html#a2a276ca0ad6e6bf47b494657d1fe3d2c", null ], + [ "typeofderivefcstval", "structgrib2__all__tables__module_1_1type__of__derive__fcst.html#ab480a49178459432f35f0f5c5a7ebd4e", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__ens__fcst.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__ens__fcst.html new file mode 100644 index 0000000..253f550 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__ens__fcst.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_ens_fcst Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_ens_fcst Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=50) typeofensfcstkey
     
    +integer typeofensfcstval
     
    +

    Detailed Description

    +
    +

    Definition at line 383 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofensfcstkey

    + +
    +
    + + + + +
    character(len=50) grib2_all_tables_module::type_of_ens_fcst::typeofensfcstkey
    +
    + +

    Definition at line 384 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofensfcstval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_ens_fcst::typeofensfcstval
    +
    + +

    Definition at line 385 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__ens__fcst.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__ens__fcst.js new file mode 100644 index 0000000..9f9f196 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__ens__fcst.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__ens__fcst = +[ + [ "typeofensfcstkey", "structgrib2__all__tables__module_1_1type__of__ens__fcst.html#a408b0918d51d8dea762dde9ab37cc1c9", null ], + [ "typeofensfcstval", "structgrib2__all__tables__module_1_1type__of__ens__fcst.html#a523fc226b781bcf6b80961ccca349e79", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__gen__proc.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__gen__proc.html new file mode 100644 index 0000000..db535df --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__gen__proc.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_gen_proc Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_gen_proc Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=30) typeofgenprockey
     
    +integer typeofgenprocval
     
    +

    Detailed Description

    +
    +

    Definition at line 194 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofgenprockey

    + +
    +
    + + + + +
    character(len=30) grib2_all_tables_module::type_of_gen_proc::typeofgenprockey
    +
    + +

    Definition at line 195 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofgenprocval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_gen_proc::typeofgenprocval
    +
    + +

    Definition at line 196 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__gen__proc.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__gen__proc.js new file mode 100644 index 0000000..9db1ffe --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__gen__proc.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__gen__proc = +[ + [ "typeofgenprockey", "structgrib2__all__tables__module_1_1type__of__gen__proc.html#a94e82be712915069148bc00d8ca3b646", null ], + [ "typeofgenprocval", "structgrib2__all__tables__module_1_1type__of__gen__proc.html#a1aa6dead3825ded6ed93b9e269caf3c9", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__intervals.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__intervals.html new file mode 100644 index 0000000..b48217b --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__intervals.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_intervals Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_intervals Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=80) typeofintervalskey
     
    +integer typeofintervalsval
     
    +

    Detailed Description

    +
    +

    Definition at line 527 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofintervalskey

    + +
    +
    + + + + +
    character(len=80) grib2_all_tables_module::type_of_intervals::typeofintervalskey
    +
    + +

    Definition at line 528 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofintervalsval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_intervals::typeofintervalsval
    +
    + +

    Definition at line 529 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__intervals.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__intervals.js new file mode 100644 index 0000000..3ca253f --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__intervals.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__intervals = +[ + [ "typeofintervalskey", "structgrib2__all__tables__module_1_1type__of__intervals.html#a83f4372604c38fdc56c3cc950364cbe2", null ], + [ "typeofintervalsval", "structgrib2__all__tables__module_1_1type__of__intervals.html#af781c237b5d61e74ed9901849f3c565d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__orig__field__vals.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__orig__field__vals.html new file mode 100644 index 0000000..af33430 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__orig__field__vals.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_orig_field_vals Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_orig_field_vals Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +integer typeoforigfieldvals
     
    +character(len=50) typeoforigfieldvalskey
     
    +

    Detailed Description

    +
    +

    Definition at line 707 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeoforigfieldvals

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_orig_field_vals::typeoforigfieldvals
    +
    + +

    Definition at line 709 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeoforigfieldvalskey

    + +
    +
    + + + + +
    character(len=50) grib2_all_tables_module::type_of_orig_field_vals::typeoforigfieldvalskey
    +
    + +

    Definition at line 708 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__orig__field__vals.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__orig__field__vals.js new file mode 100644 index 0000000..ba8c16c --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__orig__field__vals.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__orig__field__vals = +[ + [ "typeoforigfieldvals", "structgrib2__all__tables__module_1_1type__of__orig__field__vals.html#acb1dd209125ed2a334be404bdd239bb6", null ], + [ "typeoforigfieldvalskey", "structgrib2__all__tables__module_1_1type__of__orig__field__vals.html#a0805ab7195cd723307d4197aad8032df", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__packingmethod.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__packingmethod.html new file mode 100644 index 0000000..f472a85 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__packingmethod.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_packingmethod Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_packingmethod Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=50) packingmethodkey
     
    +integer packingmethodvals
     
    +

    Detailed Description

    +
    +

    Definition at line 750 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ packingmethodkey

    + +
    +
    + + + + +
    character(len=50) grib2_all_tables_module::type_of_packingmethod::packingmethodkey
    +
    + +

    Definition at line 751 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ packingmethodvals

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_packingmethod::packingmethodvals
    +
    + +

    Definition at line 752 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__packingmethod.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__packingmethod.js new file mode 100644 index 0000000..319535f --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__packingmethod.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__packingmethod = +[ + [ "packingmethodkey", "structgrib2__all__tables__module_1_1type__of__packingmethod.html#a663a07a67e3052442d2944c9e5008c0f", null ], + [ "packingmethodvals", "structgrib2__all__tables__module_1_1type__of__packingmethod.html#a7cf9958f54f8fad74e6b56b40d5caa2b", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__precip.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__precip.html new file mode 100644 index 0000000..6628fa1 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__precip.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_precip Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_precip Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=80) typeofprecipkey
     
    +integer typeofprecipval
     
    +

    Detailed Description

    +
    +

    Definition at line 550 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofprecipkey

    + +
    +
    + + + + +
    character(len=80) grib2_all_tables_module::type_of_precip::typeofprecipkey
    +
    + +

    Definition at line 551 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofprecipval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_precip::typeofprecipval
    +
    + +

    Definition at line 552 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__precip.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__precip.js new file mode 100644 index 0000000..35053a5 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__precip.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__precip = +[ + [ "typeofprecipkey", "structgrib2__all__tables__module_1_1type__of__precip.html#a9b582733daace6acf28f20d678b070f8", null ], + [ "typeofprecipval", "structgrib2__all__tables__module_1_1type__of__precip.html#ae32f626dc9f61b8267a300488b98a962", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__prob.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__prob.html new file mode 100644 index 0000000..bed8f46 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__prob.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_prob Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_prob Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=80) typeofprobkey
     
    +integer typeofprobval
     
    +

    Detailed Description

    +
    +

    Definition at line 448 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeofprobkey

    + +
    +
    + + + + +
    character(len=80) grib2_all_tables_module::type_of_prob::typeofprobkey
    +
    + +

    Definition at line 449 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeofprobval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_prob::typeofprobval
    +
    + +

    Definition at line 450 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__prob.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__prob.js new file mode 100644 index 0000000..479a8f4 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__prob.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__prob = +[ + [ "typeofprobkey", "structgrib2__all__tables__module_1_1type__of__prob.html#abac97f1f82ae5a970952b67ef91cf769", null ], + [ "typeofprobval", "structgrib2__all__tables__module_1_1type__of__prob.html#ad0293a4ec8a85bb78d2d9e63dd4b896b", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__time__intervals.html b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__time__intervals.html new file mode 100644 index 0000000..f961f8d --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__time__intervals.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::type_of_time_intervals Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::type_of_time_intervals Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=80) typeoftimeintervalskey
     
    +integer typeoftimeintervalsval
     
    +

    Detailed Description

    +
    +

    Definition at line 508 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ typeoftimeintervalskey

    + +
    +
    + + + + +
    character(len=80) grib2_all_tables_module::type_of_time_intervals::typeoftimeintervalskey
    +
    + +

    Definition at line 509 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ typeoftimeintervalsval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::type_of_time_intervals::typeoftimeintervalsval
    +
    + +

    Definition at line 510 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__time__intervals.js b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__time__intervals.js new file mode 100644 index 0000000..021b1a9 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1type__of__time__intervals.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1type__of__time__intervals = +[ + [ "typeoftimeintervalskey", "structgrib2__all__tables__module_1_1type__of__time__intervals.html#a8a69798df6e5601b382f0c4952d28951", null ], + [ "typeoftimeintervalsval", "structgrib2__all__tables__module_1_1type__of__time__intervals.html#a53621317f419ca9f751ddbaee1168545", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1unit__of__time__range.html b/ver-1.10.0/structgrib2__all__tables__module_1_1unit__of__time__range.html new file mode 100644 index 0000000..c247c7c --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1unit__of__time__range.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::unit_of_time_range Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::unit_of_time_range Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=30) unitoftimerangekey
     
    +integer unitoftimerangeval
     
    +

    Detailed Description

    +
    +

    Definition at line 241 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ unitoftimerangekey

    + +
    +
    + + + + +
    character(len=30) grib2_all_tables_module::unit_of_time_range::unitoftimerangekey
    +
    + +

    Definition at line 242 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ unitoftimerangeval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::unit_of_time_range::unitoftimerangeval
    +
    + +

    Definition at line 243 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1unit__of__time__range.js b/ver-1.10.0/structgrib2__all__tables__module_1_1unit__of__time__range.js new file mode 100644 index 0000000..1144443 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1unit__of__time__range.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1unit__of__time__range = +[ + [ "unitoftimerangekey", "structgrib2__all__tables__module_1_1unit__of__time__range.html#a3a3f9f8404aff3174c10ac5470981cad", null ], + [ "unitoftimerangeval", "structgrib2__all__tables__module_1_1unit__of__time__range.html#a5add1f53a19d6b6f3a25cb380ce20315", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1version__no.html b/ver-1.10.0/structgrib2__all__tables__module_1_1version__no.html new file mode 100644 index 0000000..74c470b --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1version__no.html @@ -0,0 +1,150 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module::version_no Type Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module::version_no Type Reference
    +
    +
    + + + + + + +

    +Data Fields

    +character(len=20) verskey
     
    +integer versval
     
    +

    Detailed Description

    +
    +

    Definition at line 81 of file grib2_all_tables_module.f90.

    +

    Field Documentation

    + +

    ◆ verskey

    + +
    +
    + + + + +
    character(len=20) grib2_all_tables_module::version_no::verskey
    +
    + +

    Definition at line 82 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ versval

    + +
    +
    + + + + +
    integer grib2_all_tables_module::version_no::versval
    +
    + +

    Definition at line 83 of file grib2_all_tables_module.f90.

    + +
    +
    +
    The documentation for this type was generated from the following file: +
    +
    + + + + diff --git a/ver-1.10.0/structgrib2__all__tables__module_1_1version__no.js b/ver-1.10.0/structgrib2__all__tables__module_1_1version__no.js new file mode 100644 index 0000000..f8ab0a3 --- /dev/null +++ b/ver-1.10.0/structgrib2__all__tables__module_1_1version__no.js @@ -0,0 +1,5 @@ +var structgrib2__all__tables__module_1_1version__no = +[ + [ "verskey", "structgrib2__all__tables__module_1_1version__no.html#a93f459d9f88846a7ac83589ea0ab3e93", null ], + [ "versval", "structgrib2__all__tables__module_1_1version__no.html#a41211f41aa524654c1defce9a94c5a70", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/sync_off.png b/ver-1.10.0/sync_off.png new file mode 100644 index 0000000..3b443fc Binary files /dev/null and b/ver-1.10.0/sync_off.png differ diff --git a/ver-1.10.0/sync_on.png b/ver-1.10.0/sync_on.png new file mode 100644 index 0000000..e08320f Binary files /dev/null and b/ver-1.10.0/sync_on.png differ diff --git a/ver-1.10.0/tab_a.png b/ver-1.10.0/tab_a.png new file mode 100644 index 0000000..3b725c4 Binary files /dev/null and b/ver-1.10.0/tab_a.png differ diff --git a/ver-1.10.0/tab_b.png b/ver-1.10.0/tab_b.png new file mode 100644 index 0000000..e2b4a86 Binary files /dev/null and b/ver-1.10.0/tab_b.png differ diff --git a/ver-1.10.0/tab_h.png b/ver-1.10.0/tab_h.png new file mode 100644 index 0000000..fd5cb70 Binary files /dev/null and b/ver-1.10.0/tab_h.png differ diff --git a/ver-1.10.0/tab_s.png b/ver-1.10.0/tab_s.png new file mode 100644 index 0000000..ab478c9 Binary files /dev/null and b/ver-1.10.0/tab_s.png differ diff --git a/ver-1.10.0/tabs.css b/ver-1.10.0/tabs.css new file mode 100644 index 0000000..7d45d36 --- /dev/null +++ b/ver-1.10.0/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/ver-1.10.0/ver-1.10.0/annotated.html b/ver-1.10.0/ver-1.10.0/annotated.html new file mode 100644 index 0000000..e90a321 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/annotated.html @@ -0,0 +1,127 @@ + + + + + + + +NCEPLIBS-g2tmpl: Data Types List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Data Types List
    +
    +
    +
    Here are the data types with brief descriptions:
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/annotated_dup.js b/ver-1.10.0/ver-1.10.0/annotated_dup.js new file mode 100644 index 0000000..2b1602b --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/annotated_dup.js @@ -0,0 +1,29 @@ +var annotated_dup = +[ + [ "grib2_all_tables_module", "namespacegrib2__all__tables__module.html", [ + [ "fixed_surface_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1fixed__surface__types", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup" ], + [ "gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1gen__proc", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup" ], + [ "local_table_vers_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1local__table__vers__no", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup" ], + [ "order_of_sptdiff_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1order__of__sptdiff__vals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup" ], + [ "origin_centers", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1origin__centers", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup" ], + [ "prod_status", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1prod__status", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup" ], + [ "sigreftime", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1sigreftime", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup" ], + [ "statistical_processing_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1statistical__processing__types", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup" ], + [ "subcenters", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1subcenters", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup" ], + [ "type_of_aerosol", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__aerosol", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup" ], + [ "type_of_cluster", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__cluster", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup" ], + [ "type_of_compression", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__compression", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup" ], + [ "type_of_data", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__data", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup" ], + [ "type_of_derive_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__derive__fcst", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup" ], + [ "type_of_ens_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__ens__fcst", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup" ], + [ "type_of_gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__gen__proc", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup" ], + [ "type_of_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__intervals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup" ], + [ "type_of_orig_field_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__orig__field__vals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup" ], + [ "type_of_packingmethod", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__packingmethod", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup" ], + [ "type_of_precip", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__precip", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup" ], + [ "type_of_prob", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__prob", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup" ], + [ "type_of_time_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__time__intervals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup" ], + [ "unit_of_time_range", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1unit__of__time__range", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup" ], + [ "version_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1version__no", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup" ] + ] ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/bc_s.png b/ver-1.10.0/ver-1.10.0/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/bc_s.png differ diff --git a/ver-1.10.0/ver-1.10.0/bdwn.png b/ver-1.10.0/ver-1.10.0/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/bdwn.png differ diff --git a/ver-1.10.0/ver-1.10.0/classes.html b/ver-1.10.0/ver-1.10.0/classes.html new file mode 100644 index 0000000..488eead --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/classes.html @@ -0,0 +1,128 @@ + + + + + + + +NCEPLIBS-g2tmpl: Data Types + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/ver-1.10.0/ver-1.10.0/closed.png b/ver-1.10.0/ver-1.10.0/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/closed.png differ diff --git a/ver-1.10.0/ver-1.10.0/dir_49e56c817e5e54854c35e136979f97ca.html b/ver-1.10.0/ver-1.10.0/dir_49e56c817e5e54854c35e136979f97ca.html new file mode 100644 index 0000000..b125daa --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/dir_49e56c817e5e54854c35e136979f97ca.html @@ -0,0 +1,99 @@ + + + + + + + +NCEPLIBS-g2tmpl: docs Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    docs Directory Reference
    +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/ver-1.10.0/ver-1.10.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..be8b63a --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,121 @@ + + + + + + + +NCEPLIBS-g2tmpl: src Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    src Directory Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + +

    +Files

    file  g2sec4_temp1.f90 [code]
     Returns the Grib2 Section 4 Template 4.11 list for given keys.
     
    file  g2sec4_temp11.f90 [code]
     Returns the Grib2 Section 4 Template 4.11 list for given keys.
     
    file  g2sec4_temp12.f90 [code]
     Returns the Grib2 Section 4 Template 4.11 list for given keys.
     
    file  grib2_all_tables_module.f90 [code]
     Define the variables in the derived data type discipline.
     
    file  process_4dot2.c [code]
     4dot2
     
    file  sort_params_grib2_tbl.f90 [code]
     Read and sort params_grib2_tbl_new.text.
     
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/doc.png b/ver-1.10.0/ver-1.10.0/doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/doc.png differ diff --git a/ver-1.10.0/ver-1.10.0/doxygen.css b/ver-1.10.0/ver-1.10.0/doxygen.css new file mode 100644 index 0000000..ffbff02 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/doxygen.css @@ -0,0 +1,1793 @@ +/* The standard CSS for doxygen 1.9.1 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/ver-1.10.0/ver-1.10.0/doxygen.svg b/ver-1.10.0/ver-1.10.0/doxygen.svg new file mode 100644 index 0000000..d42dad5 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ver-1.10.0/ver-1.10.0/dynsections.js b/ver-1.10.0/ver-1.10.0/dynsections.js new file mode 100644 index 0000000..88f2c27 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/dynsections.js @@ -0,0 +1,128 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +NCEPLIBS-g2tmpl: File List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    File List
    +
    +
    +
    Here is a list of all documented files with brief descriptions:
    + + + + + + + +
     g2sec4_temp1.f90Returns the Grib2 Section 4 Template 4.11 list for given keys
     g2sec4_temp11.f90Returns the Grib2 Section 4 Template 4.11 list for given keys
     g2sec4_temp12.f90Returns the Grib2 Section 4 Template 4.11 list for given keys
     grib2_all_tables_module.f90Define the variables in the derived data type discipline
     process_4dot2.c4dot2
     sort_params_grib2_tbl.f90Read and sort params_grib2_tbl_new.text
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/files_dup.js b/ver-1.10.0/ver-1.10.0/files_dup.js new file mode 100644 index 0000000..69efa77 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/files_dup.js @@ -0,0 +1,9 @@ +var files_dup = +[ + [ "g2sec4_temp1.f90", "g2sec4__temp1_8f90.html", "g2sec4__temp1_8f90" ], + [ "g2sec4_temp11.f90", "g2sec4__temp11_8f90.html", "g2sec4__temp11_8f90" ], + [ "g2sec4_temp12.f90", "g2sec4__temp12_8f90.html", "g2sec4__temp12_8f90" ], + [ "grib2_all_tables_module.f90", "grib2__all__tables__module_8f90.html", "grib2__all__tables__module_8f90" ], + [ "process_4dot2.c", "process__4dot2_8c.html", "process__4dot2_8c" ], + [ "sort_params_grib2_tbl.f90", "sort__params__grib2__tbl_8f90.html", "sort__params__grib2__tbl_8f90" ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/folderclosed.png b/ver-1.10.0/ver-1.10.0/folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/folderclosed.png differ diff --git a/ver-1.10.0/ver-1.10.0/folderopen.png b/ver-1.10.0/ver-1.10.0/folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/folderopen.png differ diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90.html b/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90.html new file mode 100644 index 0000000..22acb60 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90.html @@ -0,0 +1,373 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp11.f90 File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    g2sec4_temp11.f90 File Reference
    +
    +
    + +

    Returns the Grib2 Section 4 Template 4.11 list for given keys. +More...

    + +

    Go to the source code of this file.

    + + + + + +

    +Functions/Subroutines

    subroutine g2sec4_temp11 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, type_ens_fcst_key, perturb_num, num_fcst_ens, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl11)
     This subroutine returns the Grib2 Section 4 Template 4.11 list for given keys PDT 4.11 - Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. More...
     
    +

    Detailed Description

    +

    Returns the Grib2 Section 4 Template 4.11 list for given keys.

    +
    Author
    Boi Vuong
    +
    Date
    2015-01-09
    + +

    Definition in file g2sec4_temp11.f90.

    +

    Function/Subroutine Documentation

    + +

    ◆ g2sec4_temp11()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine g2sec4_temp11 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    character(len=*), intent(in) type_ens_fcst_key,
    integer(4), intent(in) perturb_num,
    integer(4), intent(in) num_fcst_ens,
    integer(4), intent(in) year_intvl,
    integer(4), intent(in) mon_intvl,
    integer(4), intent(in) day_intvl,
    integer(4), intent(in) hour_intvl,
    integer(4), intent(in) min_intvl,
    integer(4), intent(in) sec_intvl,
    integer(4), intent(in) num_time_range,
    integer(4), intent(in) stat_miss_val,
    character(len=*), intent(in) type_of_stat_proc,
    character(len=*), intent(in) type_of_time_inc,
    character(len=*), intent(in) stat_unit_time_key,
    integer(4), intent(in) leng_time_range_stat,
    character(len=*), intent(in) stat_unit_time_key_succ,
    integer(4), intent(in) time_inc_betwn_succ_fld,
    integer(4), dimension(32), intent(inout) ipdstmpl11 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.11 list for given keys PDT 4.11 - Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval.

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    [in]icatgParameter category (see Code Table 4.1)
    [in]iparmParameter number (see Code Table 4.2)
    [in]typ_gen_proc_keyType of generating process (see Code Table 4.3)
    [in]gen_proc_or_mod_keyAnalysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoffHours after reference time data cutoff (see Note 1)
    [in]min_obs_cutoffMinutes after reference time data cutoff
    [in]unit_of_time_keyIndicator of unit of time range (see Code Table 4.4)
    [in]fcst_timeForecast time in units defined by octet 18 (see Note 2)
    [in]lvl_type1Type of first fixed surface (see Code Table 4.5)
    [in]scale_fac1Scale factor of first fixed surface
    [in]scaled_val1Scaled value of first fixed surface
    [in]lvl_type2Type of second fixed surfaced (see Code Table 4.5)
    [in]scale_fac2Scale factor of second fixed surface
    [in]scaled_val2Scaled value of second fixed surfaces
    [in]type_ens_fcst_keyType of ensemble forecast (see Code table 4.6)
    [in]perturb_numPerturbation ensemble number
    [in]num_fcst_ensnumber of forecasts in ensemble
    [in]year_intvlYear Time of end of overall time interval
    [in]mon_intvlMonth Time of end of overall time interval
    [in]day_intvlDay Time of end of overall time interval
    [in]hour_intvlHour Time of end of overall time interval
    [in]min_intvlMinute Time of end of overall time interval
    [in]sec_intvlSecond Time of end of overall time interval
    [in]num_time_rangen number of time ranges specifications describing the time intervals used to calculate the statistically-processed field
    [in]stat_miss_valTotal number of data values missing in statistical process Specification of the outermost (or only) time range over which statistical processing is done
    [in]type_of_stat_procStatistical process used to calculate the processed field from the field at each time increment during the time range (see Code Table 4.10)
    [in]type_of_time_incType of time increment between successive fields used in the statistical processing (see Code Table 4.11)
    [in]stat_unit_time_keyIndicator of unit of time for time range over which statistical processing is done (see Code Table 4.4)
    [in]leng_time_range_statLength of the time range over which statistical processing is done, in units defined by the previous octet
    [in]stat_unit_time_key_succIndicator of unit of time for the increment between the successive fields used (see Code table 4.4)
    [in]time_inc_betwn_succ_fldTime increment between successive fields, in units defined by the previous octet (see Notes 3 & 4)
    [out]ipdstmpl11GRIB2 PDS Template 4.11 listing
    +
    +
    +
    Author
    Boi Vuong
    +
    Date
    2015-01-09
    + +

    Definition at line 55 of file g2sec4_temp11.f90.

    + +

    References grib2_all_tables_module::get_g2_fixedsurfacetypes(), grib2_all_tables_module::get_g2_on388genproc(), grib2_all_tables_module::get_g2_statprocesstypes(), grib2_all_tables_module::get_g2_typeofensfcst(), grib2_all_tables_module::get_g2_typeofgenproc(), grib2_all_tables_module::get_g2_typeoftimeintervals(), and grib2_all_tables_module::get_g2_unitoftimerange().

    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90.js b/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90.js new file mode 100644 index 0000000..2332fcf --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90.js @@ -0,0 +1,4 @@ +var g2sec4__temp11_8f90 = +[ + [ "g2sec4_temp11", "g2sec4__temp11_8f90.html#ab5cee8a89e691bef9b8c4a5e58c474f8", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90_source.html b/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90_source.html new file mode 100644 index 0000000..132392b --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp11_8f90_source.html @@ -0,0 +1,212 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp11.f90 Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    g2sec4_temp11.f90
    +
    +
    +Go to the documentation of this file.
    1 
    +
    4 
    +
    55  subroutine g2sec4_temp11(icatg,iparm,typ_gen_proc_key,gen_proc_or_mod_key, &
    +
    56  hrs_obs_cutoff,min_obs_cutoff,unit_of_time_key, &
    +
    57  fcst_time,lvl_type1,scale_fac1,scaled_val1,lvl_type2, &
    +
    58  scale_fac2,scaled_val2,type_ens_fcst_key, &
    +
    59  perturb_num,num_fcst_ens,year_intvl, &
    +
    60  mon_intvl,day_intvl,hour_intvl,min_intvl,sec_intvl, &
    +
    61  num_time_range,stat_miss_val,type_of_stat_proc, &
    +
    62  type_of_time_inc,stat_unit_time_key, &
    +
    63  leng_time_range_stat,stat_unit_time_key_succ, &
    +
    64  time_inc_betwn_succ_fld,ipdstmpl11)
    +
    65 
    + +
    67 
    +
    68  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff,fcst_time, &
    +
    69  scale_fac1,scaled_val1,scale_fac2,scaled_val2
    +
    70  integer(4),intent(in) :: year_intvl,mon_intvl,day_intvl,hour_intvl,min_intvl, &
    +
    71  sec_intvl,num_time_range,stat_miss_val, &
    +
    72  leng_time_range_stat,time_inc_betwn_succ_fld
    +
    73  integer(4),intent(in) :: perturb_num, num_fcst_ens
    +
    74 !
    +
    75  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
    +
    76  unit_of_time_key,lvl_type1,lvl_type2, &
    +
    77  type_of_stat_proc,type_of_time_inc, &
    +
    78  stat_unit_time_key,stat_unit_time_key_succ, &
    +
    79  type_ens_fcst_key
    +
    80 !
    +
    81  integer(4) :: bckgnd_gen_proc_id ! defined by the center
    +
    82 !
    +
    83  integer(4),intent(inout) :: ipdstmpl11(32) ! currently works only for n=1
    +
    84  ! later on, this will be generalized
    +
    85 !
    +
    86 !-- local vars
    +
    87  integer(4) :: value,ierr
    +
    88 !
    +
    89  bckgnd_gen_proc_id=0
    +
    90 !
    +
    91  ipdstmpl11(1) = icatg
    +
    92  ipdstmpl11(2) = iparm
    +
    93 !
    +
    94  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
    +
    95  ipdstmpl11(3) = value
    +
    96 !
    +
    97  ipdstmpl11(4) = bckgnd_gen_proc_id
    +
    98 !
    +
    99  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
    +
    100  ipdstmpl11(5) = value
    +
    101 !
    +
    102  ipdstmpl11(6) = hrs_obs_cutoff
    +
    103  ipdstmpl11(7) = min_obs_cutoff
    +
    104 !
    +
    105  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
    +
    106  ipdstmpl11(8) = value
    +
    107  ipdstmpl11(9) = fcst_time
    +
    108 !
    +
    109  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
    +
    110  ipdstmpl11(10) = value
    +
    111  ipdstmpl11(11) = scale_fac1
    +
    112  ipdstmpl11(12) = scaled_val1
    +
    113 !
    +
    114  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
    +
    115  ipdstmpl11(13) = value
    +
    116 !
    +
    117  ipdstmpl11(14) = scale_fac2
    +
    118  ipdstmpl11(15) = scaled_val2
    +
    119 !
    +
    120  call get_g2_typeofensfcst(type_ens_fcst_key,value,ierr)
    +
    121  ipdstmpl11(16) = value
    +
    122 !
    +
    123  ipdstmpl11(17) = perturb_num
    +
    124  ipdstmpl11(18) = num_fcst_ens
    +
    125 !
    +
    126  ipdstmpl11(19) = year_intvl
    +
    127  ipdstmpl11(20) = mon_intvl
    +
    128  ipdstmpl11(21) = day_intvl
    +
    129  ipdstmpl11(22) = hour_intvl
    +
    130  ipdstmpl11(23) = min_intvl
    +
    131  ipdstmpl11(24) = sec_intvl
    +
    132 !
    +
    133  ipdstmpl11(25) = num_time_range ! choose n=1 for this case
    +
    134  ipdstmpl11(26) = stat_miss_val ! choose 0 for this case
    +
    135 !
    +
    136  call get_g2_statprocesstypes(type_of_stat_proc,value,ierr)
    +
    137  ipdstmpl11(27) = value ! types_of_stat_proc='accumulation'
    +
    138 !
    +
    139  call get_g2_typeoftimeintervals(type_of_time_inc,value,ierr)
    +
    140  ipdstmpl11(28) = value ! type_of_time_inc='same_start_time_fcst_fcst_time_inc'
    +
    141  ! value = 2 (Successive times processed have same start
    +
    142  ! time of forecast, forecast time is incremented)
    +
    143 !
    +
    144  call get_g2_unitoftimerange(stat_unit_time_key,value,ierr)
    +
    145  ipdstmpl11(29) = value ! stat_unit_time_key='hour'
    +
    146  ! value = 1
    +
    147  ipdstmpl11(30) = leng_time_range_stat ! value = 6
    +
    148 !
    +
    149  call get_g2_unitoftimerange(stat_unit_time_key_succ,value,ierr)
    +
    150  ! stat_unit_time_key_succ='missing'
    +
    151  ipdstmpl11(31) = value ! value = 255
    +
    152 !
    +
    153  ipdstmpl11(32) = time_inc_betwn_succ_fld ! value = 0
    +
    154 !
    +
    155  return
    +
    156  end
    +
    subroutine g2sec4_temp11(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, type_ens_fcst_key, perturb_num, num_fcst_ens, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl11)
    This subroutine returns the Grib2 Section 4 Template 4.11 list for given keys PDT 4....
    +
    Define the variables in the derived data type discipline provided in Section 0.
    +
    subroutine get_g2_on388genproc(key, value, ierr)
    This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) ...
    +
    subroutine get_g2_typeofgenproc(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short ...
    +
    subroutine get_g2_typeoftimeintervals(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key ...
    +
    subroutine get_g2_fixedsurfacetypes(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given sho...
    +
    subroutine get_g2_statprocesstypes(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given sho...
    +
    subroutine get_g2_unitoftimerange(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given s...
    +
    subroutine get_g2_typeofensfcst(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key...
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90.html b/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90.html new file mode 100644 index 0000000..4dce15b --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90.html @@ -0,0 +1,366 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp12.f90 File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    g2sec4_temp12.f90 File Reference
    +
    +
    + +

    Returns the Grib2 Section 4 Template 4.11 list for given keys. +More...

    + +

    Go to the source code of this file.

    + + + + + +

    +Functions/Subroutines

    subroutine g2sec4_temp12 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, derive_fcst_key, num_fcst_ens, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl12)
     This subroutine returns the Grib2 Section 4 Template 4.12 list for given keys PDT 4.12 - Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. More...
     
    +

    Detailed Description

    +

    Returns the Grib2 Section 4 Template 4.11 list for given keys.

    +
    Author
    Boi Vuong
    +
    Date
    2015-01-09
    + +

    Definition in file g2sec4_temp12.f90.

    +

    Function/Subroutine Documentation

    + +

    ◆ g2sec4_temp12()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine g2sec4_temp12 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    character(len=*), intent(in) derive_fcst_key,
    integer(4), intent(in) num_fcst_ens,
    integer(4), intent(in) year_intvl,
    integer(4), intent(in) mon_intvl,
    integer(4), intent(in) day_intvl,
    integer(4), intent(in) hour_intvl,
    integer(4), intent(in) min_intvl,
    integer(4), intent(in) sec_intvl,
    integer(4), intent(in) num_time_range,
    integer(4), intent(in) stat_miss_val,
    character(len=*), intent(in) type_of_stat_proc,
    character(len=*), intent(in) type_of_time_inc,
    character(len=*), intent(in) stat_unit_time_key,
    integer(4), intent(in) leng_time_range_stat,
    character(len=*), intent(in) stat_unit_time_key_succ,
    integer(4), intent(in) time_inc_betwn_succ_fld,
    integer(4), dimension(31), intent(inout) ipdstmpl12 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.12 list for given keys PDT 4.12 - Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval.

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    [in]icatgParameter category (see Code Table 4.1)
    [in]iparmParameter number (see Code Table 4.2)
    [in]typ_gen_proc_keyType of generating process (see Code Table 4.3)
    [in]gen_proc_or_mod_keyAnalysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoffHours after reference time data cutoff (see Note 1)
    [in]min_obs_cutoffMinutes after reference time data cutoff
    [in]unit_of_time_keyIndicator of unit of time range (see Code Table 4.4)
    [in]fcst_timeForecast time in units defined by octet 18 (see Note 2)
    [in]lvl_type1Type of first fixed surface (see Code Table 4.5)
    [in]scale_fac1Scale factor of first fixed surface
    [in]scaled_val1Scaled value of first fixed surface
    [in]lvl_type2Type of second fixed surfaced (see Code Table 4.5)
    [in]scale_fac2Scale factor of second fixed surface
    [in]scaled_val2Scaled value of second fixed surfaces
    [in]derive_fcst_keyDerived forecast (see Code table 4.7)
    [in]num_fcst_ensnumber of forecasts in ensemble
    [in]year_intvlYear Time of end of overall time interval
    [in]mon_intvlMonth Time of end of overall time interval
    [in]day_intvlDay Time of end of overall time interval
    [in]hour_intvlHour Time of end of overall time interval
    [in]min_intvlMinute Time of end of overall time interval
    [in]sec_intvlSecond Time of end of overall time interval
    [in]num_time_rangen number of time ranges specifications describing the time intervals used to calculate the statistically-processed field
    [in]stat_miss_valTotal number of data values missing in statistical process Specification of the outermost (or only) time range over which statistical processing is done
    [in]type_of_stat_procStatistical process used to calculate the processed field from the field at each time increment during the time range (see Code Table 4.10)
    [in]type_of_time_incType of time increment between successive fields used in the statistical processing (see Code Table 4.11)
    [in]stat_unit_time_keyIndicator of unit of time for time range over which statistical processing is done (see Code Table 4.4)
    [in]leng_time_range_statLength of the time range over which statistical processing is done, in units defined by the previous octet
    [in]stat_unit_time_key_succIndicator of unit of time for the increment between the successive fields used (see Code table 4.4)
    [in]time_inc_betwn_succ_fldTime increment between successive fields, in units defined by the previous octet (see Notes 3 & 4)
    [out]ipdstmpl12GRIB2 PDS Template 4.12 listing
    +
    +
    +
    Author
    Boi Vuong
    +
    Date
    2015-01-09
    + +

    Definition at line 54 of file g2sec4_temp12.f90.

    + +

    References grib2_all_tables_module::get_g2_fixedsurfacetypes(), grib2_all_tables_module::get_g2_on388genproc(), grib2_all_tables_module::get_g2_statprocesstypes(), grib2_all_tables_module::get_g2_typeofderivefcst(), grib2_all_tables_module::get_g2_typeofgenproc(), grib2_all_tables_module::get_g2_typeoftimeintervals(), and grib2_all_tables_module::get_g2_unitoftimerange().

    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90.js b/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90.js new file mode 100644 index 0000000..af3f576 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90.js @@ -0,0 +1,4 @@ +var g2sec4__temp12_8f90 = +[ + [ "g2sec4_temp12", "g2sec4__temp12_8f90.html#a3c0b7c0a8a1e39cc7fef4d75bb7f96bf", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90_source.html b/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90_source.html new file mode 100644 index 0000000..36dc086 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp12_8f90_source.html @@ -0,0 +1,210 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp12.f90 Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    g2sec4_temp12.f90
    +
    +
    +Go to the documentation of this file.
    1 
    +
    4 
    +
    54  subroutine g2sec4_temp12(icatg,iparm,typ_gen_proc_key,gen_proc_or_mod_key, &
    +
    55  hrs_obs_cutoff,min_obs_cutoff,unit_of_time_key, &
    +
    56  fcst_time,lvl_type1,scale_fac1,scaled_val1,lvl_type2, &
    +
    57  scale_fac2,scaled_val2,derive_fcst_key,num_fcst_ens, &
    +
    58  year_intvl,mon_intvl,day_intvl,hour_intvl,min_intvl, &
    +
    59  sec_intvl,num_time_range,stat_miss_val, &
    +
    60  type_of_stat_proc,type_of_time_inc,stat_unit_time_key, &
    +
    61  leng_time_range_stat,stat_unit_time_key_succ, &
    +
    62  time_inc_betwn_succ_fld,ipdstmpl12)
    +
    63 
    + +
    65 
    +
    66  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff,fcst_time, &
    +
    67  scale_fac1,scaled_val1,scale_fac2,scaled_val2
    +
    68  integer(4),intent(in) :: year_intvl,mon_intvl,day_intvl,hour_intvl,min_intvl, &
    +
    69  sec_intvl,num_time_range,stat_miss_val, &
    +
    70  leng_time_range_stat,time_inc_betwn_succ_fld
    +
    71  integer(4),intent(in) :: num_fcst_ens
    +
    72 !
    +
    73  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
    +
    74  unit_of_time_key,lvl_type1,lvl_type2, &
    +
    75  type_of_stat_proc,type_of_time_inc, &
    +
    76  stat_unit_time_key,stat_unit_time_key_succ, &
    +
    77  derive_fcst_key
    +
    78 !
    +
    79  integer(4) :: bckgnd_gen_proc_id ! defined by the center
    +
    80 !
    +
    81  integer(4),intent(inout) :: ipdstmpl12(31) ! currently works only for n=1
    +
    82  ! later on, this will be generalized
    +
    83 !
    +
    84 !-- local vars
    +
    85  integer(4) :: value,ierr
    +
    86 !
    +
    87  bckgnd_gen_proc_id=0
    +
    88 !
    +
    89  ipdstmpl12(1) = icatg
    +
    90  ipdstmpl12(2) = iparm
    +
    91 !
    +
    92  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
    +
    93  ipdstmpl12(3) = value
    +
    94 !
    +
    95  ipdstmpl12(4) = bckgnd_gen_proc_id
    +
    96 !
    +
    97  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
    +
    98  ipdstmpl12(5) = value
    +
    99 !
    +
    100  ipdstmpl12(6) = hrs_obs_cutoff
    +
    101  ipdstmpl12(7) = min_obs_cutoff
    +
    102 !
    +
    103  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
    +
    104  ipdstmpl12(8) = value
    +
    105  ipdstmpl12(9) = fcst_time
    +
    106 !
    +
    107  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
    +
    108  ipdstmpl12(10) = value
    +
    109  ipdstmpl12(11) = scale_fac1
    +
    110  ipdstmpl12(12) = scaled_val1
    +
    111 !
    +
    112  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
    +
    113  ipdstmpl12(13) = value
    +
    114 !
    +
    115  ipdstmpl12(14) = scale_fac2
    +
    116  ipdstmpl12(15) = scaled_val2
    +
    117 !
    +
    118  call get_g2_typeofderivefcst(derive_fcst_key,value,ierr)
    +
    119  ipdstmpl12(16) = value
    +
    120 !
    +
    121  ipdstmpl12(17) = num_fcst_ens
    +
    122 !
    +
    123  ipdstmpl12(18) = year_intvl
    +
    124  ipdstmpl12(19) = mon_intvl
    +
    125  ipdstmpl12(20) = day_intvl
    +
    126  ipdstmpl12(21) = hour_intvl
    +
    127  ipdstmpl12(22) = min_intvl
    +
    128  ipdstmpl12(23) = sec_intvl
    +
    129 !
    +
    130  ipdstmpl12(24) = num_time_range ! choose n=1 for this case
    +
    131  ipdstmpl12(25) = stat_miss_val ! choose 0 for this case
    +
    132 !
    +
    133  call get_g2_statprocesstypes(type_of_stat_proc,value,ierr)
    +
    134  ipdstmpl12(26) = value ! types_of_stat_proc='accumulation'
    +
    135 !
    +
    136  call get_g2_typeoftimeintervals(type_of_time_inc,value,ierr)
    +
    137  ipdstmpl12(27) = value ! type_of_time_inc='same_start_time_fcst_fcst_time_inc'
    +
    138  ! value = 2 (Successive times processed have same start
    +
    139  ! time of forecast, forecast time is incremented)
    +
    140 !
    +
    141  call get_g2_unitoftimerange(stat_unit_time_key,value,ierr)
    +
    142  ipdstmpl12(28) = value ! stat_unit_time_key='hour'
    +
    143  ! value = 1
    +
    144  ipdstmpl12(29) = leng_time_range_stat ! value = 6
    +
    145 !
    +
    146  call get_g2_unitoftimerange(stat_unit_time_key_succ,value,ierr)
    +
    147  ! stat_unit_time_key_succ='missing'
    +
    148  ipdstmpl12(30) = value ! value = 255
    +
    149 !
    +
    150  ipdstmpl12(31) = time_inc_betwn_succ_fld ! value = 0
    +
    151 !
    +
    152  return
    +
    153  end
    +
    subroutine g2sec4_temp12(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, derive_fcst_key, num_fcst_ens, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl12)
    This subroutine returns the Grib2 Section 4 Template 4.12 list for given keys PDT 4....
    +
    Define the variables in the derived data type discipline provided in Section 0.
    +
    subroutine get_g2_on388genproc(key, value, ierr)
    This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) ...
    +
    subroutine get_g2_typeofgenproc(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short ...
    +
    subroutine get_g2_typeoftimeintervals(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key ...
    +
    subroutine get_g2_typeofderivefcst(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key n...
    +
    subroutine get_g2_fixedsurfacetypes(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given sho...
    +
    subroutine get_g2_statprocesstypes(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given sho...
    +
    subroutine get_g2_unitoftimerange(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given s...
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90.html b/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90.html new file mode 100644 index 0000000..e49e1bc --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90.html @@ -0,0 +1,275 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp1.f90 File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    g2sec4_temp1.f90 File Reference
    +
    +
    + +

    Returns the Grib2 Section 4 Template 4.11 list for given keys. +More...

    + +

    Go to the source code of this file.

    + + + + + +

    +Functions/Subroutines

    subroutine g2sec4_temp1 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, type_ens_fcst_key, perturb_num, num_fcst_ens, ipdstmpl1)
     This subroutine returns the Grib2 Section 4 Template 4.1 list for given keys PDT 4.1 - Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. More...
     
    +

    Detailed Description

    +

    Returns the Grib2 Section 4 Template 4.11 list for given keys.

    +
    Author
    Boi Vuong
    +
    Date
    2015-01-09
    + +

    Definition in file g2sec4_temp1.f90.

    +

    Function/Subroutine Documentation

    + +

    ◆ g2sec4_temp1()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine g2sec4_temp1 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    character(len=*), intent(in) type_ens_fcst_key,
    integer(4), intent(in) perturb_num,
    integer(4), intent(in) num_fcst_ens,
    integer(4), dimension(18), intent(inout) ipdstmpl1 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.1 list for given keys PDT 4.1 - Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time.

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + +
    [in]icatgParameter category (see Code table 4.1)
    [in]iparmParameter number (see Code table 4.2)
    [in]typ_gen_proc_keyType of generating process (see Code table 4.3)
    [in]gen_proc_or_mod_keyAnalysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoffHours of observational data cutoff after reference time (see Note)
    [in]min_obs_cutoffMinutes of observational data cutoff after reference time (see Note)
    [in]unit_of_time_keyIndicator of unit of time range (see Code table 4.4)
    [in]fcst_timeForecast time in units defined by octet 18
    [in]lvl_type1Type of first fixed surface (see Code table 4.5)
    [in]scale_fac1Scale factor of first fixed surface
    [in]scaled_val1Scaled value of first fixed surface
    [in]lvl_type2Type of second fixed surfaced (see Code table 4.5)
    [in]scale_fac2Scale factor of second fixed surface
    [in]scaled_val2Scaled value of second fixed surfaces
    [in]type_ens_fcst_keyType of ensemble forecast (see Code table 4.6)
    [in]perturb_numPerturbation ensemble number
    [in]num_fcst_ensnumber of forecasts in ensemble
    [out]ipdstmpl1GRIB2 PDS Template 4.1 listing
    +
    +
    +
    Author
    Boi Vuong
    +
    Date
    2015-01-09
    + +

    Definition at line 30 of file g2sec4_temp1.f90.

    + +

    References grib2_all_tables_module::get_g2_fixedsurfacetypes(), grib2_all_tables_module::get_g2_on388genproc(), grib2_all_tables_module::get_g2_typeofensfcst(), grib2_all_tables_module::get_g2_typeofgenproc(), and grib2_all_tables_module::get_g2_unitoftimerange().

    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90.js b/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90.js new file mode 100644 index 0000000..675bb1d --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90.js @@ -0,0 +1,4 @@ +var g2sec4__temp1_8f90 = +[ + [ "g2sec4_temp1", "g2sec4__temp1_8f90.html#a6ba22e2d7b2b563c8537d4663229cd1f", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90_source.html b/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90_source.html new file mode 100644 index 0000000..e9822e2 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/g2sec4__temp1_8f90_source.html @@ -0,0 +1,169 @@ + + + + + + + +NCEPLIBS-g2tmpl: g2sec4_temp1.f90 Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    g2sec4_temp1.f90
    +
    +
    +Go to the documentation of this file.
    1 
    +
    4 
    +
    30  subroutine g2sec4_temp1(icatg,iparm,typ_gen_proc_key, &
    +
    31  gen_proc_or_mod_key,hrs_obs_cutoff,min_obs_cutoff, &
    +
    32  unit_of_time_key,fcst_time,lvl_type1,scale_fac1, &
    +
    33  scaled_val1,lvl_type2,scale_fac2,scaled_val2, &
    +
    34  type_ens_fcst_key,perturb_num,num_fcst_ens, &
    +
    35  ipdstmpl1)
    + +
    37 
    +
    38  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff, &
    +
    39  fcst_time,scale_fac1,scaled_val1,scale_fac2,scaled_val2
    +
    40  integer(4),intent(in) :: perturb_num, num_fcst_ens
    +
    41 !
    +
    42  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
    +
    43  unit_of_time_key,lvl_type1,lvl_type2, &
    +
    44  type_ens_fcst_key
    +
    45 !
    +
    46  integer(4),intent(inout) :: ipdstmpl1(18)
    +
    47 !
    +
    48 !local vars
    +
    49  integer(4) :: value,ierr
    +
    50  integer(4) :: bckgnd_gen_proc_id ! defined by the center
    +
    51 !
    +
    52  bckgnd_gen_proc_id=0 ! defined by the center
    +
    53 !
    +
    54  ipdstmpl1(1) = icatg
    +
    55  ipdstmpl1(2) = iparm
    +
    56 !
    +
    57  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
    +
    58  ipdstmpl1(3) = value
    +
    59 !
    +
    60  ipdstmpl1(4) = bckgnd_gen_proc_id
    +
    61 !
    +
    62  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
    +
    63  ipdstmpl1(5) = value
    +
    64 !
    +
    65  ipdstmpl1(6) = hrs_obs_cutoff
    +
    66  ipdstmpl1(7) = min_obs_cutoff
    +
    67 !
    +
    68  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
    +
    69  ipdstmpl1(8) = value
    +
    70  ipdstmpl1(9) = fcst_time
    +
    71 !
    +
    72  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
    +
    73  ipdstmpl1(10) = value
    +
    74  ipdstmpl1(11) = scale_fac1
    +
    75  ipdstmpl1(12) = scaled_val1
    +
    76 !
    +
    77  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
    +
    78  ipdstmpl1(13) = value
    +
    79 !
    +
    80  ipdstmpl1(14) = scale_fac2
    +
    81  ipdstmpl1(15) = scaled_val2
    +
    82 !
    +
    83  call get_g2_typeofensfcst(type_ens_fcst_key,value,ierr)
    +
    84  ipdstmpl1(16) = value
    +
    85 !
    +
    86  ipdstmpl1(17) = perturb_num
    +
    87  ipdstmpl1(18) = num_fcst_ens
    +
    88 !
    +
    89  return
    +
    90  end
    +
    subroutine g2sec4_temp1(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, type_ens_fcst_key, perturb_num, num_fcst_ens, ipdstmpl1)
    This subroutine returns the Grib2 Section 4 Template 4.1 list for given keys PDT 4....
    +
    Define the variables in the derived data type discipline provided in Section 0.
    +
    subroutine get_g2_on388genproc(key, value, ierr)
    This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) ...
    +
    subroutine get_g2_typeofgenproc(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short ...
    +
    subroutine get_g2_fixedsurfacetypes(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given sho...
    +
    subroutine get_g2_unitoftimerange(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given s...
    +
    subroutine get_g2_typeofensfcst(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key...
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/globals.html b/ver-1.10.0/ver-1.10.0/globals.html new file mode 100644 index 0000000..c48d8b0 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/globals.html @@ -0,0 +1,144 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/globals_defs.html b/ver-1.10.0/ver-1.10.0/globals_defs.html new file mode 100644 index 0000000..47a8d3d --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/globals_defs.html @@ -0,0 +1,108 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/globals_func.html b/ver-1.10.0/ver-1.10.0/globals_func.html new file mode 100644 index 0000000..272b77c --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/globals_func.html @@ -0,0 +1,123 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/globals_type.html b/ver-1.10.0/ver-1.10.0/globals_type.html new file mode 100644 index 0000000..d757f38 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/globals_type.html @@ -0,0 +1,99 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/globals_vars.html b/ver-1.10.0/ver-1.10.0/globals_vars.html new file mode 100644 index 0000000..e0a7ca1 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/globals_vars.html @@ -0,0 +1,102 @@ + + + + + + + +NCEPLIBS-g2tmpl: Globals + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90.html b/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90.html new file mode 100644 index 0000000..688cb59 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90.html @@ -0,0 +1,1170 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module.f90 File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module.f90 File Reference
    +
    +
    + +

    Define the variables in the derived data type discipline. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Types

    type  grib2_all_tables_module::fixed_surface_types
     
    type  grib2_all_tables_module::gen_proc
     
    type  grib2_all_tables_module::local_table_vers_no
     
    type  grib2_all_tables_module::order_of_sptdiff_vals
     
    type  grib2_all_tables_module::origin_centers
     
    type  grib2_all_tables_module::prod_status
     
    type  grib2_all_tables_module::sigreftime
     
    type  grib2_all_tables_module::statistical_processing_types
     
    type  grib2_all_tables_module::subcenters
     
    type  grib2_all_tables_module::type_of_aerosol
     
    type  grib2_all_tables_module::type_of_cluster
     
    type  grib2_all_tables_module::type_of_compression
     
    type  grib2_all_tables_module::type_of_data
     
    type  grib2_all_tables_module::type_of_derive_fcst
     
    type  grib2_all_tables_module::type_of_ens_fcst
     
    type  grib2_all_tables_module::type_of_gen_proc
     
    type  grib2_all_tables_module::type_of_intervals
     
    type  grib2_all_tables_module::type_of_orig_field_vals
     
    type  grib2_all_tables_module::type_of_packingmethod
     
    type  grib2_all_tables_module::type_of_precip
     
    type  grib2_all_tables_module::type_of_prob
     
    type  grib2_all_tables_module::type_of_time_intervals
     
    type  grib2_all_tables_module::unit_of_time_range
     
    type  grib2_all_tables_module::version_no
     
    + + + + +

    +Modules

    module  grib2_all_tables_module
     Define the variables in the derived data type discipline provided in Section 0.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions/Subroutines

    subroutine grib2_all_tables_module::g2sec0 (idisc, listsec0)
     This subroutine returns the section 0 list for a given discipline value. More...
     
    subroutine grib2_all_tables_module::g2sec1 (origin_key, subcen_key, vers_key, lvers_key, sigreftime_key, refyear_val, refmon_val, refday_val, refhour_val, refmin_val, refsec_val, prodstatus_key, typeofdata_key, listsec1)
     This subroutine returns the section 1 list for given keys. More...
     
    subroutine grib2_all_tables_module::g2sec4_temp0 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl0)
     This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.0 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time. More...
     
    subroutine grib2_all_tables_module::g2sec4_temp44 (icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl44)
     This subroutine returns the Grib2 Section 4 Template 4.44 list for given keys PDT 4.44 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. More...
     
    subroutine grib2_all_tables_module::g2sec4_temp48 (icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_intvl_wavelength, scale_fac1_wavelength, scale_val1_wavelength, scale_fac2_wavelength, scale_val2_wavelength, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl48)
     This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.48 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. More...
     
    subroutine grib2_all_tables_module::g2sec4_temp8 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl8)
     This subroutine returns the Grib2 Section 4 Template 4.8 list for given keys PDT 4.8 - Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. More...
     
    subroutine grib2_all_tables_module::g2sec5_temp0 (dec_scale_fac, bin_scale_fac, tlnumbits, ifield5)
     This subroutine returns the section 5 list array for a given decimal scale factor (D) and type of original field values (Table 5.1) value from GRIB2 - GRID Template 5.0 Grid point data - simple packing. More...
     
    subroutine grib2_all_tables_module::g2sec5_temp2 (dec_scale_fac, bin_scale_fac, ifield5)
     This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.2 Grid point data - complex packing. More...
     
    subroutine grib2_all_tables_module::g2sec5_temp3 (dec_scale_fac, bin_scale_fac, order_of_sptdiff, ifield5)
     This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.3 Grid point data - complex packing with spatial difference. More...
     
    subroutine grib2_all_tables_module::g2sec5_temp40 (dec_scale_fac, bin_scale_fac, tlnumbits, type_of_compression, ifield5)
     This subroutine returns the section 5 list array for a given decimal scale factor (D),type of original field value (Table 5.40) and type of compression used from GRIB2 - GRID Template 5.40 Grid point data - JPEG 2000 Code Stream Format. More...
     
    subroutine grib2_all_tables_module::get_g2_fixedsurfacetypes (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given short key name based on Table 4.5 of Section 4, Octets 23 and 29. More...
     
    subroutine grib2_all_tables_module::get_g2_loctabversno (key, value, ierr)
     This subroutine returns the corresponding GRIB2 local table version number for a given short key name based on Table 1.1. More...
     
    subroutine grib2_all_tables_module::get_g2_on388genproc (key, value, ierr)
     This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) from originating center 7 (USNWS NCEP) for a given short key name based on ON388 - Table A. More...
     
    subroutine grib2_all_tables_module::get_g2_on388origincenters (key, value, ierr)
     This subroutine returns the corresponding GRIB1 - PDS Ocet5 GRIB2 - Section 1, Octet 6-7 National/International Originating Centers value for a given short key name based on ON388 - Table 0. More...
     
    subroutine grib2_all_tables_module::get_g2_ordofspcdiffvals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.6 Order of spatial differencing for a given short key name based on GRIB2 - Table 5.6 default is 1st order spatial differencing. More...
     
    subroutine grib2_all_tables_module::get_g2_prodstatus (key, value, ierr)
     This subroutine returns the corresponding GRIB2 production status of data value for a given short key name based on Table 1.3. More...
     
    subroutine grib2_all_tables_module::get_g2_sec5packingmethod (key, value, ierr)
     This subroutine returns the corresponding GRIB2 template number for a given short key name based on GRIB2 -. More...
     
    subroutine grib2_all_tables_module::get_g2_sigreftime (key, value, ierr)
     This subroutine returns the corresponding GRIB2 significant reference time value for a given short key name based on Table 1.2. More...
     
    subroutine grib2_all_tables_module::get_g2_statprocesstypes (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given short key name based on Table 4.10 of Section 4 Octets 47 (template 8) 60 (temp 9), 48 (temp 10), 50 (temp 11), 49 (temp 12), 81 (temp 13), 77 (temp 14), 27 (temp 1001), 25 (temp 1002) and 39 (temp 1101) More...
     
    subroutine grib2_all_tables_module::get_g2_subcenters (key, value, ierr)
     This subroutine returns the corresponding GRIB2 subcenters value for a given short key name based on Table C. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofaerosol (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of aerosol value for a given short key name based on Table 4.233 of Section 4 Octets 12-13 (template 44), 12-13 (temp 45), 12-13 (temp 46), 13-14 (temp 47), 12-13 (temp 48) More...
     
    subroutine grib2_all_tables_module::get_g2_typeofcluster (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of clustering method for a given short key name based on Table 4.8. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofcompression (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.40 Type of compression for a given short key name based on GRIB2 - Table 5.40. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofdata (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of data value for a given short key name based on Table 1.4. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofderivefcst (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key name based on Table 4.7. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofensfcst (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key name based on Table 4.6. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofgenproc (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short key name based on Table 4.3 of Section 4, Octet 12. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofintervals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of intervals value for a given short key name based on Table 4.91 of Section 4 Octets 14 (template 44) 14 (temp 45), 14 (temp 46), 15 (temp 47),14 and 25 (temp 48) More...
     
    subroutine grib2_all_tables_module::get_g2_typeoforigfieldvals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.1 Type of Original Field Values for a given short key name based on GRIB2 - Table 5.1. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofprecip (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of precipitation for a given short key name based on Table 4.201. More...
     
    subroutine grib2_all_tables_module::get_g2_typeofprob (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of probability for a given short key name based on Table 4.9. More...
     
    subroutine grib2_all_tables_module::get_g2_typeoftimeintervals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key name based on Table 4.11 of Section 4 Octets 48 (template 8) 61 (temp 9), 49 (temp 10), 51 (temp 11), 50 (temp 12), 82 (temp 13), 78 (tem p 14), 28 (temp 1001), and 40 (temp 1101) More...
     
    subroutine grib2_all_tables_module::get_g2_unitoftimerange (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given short key name based on Table 4.4 of Section 4, Octet 18. More...
     
    subroutine grib2_all_tables_module::get_g2_versionno (key, value, ierr)
     This subroutine returns the corresponding GRIB2 version number for a given short key name based on Table 1.0. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Variables

    integer, parameter grib2_all_tables_module::maxfixedsurfacetypes =200
     Max fixed surface types. More...
     
    integer, parameter grib2_all_tables_module::maxgenproc =250
     maxgenproc More...
     
    integer, parameter grib2_all_tables_module::maxlocver =20
     maxlocver More...
     
    integer, parameter grib2_all_tables_module::maxordofsptdiff =50
     maxordofsptdiff More...
     
    integer, parameter grib2_all_tables_module::maxorigincenters =500
     maxorigincenters More...
     
    integer, parameter grib2_all_tables_module::maxprodstatus =17
     maxprodstatus More...
     
    integer, parameter grib2_all_tables_module::maxreftime =15
     maxreftime More...
     
    integer, parameter grib2_all_tables_module::maxstatprocesstypes =50
     maxstatprocesstypes More...
     
    integer, parameter grib2_all_tables_module::maxsubcen =100
     maxsubcen More...
     
    integer, parameter grib2_all_tables_module::maxtypeofaerosol =200
     maxtypeofaerosol More...
     
    integer, parameter grib2_all_tables_module::maxtypeofcluster =100
     maxtypeofcluster More...
     
    integer, parameter grib2_all_tables_module::maxtypeofcompression =50
     maxtypeofcompression More...
     
    integer, parameter grib2_all_tables_module::maxtypeofdata =100
     maxtypeofdata More...
     
    integer, parameter grib2_all_tables_module::maxtypeofderivefcst =100
     maxtypeofderivefcst More...
     
    integer, parameter grib2_all_tables_module::maxtypeofensfcst =100
     maxtypeofensfcst More...
     
    integer, parameter grib2_all_tables_module::maxtypeofgenproc =100
     maxtypeofgenproc More...
     
    integer, parameter grib2_all_tables_module::maxtypeofintvls =50
     maxtypeofintvls More...
     
    integer, parameter grib2_all_tables_module::maxtypeoforigfieldval =15
     maxtypeoforigfieldval More...
     
    integer, parameter grib2_all_tables_module::maxtypeofpackingmethod =50
     maxtypeofpackingmethod More...
     
    integer, parameter grib2_all_tables_module::maxtypeofprecip =100
     maxtypeofprecip More...
     
    integer, parameter grib2_all_tables_module::maxtypeofprob =100
     maxtypeofprob More...
     
    integer, parameter grib2_all_tables_module::maxtypeoftimeintvls =50
     maxtypeoftimeintvls More...
     
    integer, parameter grib2_all_tables_module::maxunitoftimerange =30
     maxunitoftimerange More...
     
    integer, parameter grib2_all_tables_module::maxver =100
     maxver More...
     
    type(origin_centers), dimension(maxorigincenters) grib2_all_tables_module::on388_table0
     ON388 Table. More...
     
    type(gen_proc), dimension(maxgenproc) grib2_all_tables_module::on388_tablea
     ON 388 Table A. More...
     
    type(version_no), dimension(maxver) grib2_all_tables_module::table1_0
     Table 1 0. More...
     
    type(local_table_vers_no), dimension(maxlocver) grib2_all_tables_module::table1_1
     Table 1 1. More...
     
    type(sigreftime), dimension(maxreftime) grib2_all_tables_module::table1_2
     Table 1 2. More...
     
    type(prod_status), dimension(maxprodstatus) grib2_all_tables_module::table1_3
     Table 1 3. More...
     
    type(type_of_data), dimension(maxtypeofdata) grib2_all_tables_module::table1_4
     table1_4 More...
     
    type(statistical_processing_types), dimension(maxstatprocesstypes) grib2_all_tables_module::table4_10
     table4_10 More...
     
    type(type_of_time_intervals), dimension(maxtypeoftimeintvls) grib2_all_tables_module::table4_11
     table4_11 More...
     
    type(type_of_precip), dimension(maxtypeofprecip) grib2_all_tables_module::table4_201
     table4_201 More...
     
    type(type_of_aerosol), dimension(maxtypeofaerosol) grib2_all_tables_module::table4_233
     table4_233 More...
     
    type(type_of_gen_proc), dimension(maxtypeofgenproc) grib2_all_tables_module::table4_3
     table4_3 More...
     
    type(unit_of_time_range), dimension(maxunitoftimerange) grib2_all_tables_module::table4_4
     table4_4 More...
     
    type(fixed_surface_types), dimension(maxfixedsurfacetypes) grib2_all_tables_module::table4_5
     table4_5 More...
     
    type(type_of_ens_fcst), dimension(maxtypeofensfcst) grib2_all_tables_module::table4_6
     table4_6 More...
     
    type(type_of_derive_fcst), dimension(maxtypeofderivefcst) grib2_all_tables_module::table4_7
     table4_7 More...
     
    type(type_of_cluster), dimension(maxtypeofcluster) grib2_all_tables_module::table4_8
     table4_8 More...
     
    type(type_of_prob), dimension(maxtypeofprob) grib2_all_tables_module::table4_9
     table4_9 More...
     
    type(type_of_intervals), dimension(maxtypeofintvls) grib2_all_tables_module::table4_91
     table4_91 More...
     
    type(type_of_packingmethod), dimension(maxtypeofpackingmethod) grib2_all_tables_module::table5_0
     table5_0 More...
     
    type(type_of_orig_field_vals), dimension(maxtypeoforigfieldval) grib2_all_tables_module::table5_1
     table5_1 More...
     
    type(type_of_compression), dimension(maxtypeofcompression) grib2_all_tables_module::table5_40
     table5_40 More...
     
    type(order_of_sptdiff_vals), dimension(maxordofsptdiff) grib2_all_tables_module::table5_6
     table5_6 More...
     
    type(subcenters), dimension(maxsubcen) grib2_all_tables_module::tablec
     tablec More...
     
    +

    Detailed Description

    +

    Define the variables in the derived data type discipline.

    +
    Author
    Jun Wang
    +
    Date
    2012/01/25
    + +

    Definition in file grib2_all_tables_module.f90.

    +

    Data Type Documentation

    + +

    ◆ grib2_all_tables_module::fixed_surface_types

    + +
    +
    + + + + +
    type grib2_all_tables_module::fixed_surface_types
    +
    +
    +

    Definition at line 293 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +fixedsurfacetypeskey +
    +integer +fixedsurfacetypesval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::gen_proc

    + +
    +
    + + + + +
    type grib2_all_tables_module::gen_proc
    +
    +
    +

    Definition at line 1044 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +genprockey +
    +integer +genprocval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::local_table_vers_no

    + +
    +
    + + + + +
    type grib2_all_tables_module::local_table_vers_no
    +
    +
    +

    Definition at line 144 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +locverskey +
    +integer +locversval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::order_of_sptdiff_vals

    + +
    +
    + + + + +
    type grib2_all_tables_module::order_of_sptdiff_vals
    +
    +
    +

    Definition at line 769 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +ordofsptdiffkey +
    +integer +ordofsptdiffvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::origin_centers

    + +
    +
    + + + + +
    type grib2_all_tables_module::origin_centers
    +
    +
    +

    Definition at line 813 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +origincenterskey +
    +integer +origincentersval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::prod_status

    + +
    +
    + + + + +
    type grib2_all_tables_module::prod_status
    +
    +
    +

    Definition at line 178 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +prodstatuskey +
    +integer +prodstatusval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::sigreftime

    + +
    +
    + + + + +
    type grib2_all_tables_module::sigreftime
    +
    +
    +

    Definition at line 161 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +sigrefkey +
    +integer +sigrefval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::statistical_processing_types

    + +
    +
    + + + + +
    type grib2_all_tables_module::statistical_processing_types
    +
    +
    +

    Definition at line 501 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +statprocesstypeskey +
    +integer +statprocesstypesval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::subcenters

    + +
    +
    + + + + +
    type grib2_all_tables_module::subcenters
    +
    +
    +

    Definition at line 75 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +subcenkey +
    +integer +subcenval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_aerosol

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_aerosol
    +
    +
    +

    Definition at line 611 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofaerosolkey +
    +integer +typeofaerosolval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_cluster

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_cluster
    +
    +
    +

    Definition at line 468 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofclusterkey +
    +integer +typeofclusterval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_compression

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_compression
    +
    +
    +

    Definition at line 781 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofcompressionkey +
    +integer +typeofcompressionvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_data

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_data
    +
    +
    +

    Definition at line 201 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +typeofdatakey +
    +integer +typeofdataval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_derive_fcst

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_derive_fcst
    +
    +
    +

    Definition at line 430 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofderivefcstkey +
    +integer +typeofderivefcstval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_ens_fcst

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_ens_fcst
    +
    +
    +

    Definition at line 414 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofensfcstkey +
    +integer +typeofensfcstval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_gen_proc

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_gen_proc
    +
    +
    +

    Definition at line 222 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +typeofgenprockey +
    +integer +typeofgenprocval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_intervals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_intervals
    +
    +
    +

    Definition at line 564 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofintervalskey +
    +integer +typeofintervalsval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_orig_field_vals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_orig_field_vals
    +
    +
    +

    Definition at line 747 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +integer +typeoforigfieldvals +
    +character(len=50) +typeoforigfieldvalskey +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_packingmethod

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_packingmethod
    +
    +
    +

    Definition at line 793 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +packingmethodkey +
    +integer +packingmethodvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_precip

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_precip
    +
    +
    +

    Definition at line 588 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofprecipkey +
    +integer +typeofprecipval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_prob

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_prob
    +
    +
    +

    Definition at line 482 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofprobkey +
    +integer +typeofprobval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_time_intervals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_time_intervals
    +
    +
    +

    Definition at line 544 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeoftimeintervalskey +
    +integer +typeoftimeintervalsval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::unit_of_time_range

    + +
    +
    + + + + +
    type grib2_all_tables_module::unit_of_time_range
    +
    +
    +

    Definition at line 270 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +unitoftimerangekey +
    +integer +unitoftimerangeval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::version_no

    + +
    +
    + + + + +
    type grib2_all_tables_module::version_no
    +
    +
    +

    Definition at line 104 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +verskey +
    +integer +versval +
    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90.js b/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90.js new file mode 100644 index 0000000..0496292 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90.js @@ -0,0 +1,181 @@ +var grib2__all__tables__module_8f90 = +[ + [ "fixed_surface_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1fixed__surface__types", [ + [ "fixedsurfacetypeskey", "namespacegrib2__all__tables__module.html#ad710af69496d31e208df4283b6a27e05", null ], + [ "fixedsurfacetypesval", "namespacegrib2__all__tables__module.html#a3dfe0a772f741883bfd2942328b6d1ba", null ] + ] ], + [ "gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1gen__proc", [ + [ "genprockey", "namespacegrib2__all__tables__module.html#a3a73bdbc23082a5b51ba3acfc151e02c", null ], + [ "genprocval", "namespacegrib2__all__tables__module.html#a3d070ceb2bc9a4d6259530b5bd19125c", null ] + ] ], + [ "local_table_vers_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1local__table__vers__no", [ + [ "locverskey", "namespacegrib2__all__tables__module.html#ac7c23d737c399a0cf91d825a1b7105b8", null ], + [ "locversval", "namespacegrib2__all__tables__module.html#ac506ecea79c0712525cd55624312608f", null ] + ] ], + [ "order_of_sptdiff_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1order__of__sptdiff__vals", [ + [ "ordofsptdiffkey", "namespacegrib2__all__tables__module.html#a78d47b642803810f7b2b5ac417fb2c9b", null ], + [ "ordofsptdiffvals", "namespacegrib2__all__tables__module.html#a06c126f5c8d8ea181d2eea821a71fb82", null ] + ] ], + [ "origin_centers", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1origin__centers", [ + [ "origincenterskey", "namespacegrib2__all__tables__module.html#a00d0956429433167cd5a4d8059aaa318", null ], + [ "origincentersval", "namespacegrib2__all__tables__module.html#a6c167e9d1022898279d1d204864bb54d", null ] + ] ], + [ "prod_status", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1prod__status", [ + [ "prodstatuskey", "namespacegrib2__all__tables__module.html#a25925706e0342beb4ba710d771ab2294", null ], + [ "prodstatusval", "namespacegrib2__all__tables__module.html#a1df3f9ef5a208b20ea9ab252a398175d", null ] + ] ], + [ "sigreftime", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1sigreftime", [ + [ "sigrefkey", "namespacegrib2__all__tables__module.html#a978b3234ee9d1e27a2cf083382f46d4a", null ], + [ "sigrefval", "namespacegrib2__all__tables__module.html#abb0bb5391268f2aa80fb79216b9d8827", null ] + ] ], + [ "statistical_processing_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1statistical__processing__types", [ + [ "statprocesstypeskey", "namespacegrib2__all__tables__module.html#aa9f8b5b5907a2322595894f92733247f", null ], + [ "statprocesstypesval", "namespacegrib2__all__tables__module.html#a20bf6288447d78ca2ef0a0c5ca5df8cc", null ] + ] ], + [ "subcenters", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1subcenters", [ + [ "subcenkey", "namespacegrib2__all__tables__module.html#a2cacdc6be0e495d9378296d1d5f21a15", null ], + [ "subcenval", "namespacegrib2__all__tables__module.html#a19efcbaf2e1ebcefee1969d11f9a8990", null ] + ] ], + [ "type_of_aerosol", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__aerosol", [ + [ "typeofaerosolkey", "namespacegrib2__all__tables__module.html#ad3896ae7bfc83dcde44e70548726f694", null ], + [ "typeofaerosolval", "namespacegrib2__all__tables__module.html#a9bb1ed3dc6a0880401622cf460d55214", null ] + ] ], + [ "type_of_cluster", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__cluster", [ + [ "typeofclusterkey", "namespacegrib2__all__tables__module.html#a1ca1b35d9f9f80c5a3f4855794db4371", null ], + [ "typeofclusterval", "namespacegrib2__all__tables__module.html#a9ae8362d72a21dd4f116aa833429dfb6", null ] + ] ], + [ "type_of_compression", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__compression", [ + [ "typeofcompressionkey", "namespacegrib2__all__tables__module.html#a73e670f34fbe1a59529789d39255df5f", null ], + [ "typeofcompressionvals", "namespacegrib2__all__tables__module.html#a01947ff38f313317c8299020181315fc", null ] + ] ], + [ "type_of_data", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__data", [ + [ "typeofdatakey", "namespacegrib2__all__tables__module.html#a66bf5082b9e8058b2863d509d9be2297", null ], + [ "typeofdataval", "namespacegrib2__all__tables__module.html#ae5b23da94d631fbc8b006961cc5262e4", null ] + ] ], + [ "type_of_derive_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__derive__fcst", [ + [ "typeofderivefcstkey", "namespacegrib2__all__tables__module.html#a2a276ca0ad6e6bf47b494657d1fe3d2c", null ], + [ "typeofderivefcstval", "namespacegrib2__all__tables__module.html#ab480a49178459432f35f0f5c5a7ebd4e", null ] + ] ], + [ "type_of_ens_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__ens__fcst", [ + [ "typeofensfcstkey", "namespacegrib2__all__tables__module.html#a408b0918d51d8dea762dde9ab37cc1c9", null ], + [ "typeofensfcstval", "namespacegrib2__all__tables__module.html#a523fc226b781bcf6b80961ccca349e79", null ] + ] ], + [ "type_of_gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__gen__proc", [ + [ "typeofgenprockey", "namespacegrib2__all__tables__module.html#a94e82be712915069148bc00d8ca3b646", null ], + [ "typeofgenprocval", "namespacegrib2__all__tables__module.html#a1aa6dead3825ded6ed93b9e269caf3c9", null ] + ] ], + [ "type_of_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__intervals", [ + [ "typeofintervalskey", "namespacegrib2__all__tables__module.html#a83f4372604c38fdc56c3cc950364cbe2", null ], + [ "typeofintervalsval", "namespacegrib2__all__tables__module.html#af781c237b5d61e74ed9901849f3c565d", null ] + ] ], + [ "type_of_orig_field_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__orig__field__vals", [ + [ "typeoforigfieldvals", "namespacegrib2__all__tables__module.html#acb1dd209125ed2a334be404bdd239bb6", null ], + [ "typeoforigfieldvalskey", "namespacegrib2__all__tables__module.html#a0805ab7195cd723307d4197aad8032df", null ] + ] ], + [ "type_of_packingmethod", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__packingmethod", [ + [ "packingmethodkey", "namespacegrib2__all__tables__module.html#a663a07a67e3052442d2944c9e5008c0f", null ], + [ "packingmethodvals", "namespacegrib2__all__tables__module.html#a7cf9958f54f8fad74e6b56b40d5caa2b", null ] + ] ], + [ "type_of_precip", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__precip", [ + [ "typeofprecipkey", "namespacegrib2__all__tables__module.html#a9b582733daace6acf28f20d678b070f8", null ], + [ "typeofprecipval", "namespacegrib2__all__tables__module.html#ae32f626dc9f61b8267a300488b98a962", null ] + ] ], + [ "type_of_prob", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__prob", [ + [ "typeofprobkey", "namespacegrib2__all__tables__module.html#abac97f1f82ae5a970952b67ef91cf769", null ], + [ "typeofprobval", "namespacegrib2__all__tables__module.html#ad0293a4ec8a85bb78d2d9e63dd4b896b", null ] + ] ], + [ "type_of_time_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__time__intervals", [ + [ "typeoftimeintervalskey", "namespacegrib2__all__tables__module.html#a8a69798df6e5601b382f0c4952d28951", null ], + [ "typeoftimeintervalsval", "namespacegrib2__all__tables__module.html#a53621317f419ca9f751ddbaee1168545", null ] + ] ], + [ "unit_of_time_range", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1unit__of__time__range", [ + [ "unitoftimerangekey", "namespacegrib2__all__tables__module.html#a3a3f9f8404aff3174c10ac5470981cad", null ], + [ "unitoftimerangeval", "namespacegrib2__all__tables__module.html#a5add1f53a19d6b6f3a25cb380ce20315", null ] + ] ], + [ "version_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1version__no", [ + [ "verskey", "namespacegrib2__all__tables__module.html#a93f459d9f88846a7ac83589ea0ab3e93", null ], + [ "versval", "namespacegrib2__all__tables__module.html#a41211f41aa524654c1defce9a94c5a70", null ] + ] ], + [ "g2sec0", "grib2__all__tables__module_8f90.html#a95104687814c91720bf13d9c736adc53", null ], + [ "g2sec1", "grib2__all__tables__module_8f90.html#a0b34a4a08b7ee738b5059ed7d82873aa", null ], + [ "g2sec4_temp0", "grib2__all__tables__module_8f90.html#a9ed56310c55ea4bd91b46dae062ff315", null ], + [ "g2sec4_temp44", "grib2__all__tables__module_8f90.html#a9b4376b4abe34c007f575b8e544d3ba0", null ], + [ "g2sec4_temp48", "grib2__all__tables__module_8f90.html#a7e3b1ffda5f0a1234a39425a26d81b1d", null ], + [ "g2sec4_temp8", "grib2__all__tables__module_8f90.html#ad54b7e506841ab1d50bf89b39334430b", null ], + [ "g2sec5_temp0", "grib2__all__tables__module_8f90.html#ac71701de1f47f704dbdfb648fac19530", null ], + [ "g2sec5_temp2", "grib2__all__tables__module_8f90.html#abb9391b2ef03d619ffbb1eca9b55c664", null ], + [ "g2sec5_temp3", "grib2__all__tables__module_8f90.html#a02a58228da00cef6e052ac936b748263", null ], + [ "g2sec5_temp40", "grib2__all__tables__module_8f90.html#ac39a4db701fd56e63b2285713514fa76", null ], + [ "get_g2_fixedsurfacetypes", "grib2__all__tables__module_8f90.html#a3280b3edfc4db22a8c373662eca30b09", null ], + [ "get_g2_loctabversno", "grib2__all__tables__module_8f90.html#afcf3af13d5b9fa044b59da7ce51fab05", null ], + [ "get_g2_on388genproc", "grib2__all__tables__module_8f90.html#a01337aa68ede1097c736270824bffaba", null ], + [ "get_g2_on388origincenters", "grib2__all__tables__module_8f90.html#afcfd6b66a7eb88a71aee08ba63dfceba", null ], + [ "get_g2_ordofspcdiffvals", "grib2__all__tables__module_8f90.html#a306f773232def462c9dcc84b7612b739", null ], + [ "get_g2_prodstatus", "grib2__all__tables__module_8f90.html#ad34c2c50271cf55e57323fa82f12e79d", null ], + [ "get_g2_sec5packingmethod", "grib2__all__tables__module_8f90.html#af03e78d303af639b0311e96be2bc37d2", null ], + [ "get_g2_sigreftime", "grib2__all__tables__module_8f90.html#a1646f06c31a03be74a992a1de60469cf", null ], + [ "get_g2_statprocesstypes", "grib2__all__tables__module_8f90.html#a5184d4968a27f1a349608befd735533b", null ], + [ "get_g2_subcenters", "grib2__all__tables__module_8f90.html#a10947b2b8e872e5090def0a3f4e1e805", null ], + [ "get_g2_typeofaerosol", "grib2__all__tables__module_8f90.html#ad6f79e466077e8b6de6b501796c5f337", null ], + [ "get_g2_typeofcluster", "grib2__all__tables__module_8f90.html#a6dba348a5bddc07edf405d704d3bc7eb", null ], + [ "get_g2_typeofcompression", "grib2__all__tables__module_8f90.html#a7e4a12abeae82a4605cb60e68af24607", null ], + [ "get_g2_typeofdata", "grib2__all__tables__module_8f90.html#a4158dad47c775d41196cde17ee5ac293", null ], + [ "get_g2_typeofderivefcst", "grib2__all__tables__module_8f90.html#a290de96fd327fec7812b0d6e67cbcdf0", null ], + [ "get_g2_typeofensfcst", "grib2__all__tables__module_8f90.html#ae99e018c07efce0a8e50c56bf14da061", null ], + [ "get_g2_typeofgenproc", "grib2__all__tables__module_8f90.html#a0c2824e1961b2089872d885b98662e18", null ], + [ "get_g2_typeofintervals", "grib2__all__tables__module_8f90.html#a88838d93235dbb3dc82f45f2edcae606", null ], + [ "get_g2_typeoforigfieldvals", "grib2__all__tables__module_8f90.html#a43aafb243c395268f5cb8df0d743a9c3", null ], + [ "get_g2_typeofprecip", "grib2__all__tables__module_8f90.html#ace5972d1da91bd26615fc8257bdcaf99", null ], + [ "get_g2_typeofprob", "grib2__all__tables__module_8f90.html#aff9b7991a49d567d87672efcbd400cbf", null ], + [ "get_g2_typeoftimeintervals", "grib2__all__tables__module_8f90.html#a0d31ea8d64a7ad96a63f0899b82873c2", null ], + [ "get_g2_unitoftimerange", "grib2__all__tables__module_8f90.html#a93e13a2e958855047bb2132d35cd514d", null ], + [ "get_g2_versionno", "grib2__all__tables__module_8f90.html#ac6c81587f672224e2521124253a1293f", null ], + [ "maxfixedsurfacetypes", "grib2__all__tables__module_8f90.html#a4ab70056e9bf310f7d5d2b2d45e5c4b2", null ], + [ "maxgenproc", "grib2__all__tables__module_8f90.html#ab5cda0077cff603a0fcd20caa2e6c390", null ], + [ "maxlocver", "grib2__all__tables__module_8f90.html#a9fee5632dc49831859167989a8ca4ce6", null ], + [ "maxordofsptdiff", "grib2__all__tables__module_8f90.html#a9abd2f78e88f78133c56835d5191b841", null ], + [ "maxorigincenters", "grib2__all__tables__module_8f90.html#a9b2c442c46296e136cc9719ad36cb659", null ], + [ "maxprodstatus", "grib2__all__tables__module_8f90.html#a864bb3fdc242e97a3d65e6c5aaea7ce7", null ], + [ "maxreftime", "grib2__all__tables__module_8f90.html#a281fe6da658210d003986df44df08e88", null ], + [ "maxstatprocesstypes", "grib2__all__tables__module_8f90.html#ab3f23e6ff1eda90ec0d91c47b17bd918", null ], + [ "maxsubcen", "grib2__all__tables__module_8f90.html#a99c672fa099fee4e3094866899b3f8a7", null ], + [ "maxtypeofaerosol", "grib2__all__tables__module_8f90.html#aa77c7e55b75e808ebdceaa9e96d4fbe1", null ], + [ "maxtypeofcluster", "grib2__all__tables__module_8f90.html#acd11ade3f4e066846232c3b710735f8b", null ], + [ "maxtypeofcompression", "grib2__all__tables__module_8f90.html#a8780fc8d2318ee55f40964c55fb091dd", null ], + [ "maxtypeofdata", "grib2__all__tables__module_8f90.html#a81ccb544acc1d5538c77266dd34bc164", null ], + [ "maxtypeofderivefcst", "grib2__all__tables__module_8f90.html#a6f56515e50913f3536de65b61e43380d", null ], + [ "maxtypeofensfcst", "grib2__all__tables__module_8f90.html#afb0d64858b6ad99180444d4e8acb8242", null ], + [ "maxtypeofgenproc", "grib2__all__tables__module_8f90.html#ade3feb65c9d876ccdb9ef9eb3fe6fe8c", null ], + [ "maxtypeofintvls", "grib2__all__tables__module_8f90.html#aca61468245a26920e49aa4737c49f5fc", null ], + [ "maxtypeoforigfieldval", "grib2__all__tables__module_8f90.html#ac2e82e3ac9340c791f0f5a857e014e42", null ], + [ "maxtypeofpackingmethod", "grib2__all__tables__module_8f90.html#a6333d3f9dd9e8c051adb8d6ed31ba725", null ], + [ "maxtypeofprecip", "grib2__all__tables__module_8f90.html#a35628986ad32176299922fc7368409fa", null ], + [ "maxtypeofprob", "grib2__all__tables__module_8f90.html#aee1aa2e215b18e9cb55dcb20d31d9e86", null ], + [ "maxtypeoftimeintvls", "grib2__all__tables__module_8f90.html#a42f4964f39d1196a57c4394a271cc997", null ], + [ "maxunitoftimerange", "grib2__all__tables__module_8f90.html#adf11dd0546c0c874f193397496fe5191", null ], + [ "maxver", "grib2__all__tables__module_8f90.html#a7e3b3e88230076d60f152bd30ec7d3de", null ], + [ "on388_table0", "grib2__all__tables__module_8f90.html#ae3fa05187c1c3555612c74fb2beac9f7", null ], + [ "on388_tablea", "grib2__all__tables__module_8f90.html#a95e75d17a9843e5eadc41d60fb3f641a", null ], + [ "table1_0", "grib2__all__tables__module_8f90.html#ab8b7e39ae67d6ab3b4777541f78b245b", null ], + [ "table1_1", "grib2__all__tables__module_8f90.html#a48024af6b6986da2cd96d71c07519d68", null ], + [ "table1_2", "grib2__all__tables__module_8f90.html#ac2c1862104e1028e45499d196db293b2", null ], + [ "table1_3", "grib2__all__tables__module_8f90.html#a0772a2b23a8acc63d2f50379fef133ab", null ], + [ "table1_4", "grib2__all__tables__module_8f90.html#a77815af9e185c6dfa687acf0f5a3d8be", null ], + [ "table4_10", "grib2__all__tables__module_8f90.html#aff2b3835d1dc9289cbc743538f7e32d1", null ], + [ "table4_11", "grib2__all__tables__module_8f90.html#a1a9865342aa9362d62bd51e4fe03ea98", null ], + [ "table4_201", "grib2__all__tables__module_8f90.html#a4d8c0ab7d90e16ba1e7ba2fafb7e645d", null ], + [ "table4_233", "grib2__all__tables__module_8f90.html#a2dcfacd3fd77925c376c552399c30c14", null ], + [ "table4_3", "grib2__all__tables__module_8f90.html#a0c7692a08f88aa0e8d01a17bf029c702", null ], + [ "table4_4", "grib2__all__tables__module_8f90.html#acb8905414d65ea7198680280422781cf", null ], + [ "table4_5", "grib2__all__tables__module_8f90.html#aca9caa7edc2eb9c536751beb619ec7b2", null ], + [ "table4_6", "grib2__all__tables__module_8f90.html#a892a919ce9a9004401956189bda9228f", null ], + [ "table4_7", "grib2__all__tables__module_8f90.html#a3bc05af06028e90565b0403da1f27dd5", null ], + [ "table4_8", "grib2__all__tables__module_8f90.html#adc67dae3300336b4054a18a28dd387c4", null ], + [ "table4_9", "grib2__all__tables__module_8f90.html#a43fd72d4b1c07b3c945d2d950d1b3b7f", null ], + [ "table4_91", "grib2__all__tables__module_8f90.html#a914b8271dbe73018f9b45831a2f56c60", null ], + [ "table5_0", "grib2__all__tables__module_8f90.html#a63cbd073a2f47ffd034eb0fa92539228", null ], + [ "table5_1", "grib2__all__tables__module_8f90.html#a544179854d04ab2039cfb2bd5c42320a", null ], + [ "table5_40", "grib2__all__tables__module_8f90.html#a4390b46591268745d08b7250aaa62eeb", null ], + [ "table5_6", "grib2__all__tables__module_8f90.html#a0be606501cd5ef071762d41582162167", null ], + [ "tablec", "grib2__all__tables__module_8f90.html#a112a173dcef23d668ff230c27ec9b727", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90_source.html b/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90_source.html new file mode 100644 index 0000000..3591ad3 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/grib2__all__tables__module_8f90_source.html @@ -0,0 +1,2101 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module.f90 Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    grib2_all_tables_module.f90
    +
    +
    +Go to the documentation of this file.
    1 
    +
    4 
    + +
    24  implicit none
    +
    25 
    +
    27  integer, parameter :: maxsubcen=100
    +
    29  integer, parameter :: maxver=100
    +
    31  integer, parameter :: maxlocver=20
    +
    33  integer, parameter :: maxreftime=15
    +
    35  integer, parameter :: maxprodstatus=17
    +
    37  integer, parameter :: maxtypeofdata=100
    +
    39  integer, parameter :: maxtypeofgenproc=100
    +
    41  integer, parameter :: maxtypeofensfcst=100
    +
    43  integer, parameter :: maxtypeofderivefcst=100
    +
    45  integer, parameter :: maxfixedsurfacetypes=200
    +
    47  integer, parameter :: maxunitoftimerange=30
    +
    49  integer, parameter :: maxgenproc=250
    +
    51  integer, parameter :: maxorigincenters=500
    +
    53  integer, parameter :: maxtypeoforigfieldval=15
    +
    55  integer, parameter :: maxtypeofcompression=50
    +
    57  integer, parameter :: maxtypeofpackingmethod=50
    +
    59  integer, parameter :: maxstatprocesstypes=50
    +
    61  integer, parameter :: maxtypeoftimeintvls=50
    +
    63  integer, parameter :: maxtypeofprob=100
    +
    65  integer, parameter :: maxtypeofprecip=100
    +
    67  integer, parameter :: maxtypeofcluster=100
    +
    69  integer, parameter :: maxtypeofaerosol=200
    +
    71  integer, parameter :: maxtypeofintvls=50
    +
    73  integer, parameter :: maxordofsptdiff=50
    +
    74 
    + +
    76  character(len=20) :: subcenkey
    +
    77  integer :: subcenval
    +
    78  end type subcenters
    +
    79 
    +
    81  type(subcenters), dimension(MAXSUBCEN) :: tablec
    +
    82 
    +
    83  data tablec(1) /subcenters('ncep_reanl',1)/
    +
    84  data tablec(2) /subcenters('ncep_ensem',2)/
    +
    85  data tablec(3) /subcenters('ncep_nco',3)/
    +
    86  data tablec(4) /subcenters('ncep_emc',4)/
    +
    87  data tablec(5) /subcenters('ncep_wpc',5)/
    +
    88  data tablec(6) /subcenters('ncep_opc',6)/
    +
    89  data tablec(7) /subcenters('ncep_cpc',7)/
    +
    90  data tablec(8) /subcenters('ncep_awc',8)/
    +
    91  data tablec(9) /subcenters('ncep_spc',9)/
    +
    92  data tablec(10) /subcenters('ncep_nhc',10)/
    +
    93  data tablec(11) /subcenters('nws_tdl',11)/
    +
    94  data tablec(12) /subcenters('nesdis_ora',12)/
    +
    95  data tablec(13) /subcenters('faa',13)/
    +
    96  data tablec(14) /subcenters('nws_mdl',14)/
    +
    97  data tablec(15) /subcenters('narr',15)/
    +
    98  data tablec(16) /subcenters('swpc',16)/
    +
    99  !
    +
    100  ! Added Sub-Center (06/26/2019)
    +
    101  !
    +
    102  data tablec(17) /subcenters('esrl',17)/
    +
    103 
    + +
    105  character(len=20) :: verskey
    +
    106  integer :: versval
    +
    107  end type version_no
    +
    108 
    +
    110  type(version_no),dimension(MAXVER) :: table1_0
    +
    111 
    +
    112  data table1_0(1) /version_no('expt',0)/
    +
    113  data table1_0(2) /version_no('v2001',1)/
    +
    114  data table1_0(3) /version_no('v2003',2)/
    +
    115  data table1_0(4) /version_no('v2005',3)/
    +
    116  data table1_0(5) /version_no('v2007',4)/
    +
    117  data table1_0(6) /version_no('v2009',5)/
    +
    118  data table1_0(7) /version_no('v2010',6)/
    +
    119  data table1_0(8) /version_no('v052011',7)/
    +
    120  data table1_0(9) /version_no('v112011',8)/
    +
    121  data table1_0(10) /version_no('v052012',9)/
    +
    122  data table1_0(11) /version_no('v112012',10)/
    +
    123  data table1_0(12) /version_no('v052013',11)/
    +
    124  data table1_0(13) /version_no('v112013',12)/
    +
    125  data table1_0(14) /version_no('v052014',13)/
    +
    126  data table1_0(15) /version_no('v112014',14)/
    +
    127  data table1_0(16) /version_no('v052015',15)/
    +
    128  data table1_0(17) /version_no('v112015',16)/
    +
    129  data table1_0(18) /version_no('v052016',17)/
    +
    130  data table1_0(19) /version_no('v112016',18)/
    +
    131  data table1_0(20) /version_no('v052017',19)/
    +
    132  data table1_0(21) /version_no('v112017',20)/
    +
    133  data table1_0(22) /version_no('v052018',21)/
    +
    134  data table1_0(23) /version_no('v112018',22)/
    +
    135  data table1_0(24) /version_no('v052019',23)/
    +
    136  data table1_0(25) /version_no('v112019',24)/
    +
    137  data table1_0(26) /version_no('v052020',25)/
    +
    138  data table1_0(27) /version_no('v112020',26)/
    +
    139  data table1_0(28) /version_no('v052021',27)/
    +
    140  data table1_0(29) /version_no('v112021',28)/
    +
    141  data table1_0(30) /version_no('preoper',29)/
    +
    142  !
    +
    143  !
    + +
    145  character(len=20) :: locverskey
    +
    146  integer :: locversval
    +
    147  end type local_table_vers_no
    +
    148 
    +
    150  type(local_table_vers_no),dimension(MAXLOCVER) :: table1_1
    +
    151  !
    +
    152  data table1_1(1) /local_table_vers_no('local_tab_no',0)/
    +
    153  data table1_1(2) /local_table_vers_no('local_tab_yes1',1)/
    +
    154  data table1_1(3) /local_table_vers_no('local_tab_yes2',2)/
    +
    155  data table1_1(4) /local_table_vers_no('local_tab_yes3',3)/
    +
    156  data table1_1(5) /local_table_vers_no('local_tab_yes4',4)/
    +
    157  data table1_1(6) /local_table_vers_no('local_tab_yes5',5)/
    +
    158  data table1_1(7) /local_table_vers_no('missing',255)/
    +
    159  !
    +
    160  !
    + +
    162  character(len=20) :: sigrefkey
    +
    163  integer :: sigrefval
    +
    164  end type sigreftime
    +
    165 
    +
    166  ! Declare a variable of type discipline
    +
    167 
    +
    169  type(sigreftime),dimension(MAXREFTIME) :: table1_2
    +
    170 
    +
    171  data table1_2(1) /sigreftime('anal',0)/
    +
    172  data table1_2(2) /sigreftime('fcst',1)/
    +
    173  data table1_2(3) /sigreftime('vfcst',2)/
    +
    174  data table1_2(4) /sigreftime('obstime',3)/
    +
    175  data table1_2(5) /sigreftime('missing',255)/
    +
    176  !
    +
    177  !
    + +
    179  character(len=20) :: prodstatuskey
    +
    180  integer :: prodstatusval
    +
    181  end type prod_status
    +
    182 
    +
    183  ! Declare a variable of type discipline
    +
    184 
    +
    186  type(prod_status),dimension(MAXPRODSTATUS) :: table1_3
    +
    187 
    +
    188  data table1_3(1) /prod_status('oper',0)/
    +
    189  data table1_3(2) /prod_status('oper_test',1)/
    +
    190  data table1_3(3) /prod_status('res',2)/
    +
    191  data table1_3(4) /prod_status('reanal',3)/
    +
    192  data table1_3(5) /prod_status('tigge',4)/
    +
    193  data table1_3(6) /prod_status('tigge_test',5)/
    +
    194  data table1_3(7) /prod_status('missing',255)/
    +
    195  data table1_3(8) /prod_status('s2s_oper',6)/
    +
    196  data table1_3(9) /prod_status('s2s_test',7)/
    +
    197  data table1_3(10) /prod_status('unens_rreanl',8)/
    +
    198  data table1_3(11) /prod_status('unens_rreanl_test',9)/
    +
    199  !
    +
    200  !
    + +
    202  character(len=20) :: typeofdatakey
    +
    203  integer :: typeofdataval
    +
    204  end type type_of_data
    +
    205  !
    +
    207  type(type_of_data),dimension(MAXTYPEOFDATA) :: table1_4
    +
    208 
    +
    209  data table1_4(1) /type_of_data('anal',0)/
    +
    210  data table1_4(2) /type_of_data('fcst',1)/
    +
    211  data table1_4(3) /type_of_data('anal_fcst',2)/
    +
    212  data table1_4(4) /type_of_data('con_fcst',3)/
    +
    213  data table1_4(5) /type_of_data('per_fcst',4)/
    +
    214  data table1_4(6) /type_of_data('con_per_fcst',5)/
    +
    215  data table1_4(7) /type_of_data('proc_sat_obs',6)/
    +
    216  data table1_4(8) /type_of_data('proc_rad_obs',7)/
    +
    217  data table1_4(9) /type_of_data('event_prob',8)/
    +
    218  data table1_4(10) /type_of_data('missing',255)/
    +
    219  data table1_4(11) /type_of_data('experimental_products',192)/
    +
    220  !
    +
    221  !
    + +
    223  character(len=30) :: typeofgenprockey
    +
    224  integer :: typeofgenprocval
    +
    225  end type type_of_gen_proc
    +
    226  ! 2015/09/02 Boi Vuong Added 4 type of aerosols in table4_233
    +
    227  ! 2019/06/25 Boi Vuong Added new entries 197,198,199 in table4_3
    +
    228 
    +
    229  !
    +
    231  type(type_of_gen_proc),dimension(MAXTYPEOFGENPROC) :: table4_3
    +
    232 
    +
    233  data table4_3(1) /type_of_gen_proc('anal',0)/
    +
    234  data table4_3(2) /type_of_gen_proc('init',1)/
    +
    235  data table4_3(3) /type_of_gen_proc('fcst',2)/
    +
    236  data table4_3(4) /type_of_gen_proc('bias_corr_fcst',3)/
    +
    237  data table4_3(5) /type_of_gen_proc('ens_fcst',4)/
    +
    238  data table4_3(6) /type_of_gen_proc('prob_fcst',5)/
    +
    239  data table4_3(7) /type_of_gen_proc('fcst_err',6)/
    +
    240  data table4_3(8) /type_of_gen_proc('anal_err',7)/
    +
    241  data table4_3(9) /type_of_gen_proc('obs',8)/
    +
    242  data table4_3(10) /type_of_gen_proc('clim',9)/
    +
    243  data table4_3(11) /type_of_gen_proc('prob_wt_fcst',10)/
    +
    244  data table4_3(12) /type_of_gen_proc('fcst_con_ind',192)/
    +
    245  data table4_3(13) /type_of_gen_proc('bias_corr_ens_fcst',11)/
    +
    246  data table4_3(14) /type_of_gen_proc('missing',255)/
    +
    247  data table4_3(15) /type_of_gen_proc('post_proc_anal',12)/
    +
    248  data table4_3(16) /type_of_gen_proc('post_proc_fcst',13)/
    +
    249  data table4_3(17) /type_of_gen_proc('nowcast',14)/
    +
    250  data table4_3(18) /type_of_gen_proc('hincsast',15)/
    +
    251  data table4_3(19) /type_of_gen_proc('physical_retrieval',16)/
    +
    252  data table4_3(20) /type_of_gen_proc('regression_analysis',17)/
    +
    253  data table4_3(21) /type_of_gen_proc('difference_two_forecasts',18)/
    +
    254  data table4_3(22) /type_of_gen_proc('prob_matched_mean',193)/
    +
    255  data table4_3(23) /type_of_gen_proc('neighborhood_prob',194)/
    +
    256  data table4_3(24) /type_of_gen_proc('bias_corrected_downscale',195)/
    +
    257  data table4_3(25) /type_of_gen_proc('perturbed_analysis',196)/
    +
    258  !
    +
    259  ! Added Generating Process (06/26/2019)
    +
    260  !
    +
    261  data table4_3(26) /type_of_gen_proc('ens_scale_prob',197)/
    +
    262  data table4_3(27) /type_of_gen_proc('post_dew_fcst',198)/
    +
    263  data table4_3(28) /type_of_gen_proc('ens_fcst_base',199)/
    +
    264  !
    +
    265  ! Added Generating Process (04/20/2021)
    +
    266  !
    +
    267  data table4_3(29) /type_of_gen_proc('local_prob_match_mean',200)/
    +
    268  !
    +
    269  !
    + +
    271  character(len=30) :: unitoftimerangekey
    +
    272  integer :: unitoftimerangeval
    +
    273  end type unit_of_time_range
    +
    274  !
    +
    276  type(unit_of_time_range),dimension(MAXUNITOFTIMERANGE) :: table4_4
    +
    277 
    +
    278  data table4_4(1) /unit_of_time_range('minute',0)/
    +
    279  data table4_4(2) /unit_of_time_range('hour',1)/
    +
    280  data table4_4(3) /unit_of_time_range('day',2)/
    +
    281  data table4_4(4) /unit_of_time_range('month',3)/
    +
    282  data table4_4(5) /unit_of_time_range('year',4)/
    +
    283  data table4_4(6) /unit_of_time_range('decade',5)/
    +
    284  data table4_4(7) /unit_of_time_range('normal_30y',6)/
    +
    285  data table4_4(8) /unit_of_time_range('century',7)/
    +
    286  data table4_4(9) /unit_of_time_range('3hours',10)/
    +
    287  data table4_4(10) /unit_of_time_range('6hours',11)/
    +
    288  data table4_4(11) /unit_of_time_range('12hours',12)/
    +
    289  data table4_4(12) /unit_of_time_range('second',13)/
    +
    290  data table4_4(13) /unit_of_time_range('missing',255)/
    +
    291  !
    +
    292  !
    + +
    294  character(len=80) :: fixedsurfacetypeskey
    +
    295  integer :: fixedsurfacetypesval
    +
    296  end type fixed_surface_types
    +
    297  !
    +
    299  type(fixed_surface_types),dimension(MAXFIXEDSURFACETYPES) :: table4_5
    +
    300 
    +
    301  data table4_5(1) /fixed_surface_types('surface',1)/
    +
    302  data table4_5(2) /fixed_surface_types('cloud_base',2)/
    +
    303  data table4_5(3) /fixed_surface_types('cloud_top',3)/
    +
    304  data table4_5(4) /fixed_surface_types('0C_isotherm',4)/
    +
    305  data table4_5(5) /fixed_surface_types('lvl_of_adiab_cond_from_sfc',5)/
    +
    306  data table4_5(6) /fixed_surface_types('max_wind',6)/
    +
    307  data table4_5(7) /fixed_surface_types('tropopause',7)/
    +
    308  data table4_5(8) /fixed_surface_types('top_of_atmos',8)/
    +
    309  data table4_5(9) /fixed_surface_types('sea_bottom',9)/
    +
    310  data table4_5(10) /fixed_surface_types('entire_atmos',10)/
    +
    311  data table4_5(11) /fixed_surface_types('cb_base',11)/
    +
    312  data table4_5(12) /fixed_surface_types('cb_top',12)/
    +
    313  data table4_5(13) /fixed_surface_types('isothermal',20)/
    +
    314  data table4_5(14) /fixed_surface_types('isobaric_sfc',100)/
    +
    315  data table4_5(15) /fixed_surface_types('mean_sea_lvl',101)/
    +
    316  data table4_5(16) /fixed_surface_types('spec_alt_above_mean_sea_lvl',102)/
    +
    317  data table4_5(17) /fixed_surface_types('spec_hgt_lvl_above_grnd',103)/
    +
    318  data table4_5(18) /fixed_surface_types('sigma_lvl',104)/
    +
    319  data table4_5(19) /fixed_surface_types('hybrid_lvl',105)/
    +
    320  data table4_5(20) /fixed_surface_types('depth_bel_land_sfc',106)/
    +
    321  data table4_5(21) /fixed_surface_types('isentropic_lvl',107)/
    +
    322  data table4_5(22) /fixed_surface_types('spec_pres_above_grnd',108)/
    +
    323  data table4_5(23) /fixed_surface_types('pot_vort_sfc',109)/
    +
    324  data table4_5(24) /fixed_surface_types('eta_lvl',111)/
    +
    325  data table4_5(25) /fixed_surface_types('mixed_lyr_depth',117)/
    +
    326  data table4_5(26) /fixed_surface_types('depth_below_sea_lvl',160)/
    +
    327  data table4_5(27) /fixed_surface_types('entire_atmos_single_lyr',200)/
    +
    328  data table4_5(28) /fixed_surface_types('entire_ocean_single_lyr',201)/
    +
    329  data table4_5(29) /fixed_surface_types('hghst_trop_frz_lvl',204)/
    +
    330  data table4_5(30) /fixed_surface_types('grid_scale_cloud_bot_lvl',206)/
    +
    331  data table4_5(31) /fixed_surface_types('grid_scale_cloud_top_lvl',207)/
    +
    332  data table4_5(32) /fixed_surface_types('bound_lyr_cloud_bot_lvl',209)/
    +
    333  data table4_5(33) /fixed_surface_types('bound_lyr_cloud_top_lvl',210)/
    +
    334  data table4_5(34) /fixed_surface_types('bound_lyr_cloud_lyr',211)/
    +
    335  data table4_5(35) /fixed_surface_types('low_cloud_bot_lvl',212)/
    +
    336  data table4_5(36) /fixed_surface_types('low_cloud_top_lvl',213)/
    +
    337  data table4_5(37) /fixed_surface_types('low_cloud_lyr',214)/
    +
    338  data table4_5(38) /fixed_surface_types('cloud_ceilng',215)/
    +
    339  data table4_5(39) /fixed_surface_types('planetary_bound_lyr',220)/
    +
    340  data table4_5(40) /fixed_surface_types('lyr_betwn_2hybrid_lvls',221)/
    +
    341  data table4_5(41) /fixed_surface_types('mid_cloud_bot_lvl',222)/
    +
    342  data table4_5(42) /fixed_surface_types('mid_cloud_top_lvl',223)/
    +
    343  data table4_5(43) /fixed_surface_types('mid_cloud_lyr',224)/
    +
    344  data table4_5(44) /fixed_surface_types('high_cloud_bot_lvl',232)/
    +
    345  data table4_5(45) /fixed_surface_types('high_cloud_top_lvl',233)/
    +
    346  data table4_5(46) /fixed_surface_types('high_cloud_lyr',234)/
    +
    347  data table4_5(47) /fixed_surface_types('ocean_isotherm_lvl',235)/
    +
    348  data table4_5(48) /fixed_surface_types('lyr_betwn_2depths_below_ocean_sfc',236)/
    +
    349  data table4_5(49) /fixed_surface_types('bot_of_ocean_mix_lyr',237)/
    +
    350  data table4_5(50) /fixed_surface_types('bot_of_ocean_isoth_lyr',238)/
    +
    351  data table4_5(51) /fixed_surface_types('lyr_ocean_sfc_26c_ocean_isotherm_lvl',239)/
    +
    352  data table4_5(52) /fixed_surface_types('ocean_mix_lyr',240)/
    +
    353  data table4_5(53) /fixed_surface_types('ordered_seq_of_data',241)/
    +
    354  data table4_5(54) /fixed_surface_types('convective_cloud_bot_lvl',242)/
    +
    355  data table4_5(55) /fixed_surface_types('convective_cloud_top_lvl',243)/
    +
    356  data table4_5(56) /fixed_surface_types('convective_cloud_lyr',244)/
    +
    357  data table4_5(57) /fixed_surface_types('lwst_lvl_of_wet_bulb_zero',245)/
    +
    358  data table4_5(58) /fixed_surface_types('max_equiv_pot_temp_lvl',246)/
    +
    359  data table4_5(59) /fixed_surface_types('equil_lvl',247)/
    +
    360  data table4_5(60) /fixed_surface_types('shall_convective_cloud_bot_lvl',248)/
    +
    361  data table4_5(61) /fixed_surface_types('shall_convective_cloud_top_lvl',249)/
    +
    362  data table4_5(62) /fixed_surface_types('deep_convective_cloud_bot_lvl',251)/
    +
    363  data table4_5(63) /fixed_surface_types('deep_convective_cloud_top_lvl',252)/
    +
    364  data table4_5(64) /fixed_surface_types('lwst_bot_lvl_of_supercooled_liq_water_lyr',253)/
    +
    365  data table4_5(65) /fixed_surface_types('hghst_top_lvl_of_supercooled_liq_water_lyr',254)/
    +
    366  data table4_5(66) /fixed_surface_types('missing',255)/
    +
    367  data table4_5(67) /fixed_surface_types('hybrid_height_lvl',118)/
    +
    368  data table4_5(68) /fixed_surface_types('hybrid_pres_lvl',119)/
    +
    369  data table4_5(69) /fixed_surface_types('gen_vertical_height_coor',150)/
    +
    370  data table4_5(70) /fixed_surface_types('depth_below_water_lvl',161)/
    +
    371  data table4_5(71) /fixed_surface_types('lake_or_river_bottom',162)/
    +
    372  data table4_5(72) /fixed_surface_types('bottom_of_sediment_layer',163)/
    +
    373  data table4_5(73) /fixed_surface_types('bottom_of_therm_sediment_layer',164)/
    +
    374  data table4_5(74) /fixed_surface_types('bottom_of_sediment_layer_thermal_wave',165)/
    +
    375  data table4_5(75) /fixed_surface_types('maxing_layer',166)/
    +
    376  data table4_5(76) /fixed_surface_types('bottom_root_zone',167)/
    +
    377  data table4_5(77) /fixed_surface_types('topsfc_ice_onsealakeriver',174)/
    +
    378  data table4_5(78) /fixed_surface_types('topsfc_ice_unsnow_onsealakeriver',175)/
    +
    379  data table4_5(79) /fixed_surface_types('bottomsfc_ice_onsealakeriver',176)/
    +
    380  data table4_5(80) /fixed_surface_types('deep_soil',177)/
    +
    381  data table4_5(81) /fixed_surface_types('topsfc_glacierice_inlandice',179)/
    +
    382  data table4_5(82) /fixed_surface_types('deepinland_glacierice',180)/
    +
    383  data table4_5(83) /fixed_surface_types('gridtile_landfrac',181)/
    +
    384  data table4_5(84) /fixed_surface_types('gridtile_waterfrac',182)/
    +
    385  data table4_5(85) /fixed_surface_types('gridtile_icefrac_onsealakeriver',183)/
    +
    386  data table4_5(86) /fixed_surface_types('gridtile_glacierice_inland_icefrac',184)/
    +
    387  data table4_5(87) /fixed_surface_types('lowest_level_vertical_icc',13)/
    +
    388  data table4_5(88) /fixed_surface_types('level_free_convection',14)/
    +
    389  data table4_5(89) /fixed_surface_types('covection_conden_level',15)/
    +
    390  data table4_5(90) /fixed_surface_types('level_neutral_buoy',16)/
    +
    391  data table4_5(91) /fixed_surface_types('soil_level',151)/
    +
    392  !
    +
    393  ! Added fixed surface levels (06/26/2019)
    +
    394  !
    +
    395  data table4_5(92) /fixed_surface_types('lowest_mass_den',21)/
    +
    396  data table4_5(93) /fixed_surface_types('highest_mass_den',22)/
    +
    397  data table4_5(94) /fixed_surface_types('lowest_air_con',23)/
    +
    398  data table4_5(95) /fixed_surface_types('highest_air_con',24)/
    +
    399  data table4_5(96) /fixed_surface_types('highest_rref',25)/
    +
    400  data table4_5(97) /fixed_surface_types('log_hyb_lev',113)/
    +
    401  data table4_5(98) /fixed_surface_types('snow_lev',114)/
    +
    402  data table4_5(100) /fixed_surface_types('sigma_hi_lev',115)/
    +
    403  !
    +
    404  ! Added fixed surface levels (04/20/2021)
    +
    405  !
    +
    406  data table4_5(101) /fixed_surface_types('ocean_model_level',168)/
    +
    407  data table4_5(102) /fixed_surface_types('ocean_level_water_density',169)/
    +
    408  data table4_5(103) /fixed_surface_types('ocean_level_water_potential_temp',170)/
    +
    409  data table4_5(104) /fixed_surface_types('eff_layer_top_level',216)/
    +
    410  data table4_5(105) /fixed_surface_types('eff_layer_bottom_level',217)/
    +
    411  data table4_5(106) /fixed_surface_types('eff_layer',218)/
    +
    412  !
    +
    413  !
    + +
    415  character(len=50) :: typeofensfcstkey
    +
    416  integer :: typeofensfcstval
    +
    417  end type type_of_ens_fcst
    +
    418  !
    +
    420  type(type_of_ens_fcst),dimension(MAXTYPEOFENSFCST) :: table4_6
    +
    421 
    +
    422  data table4_6(1) /type_of_ens_fcst('unpert_hi_res_ctrl_fcst',0)/
    +
    423  data table4_6(2) /type_of_ens_fcst('unpert_lo_res_ctrl_fcst',1)/
    +
    424  data table4_6(3) /type_of_ens_fcst('neg_pert_fcst',2)/
    +
    425  data table4_6(4) /type_of_ens_fcst('pos_pert_fcst',3)/
    +
    426  data table4_6(5) /type_of_ens_fcst('multi_model_fcst',4)/
    +
    427  data table4_6(6) /type_of_ens_fcst('pert_ens_member',192)/
    +
    428  !
    +
    429  !
    + +
    431  character(len=50) :: typeofderivefcstkey
    +
    432  integer :: typeofderivefcstval
    +
    433  end type type_of_derive_fcst
    +
    434  !
    +
    436  type(type_of_derive_fcst),dimension(MAXTYPEOFDERIVEFCST) :: table4_7
    +
    437 
    +
    438  data table4_7(1) /type_of_derive_fcst('unweighted_mean_all_mem',0)/
    +
    439  data table4_7(2) /type_of_derive_fcst('weighted_mean_all_mem',1)/
    +
    440  data table4_7(3) /type_of_derive_fcst('std_devn_res_cluster_mean',2)/
    +
    441  data table4_7(4) /type_of_derive_fcst('std_devn_res_cluster_mean_norm',3)/
    +
    442  data table4_7(5) /type_of_derive_fcst('spread_all_mem',4)/
    +
    443  data table4_7(6) /type_of_derive_fcst('large_anomaly_index',5)/
    +
    444  data table4_7(7) /type_of_derive_fcst('unweighted_mean_cluster',6)/
    +
    445  data table4_7(8) /type_of_derive_fcst('interquartile_range',7)/
    +
    446  data table4_7(9) /type_of_derive_fcst('min_all_ens_mem',8)/
    +
    447  data table4_7(10) /type_of_derive_fcst('max_all_ens_mem',9)/
    +
    448  data table4_7(11) /type_of_derive_fcst('unweighted_mode_all_mem',192)/
    +
    449  data table4_7(12) /type_of_derive_fcst('percentile_val_10',193)/
    +
    450  data table4_7(13) /type_of_derive_fcst('percentile_val_50',194)/
    +
    451  data table4_7(14) /type_of_derive_fcst('percentile_val_90',195)/
    +
    452  data table4_7(15) /type_of_derive_fcst('stat_decide_mem',196)/
    +
    453  data table4_7(16) /type_of_derive_fcst('clim_percentile',197)/
    +
    454  data table4_7(17) /type_of_derive_fcst('deviation_ens_mean',198)/
    +
    455  data table4_7(18) /type_of_derive_fcst('extream_forecast_index',199)/
    +
    456  !
    +
    457  ! Added type of derive forecast (04/20/2021)
    +
    458  !
    +
    459  data table4_7(19) /type_of_derive_fcst('equally_weighted_mean',200)/
    +
    460  data table4_7(20) /type_of_derive_fcst('percentile_value_5',201)/
    +
    461  data table4_7(21) /type_of_derive_fcst('percentile_value_25',202)/
    +
    462  data table4_7(22) /type_of_derive_fcst('percentile_value_75',203)/
    +
    463  data table4_7(23) /type_of_derive_fcst('percentile_value_95',204)/
    +
    464  !
    +
    465  !
    +
    466  ! Added Clustering Method Table 4.8 (06/26/2019)
    +
    467  !
    + +
    469  character(len=80) :: typeofclusterkey
    +
    470  integer :: typeofclusterval
    +
    471  end type type_of_cluster
    +
    472  !
    +
    474  type(type_of_cluster),dimension(MAXTYPEOFCLUSTER) :: table4_8
    +
    475 
    +
    476  data table4_8(1) /type_of_cluster('anomoly_correlation',0)/
    +
    477  data table4_8(2) /type_of_cluster('root_mean_square',1)/
    +
    478  !
    +
    479  !
    +
    480  ! Added Probability Type Table 4.9 (06/26/2019)
    +
    481  !
    + +
    483  character(len=80) :: typeofprobkey
    +
    484  integer :: typeofprobval
    +
    485  end type type_of_prob
    +
    486  !
    +
    488  type(type_of_prob),dimension(MAXTYPEOFPROB) :: table4_9
    +
    489 
    +
    490  data table4_9(1) /type_of_prob('prob_below_lower_limit',0)/
    +
    491  data table4_9(2) /type_of_prob('prob_above_upper_limit',1)/
    +
    492  data table4_9(3) /type_of_prob('prob_between_upper_lower_limit',2)/
    +
    493  data table4_9(4) /type_of_prob('prob_above_lower_limit',3)/
    +
    494  data table4_9(5) /type_of_prob('prob_below_upper_limit',4)/
    +
    495  data table4_9(6) /type_of_prob('prob_equal_lower_limit',5)/
    +
    496  data table4_9(7) /type_of_prob('prob_above_normal_cat',6)/
    +
    497  data table4_9(8) /type_of_prob('prob_near_normal_cat',7)/
    +
    498  data table4_9(9) /type_of_prob('prob_below_normal_cat',8)/
    +
    499  !
    +
    500  !
    + +
    502  character(len=80) :: statprocesstypeskey
    +
    503  integer :: statprocesstypesval
    + +
    505  !
    +
    507  type(statistical_processing_types),dimension(MAXSTATPROCESSTYPES) :: table4_10
    +
    508 
    +
    509  data table4_10(1) /statistical_processing_types('AVE',0)/
    +
    510  data table4_10(2) /statistical_processing_types('ACM',1)/
    +
    511  data table4_10(3) /statistical_processing_types('MAX',2)/
    +
    512  data table4_10(4) /statistical_processing_types('MIN',3)/
    +
    513  data table4_10(5) /statistical_processing_types('diff_end-beg',4)/
    +
    514  data table4_10(6) /statistical_processing_types('rms',5)/
    +
    515  data table4_10(7) /statistical_processing_types('std_devn',6)/
    +
    516  data table4_10(8) /statistical_processing_types('covariance',7)/
    +
    517  data table4_10(9) /statistical_processing_types('diff_beg-end',8)/
    +
    518  data table4_10(10) /statistical_processing_types('ratio',9)/
    +
    519  data table4_10(11) /statistical_processing_types('std_anomaly',10)/
    +
    520  data table4_10(12) /statistical_processing_types('clim_mean',192)/
    +
    521  data table4_10(13) /statistical_processing_types('ave_n_fcsts',193)/
    +
    522  data table4_10(14) /statistical_processing_types('ave_n_unin_anal',194)/
    +
    523  data table4_10(15) /statistical_processing_types('ave_fcst_acc_24',195)/
    +
    524  data table4_10(16) /statistical_processing_types('ave_succ_fcst_acc',196)/
    +
    525  data table4_10(17) /statistical_processing_types('ave_fcst_ave_24',197)/
    +
    526  data table4_10(18) /statistical_processing_types('ave_succ_fcst_ave',198)/
    +
    527  data table4_10(19) /statistical_processing_types('clim_ave_n_anal',199)/
    +
    528  data table4_10(20) /statistical_processing_types('clim_ave_n_fcst',200)/
    +
    529  data table4_10(21) /statistical_processing_types('clim_rms_diff',201)/
    +
    530  data table4_10(22) /statistical_processing_types('clim_std_n_fcst',202)/
    +
    531  data table4_10(23) /statistical_processing_types('clim_std_n_anal',203)/
    +
    532  data table4_10(24) /statistical_processing_types('ave_fcst_acc_6',204)/
    +
    533  data table4_10(25) /statistical_processing_types('ave_fcst_ave_6',205)/
    +
    534  data table4_10(26) /statistical_processing_types('ave_fcst_acc_12',206)/
    +
    535  data table4_10(27) /statistical_processing_types('ave_fcst_ave_12',207)/
    +
    536  data table4_10(28) /statistical_processing_types('missing',255)/
    +
    537  data table4_10(29) /statistical_processing_types('summation',11)/
    +
    538  data table4_10(30) /statistical_processing_types('confidence_index',12)/
    +
    539  data table4_10(31) /statistical_processing_types('quality_indicator',13)/
    +
    540  data table4_10(32) /statistical_processing_types('variance',208)/
    +
    541  data table4_10(33) /statistical_processing_types('confficient',209)/
    +
    542  !
    +
    543  !
    + +
    545  character(len=80) :: typeoftimeintervalskey
    +
    546  integer :: typeoftimeintervalsval
    +
    547  end type type_of_time_intervals
    +
    548  !
    +
    550  type(type_of_time_intervals),dimension(MAXTYPEOFTIMEINTVLS) :: table4_11
    +
    551 
    +
    552  data table4_11(1) /type_of_time_intervals('reserved',0)/
    +
    553  data table4_11(2) /type_of_time_intervals('same_fcst_time_start_time_fcst_inc',1)/
    +
    554  data table4_11(3) /type_of_time_intervals('same_start_time_fcst_fcst_time_inc',2)/
    +
    555  data table4_11(4) /type_of_time_intervals('start_time_fcst_inc_fcst_time_dec',3)/
    +
    556  data table4_11(5) /type_of_time_intervals('start_time_fcst_dec_fcst_time_inc',4)/
    +
    557  data table4_11(6) /type_of_time_intervals('fltng_time_betwn_fcst_time_end_time_intvl',5)/
    +
    558  data table4_11(7) /type_of_time_intervals('local1',192)/
    +
    559  data table4_11(8) /type_of_time_intervals('local2',193)/
    +
    560  data table4_11(9) /type_of_time_intervals('local3',194)/
    +
    561  data table4_11(10) /type_of_time_intervals('missing',255)/
    +
    562  !
    +
    563  !
    + +
    565  character(len=80) :: typeofintervalskey
    +
    566  integer :: typeofintervalsval
    +
    567  end type type_of_intervals
    +
    568  !
    +
    570  type(type_of_intervals),dimension(MAXTYPEOFINTVLS) :: table4_91
    +
    571 
    +
    572  data table4_91(1) /type_of_intervals('smaller_than_first_limit',0)/
    +
    573  data table4_91(2) /type_of_intervals('greater_than_second_limit',1)/
    +
    574  data table4_91(3) /type_of_intervals('between_first_second_limit_noincl2ndlmt',2)/
    +
    575  data table4_91(4) /type_of_intervals('greater_than_first_limit',3)/
    +
    576  data table4_91(5) /type_of_intervals('smaller_than_second_limit',4)/
    +
    577  data table4_91(6) /type_of_intervals('smaller_or_equal_first_limit',5)/
    +
    578  data table4_91(7) /type_of_intervals('greater_or_equal_second_limit',6)/
    +
    579  data table4_91(8) /type_of_intervals('between_first_second_limit',7)/
    +
    580  data table4_91(9) /type_of_intervals('greater_or_equal_first_limit',8)/
    +
    581  data table4_91(10) /type_of_intervals('smaller_or_equal_second_limit',9)/
    +
    582  data table4_91(11) /type_of_intervals('between_first_second_limit_noincl1stlmt',10)/
    +
    583  data table4_91(12) /type_of_intervals('equall_to_first_limit',11)/
    +
    584  data table4_91(13) /type_of_intervals('missing',255)/
    +
    585  !
    +
    586  ! Added Precipitation Table 4.201 (06/26/2019)
    +
    587  !
    + +
    589  character(len=80) :: typeofprecipkey
    +
    590  integer :: typeofprecipval
    +
    591  end type type_of_precip
    +
    592  !
    +
    594  type(type_of_precip),dimension(MAXTYPEOFPRECIP) :: table4_201
    +
    595 
    +
    596  data table4_201(1) /type_of_precip('reserved',0)/
    +
    597  data table4_201(2) /type_of_precip('rain',1)/
    +
    598  data table4_201(3) /type_of_precip('thunderstorm',2)/
    +
    599  data table4_201(4) /type_of_precip('freezing_rain',3)/
    +
    600  data table4_201(51) /type_of_precip('mixed_ice',4)/
    +
    601  data table4_201(61) /type_of_precip('snow',5)/
    +
    602  data table4_201(7) /type_of_precip('wet_snow',6)/
    +
    603  data table4_201(8) /type_of_precip('mixture_rain_snow',7)/
    +
    604  data table4_201(91) /type_of_precip('ice_pellets',8)/
    +
    605  data table4_201(10) /type_of_precip('graupel',9)/
    +
    606  data table4_201(11) /type_of_precip('hail',10)/
    +
    607  data table4_201(12) /type_of_precip('drizzle',11)/
    +
    608  data table4_201(12) /type_of_precip('freezing_drizzle',12)/
    +
    609  !
    +
    610  !
    + +
    612  character(len=80) :: typeofaerosolkey
    +
    613  integer :: typeofaerosolval
    +
    614  end type type_of_aerosol
    +
    615  !
    +
    617  type(type_of_aerosol),dimension(MAXTYPEOFAEROSOL) :: table4_233
    +
    618 
    +
    619  data table4_233(1) /type_of_aerosol('ozone',0)/
    +
    620  data table4_233(2) /type_of_aerosol('water_vapor',1)/
    +
    621  data table4_233(3) /type_of_aerosol('methane',2)/
    +
    622  data table4_233(4) /type_of_aerosol('carbon_dioxide',3)/
    +
    623  data table4_233(5) /type_of_aerosol('carbon_monoxide',4)/
    +
    624  data table4_233(6) /type_of_aerosol('nitrogen_dioxide',5)/
    +
    625  data table4_233(7) /type_of_aerosol('nitrous_oxide',6)/
    +
    626  data table4_233(8) /type_of_aerosol('formaldehyde',7)/
    +
    627  data table4_233(9) /type_of_aerosol('sulphur_dioxide',8)/
    +
    628  data table4_233(10) /type_of_aerosol('ammonia',9)/
    +
    629  data table4_233(11) /type_of_aerosol('ammonium',10)/
    +
    630  data table4_233(12) /type_of_aerosol('nitrogen_monoxide',11)/
    +
    631  data table4_233(13) /type_of_aerosol('atomic_oxygen',12)/
    +
    632  data table4_233(14) /type_of_aerosol('nitrate_radical',13)/
    +
    633  data table4_233(15) /type_of_aerosol('hydroperoxyl_radical',14)/
    +
    634  data table4_233(16) /type_of_aerosol('dinitrogen_pentoxide',15)/
    +
    635  data table4_233(17) /type_of_aerosol('nitrous_acid',16)/
    +
    636  data table4_233(18) /type_of_aerosol('nitric_acid',17)/
    +
    637  data table4_233(19) /type_of_aerosol('peroxynitric_acid',18)/
    +
    638  data table4_233(20) /type_of_aerosol('hydrogen_peroxide',19)/
    +
    639  data table4_233(21) /type_of_aerosol('molecular_hydrogen',20)/
    +
    640  data table4_233(22) /type_of_aerosol('atomic_nitrogen',21)/
    +
    641  data table4_233(23) /type_of_aerosol('sulphate',22)/
    +
    642  data table4_233(24) /type_of_aerosol('radon',23)/
    +
    643  data table4_233(25) /type_of_aerosol('elemental_mercury',24)/
    +
    644  data table4_233(26) /type_of_aerosol('divalent_mercury',25)/
    +
    645  data table4_233(27) /type_of_aerosol('atomic_chlorine',26)/
    +
    646  data table4_233(28) /type_of_aerosol('chlorine_monoxide',27)/
    +
    647  data table4_233(29) /type_of_aerosol('dichlorine_peroxide',28)/
    +
    648  data table4_233(30) /type_of_aerosol('hypochlorous_acid',29)/
    +
    649  data table4_233(31) /type_of_aerosol('chlorine_nitrate',30)/
    +
    650  data table4_233(32) /type_of_aerosol('chlorine_dioxide',31)/
    +
    651  data table4_233(33) /type_of_aerosol('atomic_bromide',32)/
    +
    652  data table4_233(34) /type_of_aerosol('bromine_monoxide',33)/
    +
    653  data table4_233(35) /type_of_aerosol('bromine_chloride',34)/
    +
    654  data table4_233(36) /type_of_aerosol('hydrogen_bromide',35)/
    +
    655  data table4_233(37) /type_of_aerosol('hypobromous_acid',36)/
    +
    656  data table4_233(38) /type_of_aerosol('bromine_nitrate',37)/
    +
    657  data table4_233(39) /type_of_aerosol('hydroxyl_radical',10000)/
    +
    658  data table4_233(40) /type_of_aerosol('methyl_peroxy_radical',10001)/
    +
    659  data table4_233(41) /type_of_aerosol('methyl_hydroperoxide',10002)/
    +
    660  data table4_233(42) /type_of_aerosol('methanol',10004)/
    +
    661  data table4_233(43) /type_of_aerosol('formic_acid',10005)/
    +
    662  data table4_233(44) /type_of_aerosol('hydrogen_cyanide',10006)/
    +
    663  data table4_233(45) /type_of_aerosol('aceto_nitrile',10007)/
    +
    664  data table4_233(46) /type_of_aerosol('ethane',10008)/
    +
    665  data table4_233(47) /type_of_aerosol('ethene',10009)/
    +
    666  data table4_233(48) /type_of_aerosol('ethyne',10010)/
    +
    667  data table4_233(49) /type_of_aerosol('ethanol',10011)/
    +
    668  data table4_233(50) /type_of_aerosol('acetic_acid',10012)/
    +
    669  data table4_233(51) /type_of_aerosol('peroxyacetyl_nitrate',10013)/
    +
    670  data table4_233(52) /type_of_aerosol('propane',10014)/
    +
    671  data table4_233(53) /type_of_aerosol('propene',10015)/
    +
    672  data table4_233(54) /type_of_aerosol('butanes',10016)/
    +
    673  data table4_233(55) /type_of_aerosol('isoprene',10017)/
    +
    674  data table4_233(56) /type_of_aerosol('alpha_pinene',10018)/
    +
    675  data table4_233(57) /type_of_aerosol('beta_pinene',10019)/
    +
    676  data table4_233(58) /type_of_aerosol('limonene',10020)/
    +
    677  data table4_233(59) /type_of_aerosol('benzene',10021)/
    +
    678  data table4_233(60) /type_of_aerosol('toluene',10022)/
    +
    679  data table4_233(61) /type_of_aerosol('xylene',10023)/
    +
    680  data table4_233(62) /type_of_aerosol('dumethyl_sulphide',10500)/
    +
    681  data table4_233(63) /type_of_aerosol('hydrogen_chloride',20001)/
    +
    682  data table4_233(64) /type_of_aerosol('cfc-11',20002)/
    +
    683  data table4_233(65) /type_of_aerosol('cfc-12',20003)/
    +
    684  data table4_233(66) /type_of_aerosol('cfc-113',20004)/
    +
    685  data table4_233(67) /type_of_aerosol('cfc-113a',20005)/
    +
    686  data table4_233(68) /type_of_aerosol('cfc-114',20006)/
    +
    687  data table4_233(69) /type_of_aerosol('cfc-115',20007)/
    +
    688  data table4_233(70) /type_of_aerosol('hcfc-22',20008)/
    +
    689  data table4_233(71) /type_of_aerosol('hcfc-141b',20009)/
    +
    690  data table4_233(72) /type_of_aerosol('hcfc-142b',20010)/
    +
    691  data table4_233(73) /type_of_aerosol('halon-1202',20011)/
    +
    692  data table4_233(74) /type_of_aerosol('halon-1211',20012)/
    +
    693  data table4_233(75) /type_of_aerosol('halon-1301',20013)/
    +
    694  data table4_233(76) /type_of_aerosol('halon-2402',20014)/
    +
    695  data table4_233(77) /type_of_aerosol('methyl_chloride',20015)/
    +
    696  data table4_233(78) /type_of_aerosol('carbon_tetrachloride',20016)/
    +
    697  data table4_233(79) /type_of_aerosol('hcc-140a',20017)/
    +
    698  data table4_233(80) /type_of_aerosol('methyl_bromide',20018)/
    +
    699  data table4_233(81) /type_of_aerosol('hexachlorocyclohexane',20019)/
    +
    700  data table4_233(82) /type_of_aerosol('alpha_hexachlorocyclohexane',20020)/
    +
    701  data table4_233(83) /type_of_aerosol('hexachlorobiphenyl',20021)/
    +
    702  data table4_233(84) /type_of_aerosol('radioactive_pollutant',30000)/
    +
    703  data table4_233(85) /type_of_aerosol('hox_radical',60000)/
    +
    704  data table4_233(86) /type_of_aerosol('total_inorganic_org_peroxy_radicals',60001)/
    +
    705  data table4_233(87) /type_of_aerosol('passive_ozone',60002)/
    +
    706  data table4_233(88) /type_of_aerosol('nox_nitrogen',60003)/
    +
    707  data table4_233(89) /type_of_aerosol('all_nitrogen_oxides',60004)/
    +
    708  data table4_233(90) /type_of_aerosol('total_inorganic_chlorine',60005)/
    +
    709  data table4_233(91) /type_of_aerosol('total_inorganic_bromine',60006)/
    +
    710  data table4_233(92) /type_of_aerosol('total_inorganic_chlorine_noHclClono2Clox',60007)/
    +
    711  data table4_233(93) /type_of_aerosol('total_inorganic_bromine_noHbrBrono2Brox',60008)/
    +
    712  data table4_233(94) /type_of_aerosol('lumped_alkanes',60009)/
    +
    713  data table4_233(95) /type_of_aerosol('lumped_alkenes',60010)/
    +
    714  data table4_233(96) /type_of_aerosol('lumped_aromatic_comp',60011)/
    +
    715  data table4_233(97) /type_of_aerosol('lumped_terpenes',60012)/
    +
    716  data table4_233(98) /type_of_aerosol('non_methane_volatile_org_comp_carbon)',60013)/
    +
    717  data table4_233(99) /type_of_aerosol('anthropogenic_non_methane_voiatile_org_comp_carbon',60014)/
    +
    718  data table4_233(100) /type_of_aerosol('biogenic_non_methane_volatile_org_comp_carbon',60015)/
    +
    719  data table4_233(101) /type_of_aerosol('lumped_oxygenated_hydrocarbon',60016)/
    +
    720  data table4_233(102) /type_of_aerosol('total_aerosol',62000)/
    +
    721  data table4_233(103) /type_of_aerosol('dust_dry',62001)/
    +
    722  data table4_233(104) /type_of_aerosol('water_in_ambient',62002)/
    +
    723  data table4_233(105) /type_of_aerosol('ammonium_dry',62003)/
    +
    724  data table4_233(106) /type_of_aerosol('nitrate_dry',62004)/
    +
    725  data table4_233(107) /type_of_aerosol('nitric_acid_trihydrate',62005)/
    +
    726  data table4_233(108) /type_of_aerosol('sulphate_dry',62006)/
    +
    727  data table4_233(109) /type_of_aerosol('mercury_dry',62007)/
    +
    728  data table4_233(110) /type_of_aerosol('sea_salt_dry',62008)/
    +
    729  data table4_233(111) /type_of_aerosol('black_carbon_dry',62009)/
    +
    730  data table4_233(112) /type_of_aerosol('particulate_org_matter_dry',62010)/
    +
    731  data table4_233(113) /type_of_aerosol('primary_particulate_org_matter_dry',62011)/
    +
    732  data table4_233(114) /type_of_aerosol('secondary_particulate_org_matter_dry',62012)/
    +
    733  data table4_233(115) /type_of_aerosol('missing',65535)/
    +
    734  data table4_233(116) /type_of_aerosol('black_carbon_hydrophilic',62013)/
    +
    735  data table4_233(117) /type_of_aerosol('black_carbon_hydrophobic',62014)/
    +
    736  data table4_233(118) /type_of_aerosol('particulate_org_matter_hydrophilic',62015)/
    +
    737  data table4_233(119) /type_of_aerosol('particulate_org_matter_hydrophobic',62016)/
    +
    738  data table4_233(120) /type_of_aerosol('nitrate_hydrophilic',62017)/
    +
    739  data table4_233(121) /type_of_aerosol('nitrate_hydrophobic',62018)/
    +
    740  data table4_233(122) /type_of_aerosol('smoke_hi_absorption',62020)/
    +
    741  data table4_233(123) /type_of_aerosol('smoke_lo_absorption',62021)/
    +
    742  data table4_233(124) /type_of_aerosol('aerosol_hi_absorption',62022)/
    +
    743  data table4_233(125) /type_of_aerosol('aerosol_lo_absorption',62023)/
    +
    744  data table4_233(126) /type_of_aerosol('volcanic_ash',62025)/
    +
    745  !
    +
    746  !
    + +
    748  character(len=50) :: typeoforigfieldvalskey
    +
    749  integer :: typeoforigfieldvals
    +
    750  end type type_of_orig_field_vals
    +
    751  !
    +
    753  type(type_of_orig_field_vals), dimension(MAXTYPEOFORIGFIELDVAL) :: table5_1
    +
    754  data table5_1(1) /type_of_orig_field_vals('fltng_pnt',0)/
    +
    755  data table5_1(2) /type_of_orig_field_vals('integer',1)/
    +
    756  data table5_1(3) /type_of_orig_field_vals('local1',192)/
    +
    757  data table5_1(4) /type_of_orig_field_vals('local2',193)/
    +
    758  data table5_1(5) /type_of_orig_field_vals('local3',194)/
    +
    759  data table5_1(6) /type_of_orig_field_vals('local4',195)/
    +
    760  data table5_1(7) /type_of_orig_field_vals('local5',196)/
    +
    761  data table5_1(8) /type_of_orig_field_vals('local6',197)/
    +
    762  data table5_1(9) /type_of_orig_field_vals('local7',198)/
    +
    763  data table5_1(10) /type_of_orig_field_vals('local8',199)/
    +
    764  data table5_1(11) /type_of_orig_field_vals('local9',200)/
    +
    765  data table5_1(12) /type_of_orig_field_vals('local10',201)/
    +
    766  data table5_1(13) /type_of_orig_field_vals('missing',255)/
    +
    767  !
    +
    768  !
    + +
    770  character(len=50) :: ordofsptdiffkey
    +
    771  integer :: ordofsptdiffvals
    +
    772  end type order_of_sptdiff_vals
    +
    773  !
    +
    775  type(order_of_sptdiff_vals), dimension(MAXORDOFSPTDIFF) :: table5_6
    +
    776  data table5_6(1) /order_of_sptdiff_vals('1st_ord_sptdiff',1)/
    +
    777  data table5_6(2) /order_of_sptdiff_vals('2nd_ord_sptdiff',2)/
    +
    778  data table5_6(3) /order_of_sptdiff_vals('missing',255)/
    +
    779  !
    +
    780  !
    + +
    782  character(len=50) :: typeofcompressionkey
    +
    783  integer :: typeofcompressionvals
    +
    784  end type type_of_compression
    +
    785  !
    +
    787  type(type_of_compression), dimension(MAXTYPEOFCOMPRESSION) :: table5_40
    +
    788  data table5_40(1) /type_of_compression('lossless',0)/
    +
    789  data table5_40(2) /type_of_compression('lossy',1)/
    +
    790  data table5_40(3) /type_of_compression('missing',255)/
    +
    791  !
    +
    792  !
    + +
    794  character(len=50) :: packingmethodkey
    +
    795  integer :: packingmethodvals
    +
    796  end type type_of_packingmethod
    +
    797  !
    +
    799  type(type_of_packingmethod), dimension(MAXTYPEOFPACKINGMETHOD) :: table5_0
    +
    800  data table5_0(1) /type_of_packingmethod('simple_packing',0)/
    +
    801  data table5_0(2) /type_of_packingmethod('maxtric_simple_packing',1)/
    +
    802  data table5_0(3) /type_of_packingmethod('complex_packing',2)/
    +
    803  data table5_0(4) /type_of_packingmethod('complex_packing_spatial_diff',3)/
    +
    804  data table5_0(5) /type_of_packingmethod('ieee_floating_point',4)/
    +
    805  data table5_0(6) /type_of_packingmethod('jpeg2000',40)/
    +
    806  data table5_0(7) /type_of_packingmethod('png',41)/
    +
    807  data table5_0(8) /type_of_packingmethod('spectral_simple_packing',50)/
    +
    808  data table5_0(9) /type_of_packingmethod('spectral_complex_packing',51)/
    +
    809  data table5_0(10) /type_of_packingmethod('simple_packing_log_preprcs',61)/
    +
    810  data table5_0(11) /type_of_packingmethod('run_length_packing_lvl_val',200)/
    +
    811  !
    +
    812  !
    + +
    814  character(len=50) :: origincenterskey
    +
    815  integer :: origincentersval
    +
    816  end type origin_centers
    +
    817  !
    +
    819  type(origin_centers),dimension(MAXORIGINCENTERS) :: on388_table0
    +
    820 
    +
    821  data on388_table0(1) /origin_centers('melbourne1',1)/
    +
    822  data on388_table0(2) /origin_centers('melbourne2',2)/
    +
    823  data on388_table0(3) /origin_centers('melbourne3',3)/
    +
    824  data on388_table0(4) /origin_centers('moscow1',4)/
    +
    825  data on388_table0(5) /origin_centers('moscow2',5)/
    +
    826  data on388_table0(6) /origin_centers('moscow3',6)/
    +
    827  data on388_table0(7) /origin_centers('nws_ncep',7)/
    +
    828  data on388_table0(8) /origin_centers('nws_nwstg',8)/
    +
    829  data on388_table0(9) /origin_centers('nws_other',9)/
    +
    830  data on388_table0(10) /origin_centers('cairo1',10)/
    +
    831  data on388_table0(11) /origin_centers('cairo2',11)/
    +
    832  data on388_table0(12) /origin_centers('dakar1',12)/
    +
    833  data on388_table0(13) /origin_centers('dakar2',13)/
    +
    834  data on388_table0(14) /origin_centers('nairobi1',14)/
    +
    835  data on388_table0(15) /origin_centers('nairobi2',15)/
    +
    836  data on388_table0(16) /origin_centers('casablanca',16)/
    +
    837  data on388_table0(17) /origin_centers('tunis',17)/
    +
    838  data on388_table0(18) /origin_centers('tunis_casablanca1',18)/
    +
    839  data on388_table0(19) /origin_centers('tunis-casablanca2',19)/
    +
    840  data on388_table0(20) /origin_centers('las_palmas',20)/
    +
    841  data on388_table0(21) /origin_centers('algiers',21)/
    +
    842  data on388_table0(22) /origin_centers('acmad',22)/
    +
    843  data on388_table0(23) /origin_centers('mozambique',23)/
    +
    844  data on388_table0(24) /origin_centers('pretoria',24)/
    +
    845  data on388_table0(25) /origin_centers('la_reunion',25)/
    +
    846  data on388_table0(26) /origin_centers('khabarovsk1',26)/
    +
    847  data on388_table0(27) /origin_centers('khabarovsk2',27)/
    +
    848  data on388_table0(28) /origin_centers('new_delhi1',28)/
    +
    849  data on388_table0(29) /origin_centers('new_delhi2',29)/
    +
    850  data on388_table0(30) /origin_centers('novosibirsk1',30)/
    +
    851  data on388_table0(31) /origin_centers('novosibirsk2',31)/
    +
    852  data on388_table0(32) /origin_centers('tashkent',32)/
    +
    853  data on388_table0(33) /origin_centers('jeddah',33)/
    +
    854  data on388_table0(34) /origin_centers('jma_tokyo1',34)/
    +
    855  data on388_table0(35) /origin_centers('jma_tokyo2',35)/
    +
    856  data on388_table0(36) /origin_centers('bankok',36)/
    +
    857  data on388_table0(37) /origin_centers('ulan_bator',37)/
    +
    858  data on388_table0(38) /origin_centers('beijing1',38)/
    +
    859  data on388_table0(39) /origin_centers('beijing2',39)/
    +
    860  data on388_table0(40) /origin_centers('seoul',40)/
    +
    861  data on388_table0(41) /origin_centers('buenos_aires1',41)/
    +
    862  data on388_table0(42) /origin_centers('buenos_aires2',42)/
    +
    863  data on388_table0(43) /origin_centers('brasilia1',43)/
    +
    864  data on388_table0(44) /origin_centers('brasilia2',44)/
    +
    865  data on388_table0(45) /origin_centers('santiago',45)/
    +
    866  data on388_table0(46) /origin_centers('brazilian_inpe',46)/
    +
    867  data on388_table0(47) /origin_centers('columbia',47)/
    +
    868  data on388_table0(48) /origin_centers('ecuador',48)/
    +
    869  data on388_table0(49) /origin_centers('peru',49)/
    +
    870  data on388_table0(50) /origin_centers('venezuela',50)/
    +
    871  data on388_table0(51) /origin_centers('miami',51)/
    +
    872  data on388_table0(52) /origin_centers('tpc_nhc',52)/
    +
    873  data on388_table0(53) /origin_centers('cms_montreal1',53)/
    +
    874  data on388_table0(54) /origin_centers('cms_montreal2',54)/
    +
    875  data on388_table0(55) /origin_centers('san_francisco',55)/
    +
    876  data on388_table0(56) /origin_centers('arinc_center',56)/
    +
    877  data on388_table0(57) /origin_centers('usaf_gwc',57)/
    +
    878  data on388_table0(58) /origin_centers('us_navy_fnoc',58)/
    +
    879  data on388_table0(59) /origin_centers('noaa_fsl_boulder',59)/
    +
    880  data on388_table0(60) /origin_centers('ncar_boulder',60)/
    +
    881  data on388_table0(61) /origin_centers('service_argos',61)/
    +
    882  data on388_table0(62) /origin_centers('us_naval_ocean_off',62)/
    +
    883  data on388_table0(63) /origin_centers('honolulu',64)/
    +
    884  data on388_table0(64) /origin_centers('darwin1',65)/
    +
    885  data on388_table0(65) /origin_centers('darwin2',66)/
    +
    886  data on388_table0(66) /origin_centers('melbourne4',67)/
    +
    887  data on388_table0(67) /origin_centers('wellington1',69)/
    +
    888  data on388_table0(68) /origin_centers('wellington2',70)/
    +
    889  data on388_table0(69) /origin_centers('nadi',71)/
    +
    890  data on388_table0(70) /origin_centers('singapore',72)/
    +
    891  data on388_table0(71) /origin_centers('malaysia',73)/
    +
    892  data on388_table0(72) /origin_centers('ukmo_exeter1',74)/
    +
    893  data on388_table0(73) /origin_centers('ukmo_exeter2',75)/
    +
    894  data on388_table0(74) /origin_centers('moscow4',76)/
    +
    895  data on388_table0(75) /origin_centers('offenbach1',78)/
    +
    896  data on388_table0(76) /origin_centers('offenbach2',79)/
    +
    897  data on388_table0(77) /origin_centers('rome1',80)/
    +
    898  data on388_table0(78) /origin_centers('rome2',81)/
    +
    899  data on388_table0(79) /origin_centers('norrkoping1',82)/
    +
    900  data on388_table0(80) /origin_centers('norrkoping2',83)/
    +
    901  data on388_table0(81) /origin_centers('french_weather_toulouse1',84)/
    +
    902  data on388_table0(82) /origin_centers('french_weather_toulouse2',85)/
    +
    903  data on388_table0(83) /origin_centers('helsinki',86)/
    +
    904  data on388_table0(84) /origin_centers('belgrade',87)/
    +
    905  data on388_table0(85) /origin_centers('oslo',88)/
    +
    906  data on388_table0(86) /origin_centers('prague',89)/
    +
    907  data on388_table0(87) /origin_centers('episkopi',90)/
    +
    908  data on388_table0(88) /origin_centers('ankara',91)/
    +
    909  data on388_table0(89) /origin_centers('frankfurt_main',92)/
    +
    910  data on388_table0(90) /origin_centers('london',93)/
    +
    911  data on388_table0(91) /origin_centers('copenhagen',94)/
    +
    912  data on388_table0(92) /origin_centers('rota',95)/
    +
    913  data on388_table0(93) /origin_centers('athens',96)/
    +
    914  data on388_table0(94) /origin_centers('esa',97)/
    +
    915  data on388_table0(95) /origin_centers('ecmwf',98)/
    +
    916  data on388_table0(96) /origin_centers('de_bilt_netherlands',99)/
    +
    917  data on388_table0(97) /origin_centers('brazzaville',100)/
    +
    918  data on388_table0(98) /origin_centers('abidjan',101)/
    +
    919  data on388_table0(99) /origin_centers('libyan_arab_jamahiriya',102)/
    +
    920  data on388_table0(100) /origin_centers('madagascar',103)/
    +
    921  data on388_table0(101) /origin_centers('mauritius',104)/
    +
    922  data on388_table0(102) /origin_centers('niger',105)/
    +
    923  data on388_table0(103) /origin_centers('seychelles',106)/
    +
    924  data on388_table0(104) /origin_centers('uganda',107)/
    +
    925  data on388_table0(105) /origin_centers('tanzania',108)/
    +
    926  data on388_table0(106) /origin_centers('zimbabwe',109)/
    +
    927  data on388_table0(107) /origin_centers('hong_kong',110)/
    +
    928  data on388_table0(108) /origin_centers('afghanistan',111)/
    +
    929  data on388_table0(109) /origin_centers('bahrain',112)/
    +
    930  data on388_table0(110) /origin_centers('bangladesh',113)/
    +
    931  data on388_table0(111) /origin_centers('bhutan',114)/
    +
    932  data on388_table0(112) /origin_centers('cambodia',115)/
    +
    933  data on388_table0(113) /origin_centers('dprk',116)/
    +
    934  data on388_table0(114) /origin_centers('iran',117)/
    +
    935  data on388_table0(115) /origin_centers('iraq',118)/
    +
    936  data on388_table0(116) /origin_centers('kazakhstan',119)/
    +
    937  data on388_table0(117) /origin_centers('kuwait',120)/
    +
    938  data on388_table0(118) /origin_centers('kyrgyz_republic',121)/
    +
    939  data on388_table0(119) /origin_centers('lao_pdr',122)/
    +
    940  data on388_table0(120) /origin_centers('macao_china',123)/
    +
    941  data on388_table0(121) /origin_centers('maldives',124)/
    +
    942  data on388_table0(122) /origin_centers('myanmar',125)/
    +
    943  data on388_table0(123) /origin_centers('nepal',126)/
    +
    944  data on388_table0(124) /origin_centers('oman',127)/
    +
    945  data on388_table0(125) /origin_centers('pakistan',128)/
    +
    946  data on388_table0(126) /origin_centers('qatar',129)/
    +
    947  data on388_table0(127) /origin_centers('yemen',130)/
    +
    948  data on388_table0(128) /origin_centers('sri_lanka',131)/
    +
    949  data on388_table0(129) /origin_centers('tajikistan',132)/
    +
    950  data on388_table0(130) /origin_centers('turkmenistan',133)/
    +
    951  data on388_table0(131) /origin_centers('uae',134)/
    +
    952  data on388_table0(132) /origin_centers('uzbekistan',135)/
    +
    953  data on388_table0(133) /origin_centers('viet_nam ',136)/
    +
    954  data on388_table0(134) /origin_centers('bolivia',140)/
    +
    955  data on388_table0(135) /origin_centers('guyana',141)/
    +
    956  data on388_table0(136) /origin_centers('paraguay',142)/
    +
    957  data on388_table0(137) /origin_centers('suriname',143)/
    +
    958  data on388_table0(138) /origin_centers('uruguay',144)/
    +
    959  data on388_table0(139) /origin_centers('french_guyana',145)/
    +
    960  data on388_table0(140) /origin_centers('brazilian_navy_hydro_center',146)/
    +
    961  data on388_table0(141) /origin_centers('antigua_barbuda',150)/
    +
    962  data on388_table0(142) /origin_centers('bahamas',151)/
    +
    963  data on388_table0(143) /origin_centers('barbados',152)/
    +
    964  data on388_table0(144) /origin_centers('belize',153)/
    +
    965  data on388_table0(145) /origin_centers('british_caribbean_terr_center',154)/
    +
    966  data on388_table0(146) /origin_centers('san_jose',155)/
    +
    967  data on388_table0(147) /origin_centers('cuba',156)/
    +
    968  data on388_table0(148) /origin_centers('dominica',157)/
    +
    969  data on388_table0(149) /origin_centers('dominican_republic',158)/
    +
    970  data on388_table0(150) /origin_centers('el_salvador',159)/
    +
    971  data on388_table0(151) /origin_centers('us_noaa_nesdis',160)/
    +
    972  data on388_table0(152) /origin_centers('us_noaa_oar',161)/
    +
    973  data on388_table0(153) /origin_centers('guatemala',162)/
    +
    974  data on388_table0(154) /origin_centers('haiti',163)/
    +
    975  data on388_table0(155) /origin_centers('honduras',164)/
    +
    976  data on388_table0(156) /origin_centers('jamaica',165)/
    +
    977  data on388_table0(157) /origin_centers('mexico',166)/
    +
    978  data on388_table0(158) /origin_centers('netherlands_antilles_aruba',167)/
    +
    979  data on388_table0(159) /origin_centers('nicaragua',168)/
    +
    980  data on388_table0(160) /origin_centers('panama',169)/
    +
    981  data on388_table0(161) /origin_centers('saint_lucia',170)/
    +
    982  data on388_table0(162) /origin_centers('trinidad_tobago',171)/
    +
    983  data on388_table0(163) /origin_centers('french_departments',172)/
    +
    984  data on388_table0(164) /origin_centers('cook_islands',190)/
    +
    985  data on388_table0(165) /origin_centers('french_polynesia',191)/
    +
    986  data on388_table0(166) /origin_centers('tonga',192)/
    +
    987  data on388_table0(167) /origin_centers('vanuatu',193)/
    +
    988  data on388_table0(168) /origin_centers('brunei',194)/
    +
    989  data on388_table0(169) /origin_centers('indonesia',195)/
    +
    990  data on388_table0(170) /origin_centers('kiribati',196)/
    +
    991  data on388_table0(171) /origin_centers('federated_states_micronesia',197)/
    +
    992  data on388_table0(172) /origin_centers('new_caledonia',198)/
    +
    993  data on388_table0(173) /origin_centers('niue',199)/
    +
    994  data on388_table0(174) /origin_centers('papua_new_guinea',200)/
    +
    995  data on388_table0(175) /origin_centers('philippines',201)/
    +
    996  data on388_table0(176) /origin_centers('samoa',202)/
    +
    997  data on388_table0(177) /origin_centers('solomon_islands',203)/
    +
    998  data on388_table0(178) /origin_centers('frascati',210)/
    +
    999  data on388_table0(179) /origin_centers('lanion',211)/
    +
    1000  data on388_table0(180) /origin_centers('lisboa',212)/
    +
    1001  data on388_table0(181) /origin_centers('reykjavik',213)/
    +
    1002  data on388_table0(182) /origin_centers('madrid',214)/
    +
    1003  data on388_table0(183) /origin_centers('zurich',215)/
    +
    1004  data on388_table0(184) /origin_centers('service_argos_toulouse_fr',216)/
    +
    1005  data on388_table0(185) /origin_centers('bratislava',217)/
    +
    1006  data on388_table0(186) /origin_centers('budapest',218)/
    +
    1007  data on388_table0(187) /origin_centers('ljubljana',219)/
    +
    1008  data on388_table0(188) /origin_centers('warsaw',220)/
    +
    1009  data on388_table0(189) /origin_centers('zagreb',221)/
    +
    1010  data on388_table0(190) /origin_centers('albania',222)/
    +
    1011  data on388_table0(191) /origin_centers('armenia',223)/
    +
    1012  data on388_table0(192) /origin_centers('austria',224)/
    +
    1013  data on388_table0(193) /origin_centers('azerbaijan',225)/
    +
    1014  data on388_table0(194) /origin_centers('belarus',226)/
    +
    1015  data on388_table0(195) /origin_centers('belgium',227)/
    +
    1016  data on388_table0(196) /origin_centers('bosnia_herzegovina',228)/
    +
    1017  data on388_table0(197) /origin_centers('bulgaria',229)/
    +
    1018  data on388_table0(198) /origin_centers('cyprus',230)/
    +
    1019  data on388_table0(199) /origin_centers('estonia',231)/
    +
    1020  data on388_table0(200) /origin_centers('georgia',232)/
    +
    1021  data on388_table0(201) /origin_centers('dublin',233)/
    +
    1022  data on388_table0(202) /origin_centers('israel',234)/
    +
    1023  data on388_table0(203) /origin_centers('jordan',235)/
    +
    1024  data on388_table0(204) /origin_centers('latvia',236)/
    +
    1025  data on388_table0(205) /origin_centers('lebanon',237)/
    +
    1026  data on388_table0(206) /origin_centers('lithuania',238)/
    +
    1027  data on388_table0(207) /origin_centers('luxembourg',239)/
    +
    1028  data on388_table0(208) /origin_centers('malta',240)/
    +
    1029  data on388_table0(209) /origin_centers('monaco',241)/
    +
    1030  data on388_table0(210) /origin_centers('romania',242)/
    +
    1031  data on388_table0(211) /origin_centers('syrian_arab_republic',243)/
    +
    1032  data on388_table0(212) /origin_centers('macedonia',244)/
    +
    1033  data on388_table0(213) /origin_centers('ukraine',245)/
    +
    1034  data on388_table0(214) /origin_centers('republic_moldova',246)/
    +
    1035  data on388_table0(215) /origin_centers('eumetsat_op_cen',254)/
    +
    1036  data on388_table0(216) /origin_centers('missing',255)/
    +
    1037  !
    +
    1038  ! Added original center (06/26/2019)
    +
    1039  !
    +
    1040  data on388_table0(217) /origin_centers('ncsa_argentina',147)/
    +
    1041  data on388_table0(218) /origin_centers('brazilian_decea',148)/
    +
    1042  !
    +
    1043  !
    + +
    1045  character(len=30) :: genprockey
    +
    1046  integer :: genprocval
    +
    1047  end type gen_proc
    +
    1048  !
    +
    1050  type(gen_proc),dimension(MAXGENPROC) :: on388_tablea
    +
    1051 
    +
    1052  data on388_tablea(1) /gen_proc('res',0)/
    +
    1053  data on388_tablea(2) /gen_proc('uvim',2)/
    +
    1054  data on388_tablea(3) /gen_proc('ncep_arl_tdm',3)/
    +
    1055  data on388_tablea(4) /gen_proc('ncep_arl_smoke',4)/
    +
    1056  data on388_tablea(5) /gen_proc('sat_der_prec_temp',5)/
    +
    1057  data on388_tablea(6) /gen_proc('gwind_wave_mod',10)/
    +
    1058  data on388_tablea(7) /gen_proc('multi_grid_wave_mod',11)/
    +
    1059  data on388_tablea(8) /gen_proc('prob_st_surg',12)/
    +
    1060  data on388_tablea(9) /gen_proc('lfm_anal',19)/
    +
    1061  data on388_tablea(10) /gen_proc('snow_cov_anal',25)/
    +
    1062  data on388_tablea(11) /gen_proc('for_gen_field',30)/
    +
    1063  data on388_tablea(12) /gen_proc('val_add_post_proc_field',31)/
    +
    1064  data on388_tablea(13) /gen_proc('ngm',39)/
    +
    1065  data on388_tablea(14) /gen_proc('goi_gfs',42)/
    +
    1066  data on388_tablea(15) /gen_proc('goi_fnl',43)/
    +
    1067  data on388_tablea(16) /gen_proc('ssta',44)/
    +
    1068  data on388_tablea(17) /gen_proc('coast_ocm',45)/
    +
    1069  data on388_tablea(18) /gen_proc('hycom_glob',46)/
    +
    1070  data on388_tablea(19) /gen_proc('hycom_npb',47)/
    +
    1071  data on388_tablea(20) /gen_proc('hycom_nab',48)/
    +
    1072  data on388_tablea(21) /gen_proc('ozone_anal_tiros',49)/
    +
    1073  data on388_tablea(22) /gen_proc('ozone_anal_nimbus',52)/
    +
    1074  data on388_tablea(23) /gen_proc('lfm_fofm',53)/
    +
    1075  data on388_tablea(24) /gen_proc('roi',64)/
    +
    1076  data on388_tablea(25) /gen_proc('t80l18gfs',68)/
    +
    1077  data on388_tablea(26) /gen_proc('t80l18mrf',69)/
    +
    1078  data on388_tablea(27) /gen_proc('qlm',70)/
    +
    1079  data on388_tablea(28) /gen_proc('fogfm_opc',73)/
    +
    1080  data on388_tablea(29) /gen_proc('gulf_of_mex_wind_wave',74)/
    +
    1081  data on388_tablea(30) /gen_proc('gulf_of_alas_wind_wave',75)/
    +
    1082  data on388_tablea(31) /gen_proc('bias_corr_mrf',76)/
    +
    1083  data on388_tablea(32) /gen_proc('t126l28gfs',77)/
    +
    1084  data on388_tablea(33) /gen_proc('t126l28mrf',78)/
    +
    1085  data on388_tablea(34) /gen_proc('backup_from_prev_run',79)/
    +
    1086  data on388_tablea(35) /gen_proc('t62l28mrf',80)/
    +
    1087  data on388_tablea(36) /gen_proc('anal_gfs',81)/
    +
    1088  data on388_tablea(37) /gen_proc('anal_gdas',82)/
    +
    1089  data on388_tablea(38) /gen_proc('meso_nam12km',84)/
    +
    1090  data on388_tablea(39) /gen_proc('early_hur_wind_speed_prob',86)/
    +
    1091  data on388_tablea(40) /gen_proc('cac_ensem_fcsts_spect',87)/
    +
    1092  data on388_tablea(41) /gen_proc('nww3_owm',88)/
    +
    1093  data on388_tablea(42) /gen_proc('nmm_8km',89)/
    +
    1094  data on388_tablea(43) /gen_proc('t62l28extmrf',90)/
    +
    1095  data on388_tablea(44) /gen_proc('t62l28extgfs',91)/
    +
    1096  data on388_tablea(45) /gen_proc('t62l28mrffnl',92)/
    +
    1097  data on388_tablea(46) /gen_proc('t62l28gdasmrf',93)/
    +
    1098  data on388_tablea(47) /gen_proc('t170l42mrf',94)/
    +
    1099  data on388_tablea(48) /gen_proc('t126l42mrf',95)/
    +
    1100  data on388_tablea(49) /gen_proc('gfs_avn',96)/
    +
    1101  data on388_tablea(50) /gen_proc('cfs_t62l64_l40mom3',98)/
    +
    1102  data on388_tablea(51) /gen_proc('misc_test_id',99)/
    +
    1103  data on388_tablea(52) /gen_proc('ruc_sanal_60km_40n',100)/
    +
    1104  data on388_tablea(53) /gen_proc('core',101)/
    +
    1105  data on388_tablea(54) /gen_proc('rap',105)/
    +
    1106  data on388_tablea(55) /gen_proc('gefs',107)/
    +
    1107  data on388_tablea(56) /gen_proc('lamp',108)/
    +
    1108  data on388_tablea(57) /gen_proc('rtma',109)/
    +
    1109  data on388_tablea(58) /gen_proc('nam_15k',110)/
    +
    1110  data on388_tablea(59) /gen_proc('nam_gen_sref',111)/
    +
    1111  data on388_tablea(60) /gen_proc('wrf_nmm_ncep',112)/
    +
    1112  data on388_tablea(61) /gen_proc('prod_ncep_sref',113)/
    +
    1113  data on388_tablea(62) /gen_proc('naefs_prod_ncep_cmc',114)/
    +
    1114  data on388_tablea(63) /gen_proc('down_scal_gfs_nam_ext',115)/
    +
    1115  data on388_tablea(64) /gen_proc('wrf_em_ncar_arwrf',116)/
    +
    1116  data on388_tablea(65) /gen_proc('ice_conc_anal',120)/
    +
    1117  data on388_tablea(66) /gen_proc('wna_reg_wav_mod',121)/
    +
    1118  data on388_tablea(67) /gen_proc('alas_wat_reg_wav_mod',122)/
    +
    1119  data on388_tablea(68) /gen_proc('na_hurr_wav_mod',123)/
    +
    1120  data on388_tablea(69) /gen_proc('enp_reg_wav_mod',124)/
    +
    1121  data on388_tablea(70) /gen_proc('np_hurr_wav_mod',125)/
    +
    1122  data on388_tablea(71) /gen_proc('sea_ice_fcst_mod',126)/
    +
    1123  data on388_tablea(72) /gen_proc('lake_ice_fcst_mod',127)/
    +
    1124  data on388_tablea(73) /gen_proc('glob_oce_fcst_mod',128)/
    +
    1125  data on388_tablea(74) /gen_proc('godas',129)/
    +
    1126  data on388_tablea(75) /gen_proc('merge_fields_ruc_nam_gfs',130)/
    +
    1127  data on388_tablea(76) /gen_proc('great_lakes_wave_mod',131)/
    +
    1128  data on388_tablea(77) /gen_proc('narr',140)/
    +
    1129  data on388_tablea(78) /gen_proc('ldafs',141)/
    +
    1130  data on388_tablea(79) /gen_proc('nwsrfs',150)/
    +
    1131  data on388_tablea(80) /gen_proc('nwsffgs',151)/
    +
    1132  data on388_tablea(81) /gen_proc('wsr_88d_s2_prec_anal',152)/
    +
    1133  data on388_tablea(82) /gen_proc('wsr_88d_s3_prec_anal',153)/
    +
    1134  data on388_tablea(83) /gen_proc('qpf_ncep',180)/
    +
    1135  data on388_tablea(84) /gen_proc('rfcqpf_ncep',181)/
    +
    1136  data on388_tablea(85) /gen_proc('rfcqpe_ncep',182)/
    +
    1137  data on388_tablea(86) /gen_proc('ndfd_ncep_hpc',183)/
    +
    1138  data on388_tablea(87) /gen_proc('ncwd_ncep_awc',190)/
    +
    1139  data on388_tablea(88) /gen_proc('cipap_ncep_awc',191)/
    +
    1140  data on388_tablea(89) /gen_proc('anal_ncep_awc',192)/
    +
    1141  data on388_tablea(90) /gen_proc('fcst_ncep_awc',193)/
    +
    1142  data on388_tablea(91) /gen_proc('cdas2',195)/
    +
    1143  data on388_tablea(92) /gen_proc('cdas2_regen',196)/
    +
    1144  data on388_tablea(93) /gen_proc('cdas',197)/
    +
    1145  data on388_tablea(94) /gen_proc('cdas_regen',198)/
    +
    1146  data on388_tablea(95) /gen_proc('cfsr_t382l64_l40mom4',199)/
    +
    1147  data on388_tablea(96) /gen_proc('cpc_man_fcst',200)/
    +
    1148  data on388_tablea(97) /gen_proc('cpc_auto_prod',201)/
    +
    1149  data on388_tablea(98) /gen_proc('epa_usne',210)/
    +
    1150  data on388_tablea(99) /gen_proc('epa_use',211)/
    +
    1151  data on388_tablea(100) /gen_proc('spc_man_fcst',215)/
    +
    1152  data on388_tablea(101) /gen_proc('ncep_opc_auto_prod',220)/
    +
    1153  data on388_tablea(102) /gen_proc('missing',255)/
    +
    1154  data on388_tablea(103) /gen_proc('ngac',117)/
    +
    1155  data on388_tablea(104) /gen_proc('hrrr',83)/
    +
    1156  data on388_tablea(105) /gen_proc('ncep_arl_dust',6)/
    +
    1157  data on388_tablea(106) /gen_proc('hrricane_mult_wave',13)/
    +
    1158  data on388_tablea(107) /gen_proc('extratropical_storm_surge',14)/
    +
    1159  data on388_tablea(108) /gen_proc('nearshore_wave_prediction',15)/
    +
    1160  data on388_tablea(109) /gen_proc('href',132)/
    +
    1161  data on388_tablea(110) /gen_proc('great_lakes_short_range_mod',133)/
    +
    1162  !
    +
    1163  ! Added new entries in tablea (06/27/2019)
    +
    1164  !
    +
    1165  data on388_tablea(111) /gen_proc('extra_trop_storm_surge',16)/
    +
    1166  data on388_tablea(112) /gen_proc('extra_trop_storm_surge_pacific',17)/
    +
    1167  data on388_tablea(113) /gen_proc('prob_extra_trop_storm_surge',18)/
    +
    1168  data on388_tablea(114) /gen_proc('linmit_fine_mesh_anal',19)/
    +
    1169  data on388_tablea(115) /gen_proc('extra_trop_storm_surge_micronesia',20)/
    +
    1170  data on388_tablea(116) /gen_proc('hur_weather_res_and_fcst',71)/
    +
    1171  data on388_tablea(117) /gen_proc('hur_non-hydro_multi',72)/
    +
    1172  !
    +
    1173  ! Added new entries in tablea (03/11/2021)
    +
    1174  !
    +
    1175  data on388_tablea(118) /gen_proc('rrfs',134)/
    +
    1176 
    +
    1177 contains
    +
    1178  !
    +
    1189  subroutine get_g2_subcenters(key,value,ierr)
    +
    1190  character(len=*) :: key
    +
    1191  integer :: value,n,ierr
    +
    1192  !
    +
    1193  do n=1,maxsubcen
    +
    1194  if (trim(tablec(n)%subcenkey).eq.trim(key)) then
    +
    1195  value=tablec(n)%subcenval
    +
    1196  return
    +
    1197  endif
    +
    1198  enddo
    +
    1199  print *,'get_g2_subcenters key: ', key, &
    +
    1200  ' not found in ON-388 table C'
    +
    1201  ierr=9
    +
    1202  return
    +
    1203  end subroutine get_g2_subcenters
    +
    1213  subroutine get_g2_versionno(key,value,ierr)
    +
    1214  character(len=*) :: key
    +
    1215  integer :: value,n,ierr
    +
    1216  !
    +
    1217  do n=1,maxver
    +
    1218  if (trim(table1_0(n)%verskey).eq.trim(key)) then
    +
    1219  value=table1_0(n)%versval
    +
    1220  return
    +
    1221  endif
    +
    1222  enddo
    +
    1223  print *,'get_g2_versionno key: ', key, &
    +
    1224  ' not found in table 1.0'
    +
    1225  ierr=9
    +
    1226  return
    +
    1227  end subroutine get_g2_versionno
    +
    1237  subroutine get_g2_loctabversno(key,value,ierr)
    +
    1238  character(len=*) :: key
    +
    1239  integer :: value,n,ierr
    +
    1240  !
    +
    1241  do n=1,maxlocver
    +
    1242  if (trim(table1_1(n)%locverskey).eq.trim(key)) then
    +
    1243  value=table1_1(n)%locversval
    +
    1244  return
    +
    1245  endif
    +
    1246  enddo
    +
    1247  print *,'get_g2_loctabversno key: ', key, &
    +
    1248  ' not found in table 1.1'
    +
    1249  ierr=9
    +
    1250  return
    +
    1251  end subroutine get_g2_loctabversno
    +
    1255 
    +
    1261  subroutine get_g2_sigreftime(key,value,ierr)
    +
    1262  ! integer, parameter :: MAXREFTIME=15
    +
    1263  character(len=*) :: key
    +
    1264  integer :: value,n,ierr
    +
    1265  !
    +
    1266  do n=1,maxreftime
    +
    1267  if (trim(table1_2(n)%sigrefkey).eq.trim(key)) then
    +
    1268  value=table1_2(n)%sigrefval
    +
    1269  return
    +
    1270  endif
    +
    1271  enddo
    +
    1272  print *,'get_g2_sigreftime key: ', key, &
    +
    1273  ' not found in table 1.2'
    +
    1274  ierr=9
    +
    1275  return
    +
    1276  end subroutine get_g2_sigreftime
    +
    1286  subroutine get_g2_prodstatus(key,value,ierr)
    +
    1287  character(len=*) :: key
    +
    1288  integer :: value,n,ierr
    +
    1289  !
    +
    1290  do n=1,maxprodstatus
    +
    1291  if (trim(table1_3(n)%prodstatuskey).eq.trim(key)) then
    +
    1292  value=table1_3(n)%prodstatusval
    +
    1293  return
    +
    1294  endif
    +
    1295  enddo
    +
    1296  print *,'get_g2_prodstatus key: ', key, &
    +
    1297  ' not found in table 1.3'
    +
    1298  ierr=9
    +
    1299  return
    +
    1300  end subroutine get_g2_prodstatus
    +
    1310  subroutine get_g2_typeofdata(key,value,ierr)
    +
    1311  character(len=*) :: key
    +
    1312  integer :: value,n,ierr
    +
    1313  !
    +
    1314  do n=1,maxtypeofdata
    +
    1315  if (trim(table1_4(n)%typeofdatakey).eq.trim(key)) then
    +
    1316  value=table1_4(n)%typeofdataval
    +
    1317  return
    +
    1318  endif
    +
    1319  enddo
    +
    1320  print *,'get_g2_typeofdata key: ', key, &
    +
    1321  ' not found in table 1.4'
    +
    1322  ierr=9
    +
    1323  return
    +
    1324  end subroutine get_g2_typeofdata
    +
    1334  subroutine get_g2_typeofgenproc(key,value,ierr)
    +
    1335  character(len=*) :: key
    +
    1336  integer :: value,n,ierr
    +
    1337  !
    +
    1338  do n=1,maxtypeofgenproc
    +
    1339  if (trim(table4_3(n)%typeofgenprockey).eq.trim(key)) then
    +
    1340  value=table4_3(n)%typeofgenprocval
    +
    1341  return
    +
    1342  endif
    +
    1343  enddo
    +
    1344  print *,'get_g2_typeofgenproc key}: ', key, &
    +
    1345  ' not found in table 4.3'
    +
    1346  ierr=9
    +
    1347  return
    +
    1348  end subroutine get_g2_typeofgenproc
    +
    1358  subroutine get_g2_unitoftimerange(key,value,ierr)
    +
    1359  character(len=*) :: key
    +
    1360  integer :: value,n,ierr
    +
    1361  !
    +
    1362  do n=1,maxunitoftimerange
    +
    1363  if (trim(table4_4(n)%unitoftimerangekey).eq.trim(key)) then
    +
    1364  value=table4_4(n)%unitoftimerangeval
    +
    1365  return
    +
    1366  endif
    +
    1367  enddo
    +
    1368 
    +
    1369  value=255
    +
    1370  print *,'get_g2_unitoftimerange key: ', key, &
    +
    1371  ' not found in table 4.4'
    +
    1372  ierr=9
    +
    1373  return
    +
    1374  end subroutine get_g2_unitoftimerange
    +
    1384  subroutine get_g2_fixedsurfacetypes(key,value,ierr)
    +
    1385  character(len=*) :: key
    +
    1386  integer :: value,n,ierr
    +
    1387  !
    +
    1388  do n=1,maxfixedsurfacetypes
    +
    1389  if (trim(table4_5(n)%fixedsurfacetypeskey).eq.trim(key)) then
    +
    1390  value=table4_5(n)%fixedsurfacetypesval
    +
    1391  return
    +
    1392  endif
    +
    1393  enddo
    +
    1394 
    +
    1395  value=table4_5(66)%fixedsurfacetypesval
    +
    1396  ! print *,'get_g2_fixedsurfacetypes key: ', trim(key), value, &
    +
    1397  ! ' not found in table 4.5'
    +
    1398  ! ierr=9
    +
    1399  return
    +
    1400  end subroutine get_g2_fixedsurfacetypes
    +
    1413  subroutine get_g2_statprocesstypes(key,value,ierr)
    +
    1414  character(len=*),intent(in) :: key
    +
    1415  ! integer,intent(out) :: value,ierr
    +
    1416  integer :: value,ierr
    +
    1417  integer :: n
    +
    1418  !
    +
    1419  do n=1,maxstatprocesstypes
    +
    1420  if (trim(table4_10(n)%statprocesstypeskey).eq.key) then
    +
    1421  value=table4_10(n)%statprocesstypesval
    +
    1422  return
    +
    1423  endif
    +
    1424  enddo
    +
    1425  print *,'get_g2_statprocesstypes key: ', key, &
    +
    1426  ' not found in table 4.10'
    +
    1427  ierr=9
    +
    1428  return
    +
    1429  end subroutine get_g2_statprocesstypes
    +
    1441  subroutine get_g2_typeoftimeintervals(key,value,ierr)
    +
    1442  character(len=*) :: key
    +
    1443  integer :: value,n,ierr
    +
    1444  !
    +
    1445  do n=1,maxtypeoftimeintvls
    +
    1446  if (trim(table4_11(n)%typeoftimeintervalskey).eq.key) then
    +
    1447  value=table4_11(n)%typeoftimeintervalsval
    +
    1448  return
    +
    1449  endif
    +
    1450  enddo
    +
    1451  print *,'get_g2_typeoftimeintervals key: ', key, &
    +
    1452  ' not found in table 4.11'
    +
    1453  ierr=9
    +
    1454  return
    +
    1455  end subroutine get_g2_typeoftimeintervals
    +
    1466  subroutine get_g2_typeofintervals(key,value,ierr)
    +
    1467  character(len=*) :: key
    +
    1468  integer :: value,n,ierr
    +
    1469  !
    +
    1470  do n=1,maxtypeofintvls
    +
    1471  if (trim(table4_91(n)%typeofintervalskey).eq.trim(key)) then
    +
    1472  value=table4_91(n)%typeofintervalsval
    +
    1473  return
    +
    1474  endif
    +
    1475  enddo
    +
    1476 
    +
    1477  if(trim(key).eq.'') then
    +
    1478  value=255
    +
    1479  return
    +
    1480  endif
    +
    1481  print *,'get_g2_typeofintervals key: ', key, &
    +
    1482  ' not found in table 4.91'
    +
    1483  ierr=9
    +
    1484  return
    +
    1485  end subroutine get_g2_typeofintervals
    +
    1497  subroutine get_g2_typeofaerosol(key,value,ierr)
    +
    1498  character(len=*) :: key
    +
    1499  integer :: value,n,ierr
    +
    1500  !
    +
    1501  do n=1,maxtypeofaerosol
    +
    1502  if (trim(table4_233(n)%typeofaerosolkey).eq.trim(key)) then
    +
    1503  value=table4_233(n)%typeofaerosolval
    +
    1504  return
    +
    1505  endif
    +
    1506  enddo
    +
    1507 
    +
    1508  if (trim(key).eq.'') then
    +
    1509  value=65535
    +
    1510  return
    +
    1511  endif
    +
    1512  print *,'get_g2_typeofaerosol key: ', key, &
    +
    1513  ' not found in table 4.233'
    +
    1514  ierr=9
    +
    1515  return
    +
    1516  end subroutine get_g2_typeofaerosol
    +
    1527  subroutine get_g2_on388origincenters(key,value,ierr)
    +
    1528  character(len=*) :: key
    +
    1529  integer :: value,n,ierr
    +
    1530  !
    +
    1531  do n=1,maxorigincenters
    +
    1532  if (trim(on388_table0(n)%origincenterskey).eq.trim(key)) then
    +
    1533  value=on388_table0(n)%origincentersval
    +
    1534  return
    +
    1535  endif
    +
    1536  enddo
    +
    1537  print *,'get_g2_on388origincenters key: ', key, &
    +
    1538  ' not found in ON-388 - table 0'
    +
    1539  ierr=9
    +
    1540  return
    +
    1541  end subroutine get_g2_on388origincenters
    +
    1552  subroutine get_g2_on388genproc(key,value,ierr)
    +
    1553  character(len=*) :: key
    +
    1554  integer :: value,n,ierr
    +
    1555  !
    +
    1556  do n=1,maxgenproc
    +
    1557  if (trim(on388_tablea(n)%genprockey).eq.trim(key)) then
    +
    1558  value=on388_tablea(n)%genprocval
    +
    1559  return
    +
    1560  endif
    +
    1561  enddo
    +
    1562  print *,'get_g2_on388genproc key: ', key, &
    +
    1563  ' not found in ON-388 - table A'
    +
    1564  ierr=9
    +
    1565  return
    +
    1566  end subroutine get_g2_on388genproc
    +
    1576  subroutine get_g2_typeoforigfieldvals(key,value,ierr)
    +
    1577  character(len=*) :: key
    +
    1578  integer :: value,n,ierr
    +
    1579  !
    +
    1580  do n=1,maxtypeoforigfieldval
    +
    1581  if (trim(table5_1(n)%typeoforigfieldvalskey).eq.trim(key)) then
    +
    1582  value=table5_1(n)%typeoforigfieldvals
    +
    1583  return
    +
    1584  endif
    +
    1585  enddo
    +
    1586 
    +
    1587  print *,'get_g2_typeoforigfieldvals key: ', key, &
    +
    1588  ' not found in table 5.1'
    +
    1589  ierr=9
    +
    1590  return
    +
    1591  end subroutine get_g2_typeoforigfieldvals
    +
    1602  subroutine get_g2_ordofspcdiffvals(key,value,ierr)
    +
    1603  character(len=*) :: key
    +
    1604  integer :: value,n,ierr
    +
    1605  !
    +
    1606  do n=1,maxordofsptdiff
    +
    1607  if (trim(table5_6(n)%ordofsptdiffkey).eq.trim(key)) then
    +
    1608  value=table5_6(n)%ordofsptdiffvals
    +
    1609  return
    +
    1610  endif
    +
    1611  enddo
    +
    1612  print *,'get_g2_ordofsptdiffvals key: ', key, &
    +
    1613  ' not found in table 5.6'
    +
    1614  ierr=9
    +
    1615  value=1
    +
    1616  return
    +
    1617  end subroutine get_g2_ordofspcdiffvals
    +
    1627  subroutine get_g2_typeofcompression(key,value,ierr)
    +
    1628  character(len=*) :: key
    +
    1629  integer :: value,n,ierr
    +
    1630  !
    +
    1631  do n=1,maxtypeofcompression
    +
    1632  if (trim(table5_40(n)%typeofcompressionkey).eq.trim(key)) then
    +
    1633  value=table5_40(n)%typeofcompressionvals
    +
    1634  return
    +
    1635  endif
    +
    1636  enddo
    +
    1637  print *,'get_g2_typeofcompression key: ', key, &
    +
    1638  ' not found in table 5.40'
    +
    1639  ierr=9
    +
    1640  return
    +
    1641  end subroutine get_g2_typeofcompression
    +
    1655  subroutine get_g2_sec5packingmethod(key,value,ierr)
    +
    1656  character(len=*) :: key
    +
    1657  integer :: value,n,ierr
    +
    1658  !
    +
    1659  do n=1,maxtypeofpackingmethod
    +
    1660  if (trim(table5_0(n)%packingmethodkey).eq.trim(key)) then
    +
    1661  value=table5_0(n)%packingmethodvals
    +
    1662  return
    +
    1663  endif
    +
    1664  enddo
    +
    1665  print *,'get_g2_sec5packingmethod key: ', key, &
    +
    1666  ' not found in table 5.0'
    +
    1667  ierr=9
    +
    1668  return
    +
    1669  end subroutine get_g2_sec5packingmethod
    +
    1680  subroutine g2sec0(idisc,listsec0)
    +
    1681  integer :: idisc
    +
    1682  integer :: listsec0(2)
    +
    1683  !
    +
    1684  listsec0(1) = idisc
    +
    1685  listsec0(2) = 2 ! Edition number - 2 for GRIB2
    +
    1686  end subroutine g2sec0
    +
    1706  subroutine g2sec1(origin_key,subcen_key,vers_key,lvers_key,sigreftime_key,refyear_val, &
    +
    1707  refmon_val,refday_val,refhour_val,refmin_val,refsec_val,prodstatus_key, &
    +
    1708  typeofdata_key,listsec1)
    +
    1709  ! integer,intent(inout) :: listsec1(13)
    +
    1710  integer :: listsec1(13)
    +
    1711  integer :: refyear_val,refmon_val,refday_val,refhour_val,refmin_val,refsec_val
    +
    1712  character(len=*) :: origin_key,subcen_key,vers_key,lvers_key, &
    +
    1713  sigreftime_key,prodstatus_key,typeofdata_key
    +
    1714  !
    +
    1715  integer(4) :: value,ierr
    +
    1716  !
    +
    1717  call get_g2_on388origincenters(origin_key,value,ierr)
    +
    1718  listsec1(1) = value
    +
    1719  !
    +
    1720  call get_g2_subcenters(subcen_key,value,ierr)
    +
    1721  listsec1(2) = value
    +
    1722  !
    +
    1723  call get_g2_versionno(vers_key,value,ierr)
    +
    1724  listsec1(3) = value
    +
    1725  !
    +
    1726  call get_g2_loctabversno(lvers_key,value,ierr)
    +
    1727  listsec1(4) = value
    +
    1728  !
    +
    1729  call get_g2_sigreftime(sigreftime_key,value,ierr)
    +
    1730  listsec1(5) = value
    +
    1731  !
    +
    1732  ! Set the time yyyy,mm,dd,hh,min,sec
    +
    1733  !
    +
    1734  listsec1(6) = refyear_val
    +
    1735  listsec1(7) = refmon_val
    +
    1736  listsec1(8) = refday_val
    +
    1737  listsec1(9) = refhour_val
    +
    1738  listsec1(10) = refmin_val
    +
    1739  listsec1(11) = refsec_val
    +
    1740  !
    +
    1741  call get_g2_prodstatus(prodstatus_key,value,ierr)
    +
    1742  listsec1(12) = value
    +
    1743  !
    +
    1744  call get_g2_typeofdata(typeofdata_key,value,ierr)
    +
    1745  listsec1(13) = value
    +
    1746  !
    +
    1747  end subroutine g2sec1
    +
    1770  subroutine g2sec4_temp0(icatg,iparm,typ_gen_proc_key, &
    +
    1771  gen_proc_or_mod_key,hrs_obs_cutoff,min_obs_cutoff, &
    +
    1772  unit_of_time_key,fcst_time,lvl_type1,scale_fac1, &
    +
    1773  scaled_val1,lvl_type2,scale_fac2,scaled_val2, &
    +
    1774  ipdstmpl0)
    +
    1775  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff, &
    +
    1776  fcst_time,scale_fac1,scaled_val1,scale_fac2,scaled_val2
    +
    1777  ! integer(4),intent(inout) :: bckgnd_gen_proc_id ! defined by the center
    +
    1778  !
    +
    1779  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
    +
    1780  unit_of_time_key,lvl_type1,lvl_type2
    +
    1781  !
    +
    1782  integer(4),intent(inout) :: ipdstmpl0(15)
    +
    1783  !
    +
    1784  !local vars
    +
    1785  integer(4) :: value,ierr
    +
    1786  integer(4) :: bckgnd_gen_proc_id ! defined by the center
    +
    1787  !
    +
    1788  bckgnd_gen_proc_id=0 ! defined by the center
    +
    1789  !
    +
    1790  ipdstmpl0(1) = icatg
    +
    1791  ipdstmpl0(2) = iparm
    +
    1792  !
    +
    1793  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
    +
    1794  ipdstmpl0(3) = value
    +
    1795  !
    +
    1796  ipdstmpl0(4) = bckgnd_gen_proc_id
    +
    1797  !
    +
    1798  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
    +
    1799  ipdstmpl0(5) = value
    +
    1800  !
    +
    1801  ipdstmpl0(6) = hrs_obs_cutoff
    +
    1802  ipdstmpl0(7) = min_obs_cutoff
    +
    1803  !
    +
    1804  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
    +
    1805  ipdstmpl0(8) = value
    +
    1806  ipdstmpl0(9) = fcst_time
    +
    1807  !
    +
    1808  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
    +
    1809  ipdstmpl0(10) = value
    +
    1810  ipdstmpl0(11) = scale_fac1
    +
    1811  ipdstmpl0(12) = scaled_val1
    +
    1812  !
    +
    1813  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
    +
    1814  ipdstmpl0(13) = value
    +
    1815  !
    +
    1816  ipdstmpl0(14) = scale_fac2
    +
    1817  ipdstmpl0(15) = scaled_val2
    +
    1818  !
    +
    1819  end subroutine g2sec4_temp0
    +
    1872  subroutine g2sec4_temp8(icatg,iparm,typ_gen_proc_key,gen_proc_or_mod_key, &
    +
    1873  hrs_obs_cutoff,min_obs_cutoff,unit_of_time_key, &
    +
    1874  fcst_time,lvl_type1,scale_fac1,scaled_val1,lvl_type2, &
    +
    1875  scale_fac2,scaled_val2,year_intvl, &
    +
    1876  mon_intvl,day_intvl,hour_intvl,min_intvl,sec_intvl, &
    +
    1877  num_time_range,stat_miss_val,type_of_stat_proc, &
    +
    1878  type_of_time_inc,stat_unit_time_key, &
    +
    1879  leng_time_range_stat,stat_unit_time_key_succ, &
    +
    1880  time_inc_betwn_succ_fld,ipdstmpl8)
    +
    1881  !
    +
    1882  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff,fcst_time, &
    +
    1883  scale_fac1,scaled_val1,scale_fac2,scaled_val2
    +
    1884  integer(4),intent(in) :: year_intvl,mon_intvl,day_intvl,hour_intvl,min_intvl, &
    +
    1885  sec_intvl,num_time_range,stat_miss_val, &
    +
    1886  leng_time_range_stat,time_inc_betwn_succ_fld
    +
    1887  !
    +
    1888  character(len=*),intent(in) :: typ_gen_proc_key,gen_proc_or_mod_key, &
    +
    1889  unit_of_time_key,lvl_type1,lvl_type2, &
    +
    1890  type_of_stat_proc,type_of_time_inc, &
    +
    1891  stat_unit_time_key,stat_unit_time_key_succ
    +
    1892  !
    +
    1893  integer(4) :: bckgnd_gen_proc_id ! defined by the center
    +
    1894  !
    +
    1895  integer(4),intent(inout) :: ipdstmpl8(29) ! currently works only for n=1
    +
    1896  ! later on, this will be generalized
    +
    1897  !
    +
    1898  !-- local vars
    +
    1899  integer(4) :: value,ierr
    +
    1900  !
    +
    1901  bckgnd_gen_proc_id=0
    +
    1902  !
    +
    1903  ipdstmpl8(1) = icatg
    +
    1904  ipdstmpl8(2) = iparm
    +
    1905  !
    +
    1906  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
    +
    1907  ipdstmpl8(3) = value
    +
    1908  !
    +
    1909  ipdstmpl8(4) = bckgnd_gen_proc_id
    +
    1910  !
    +
    1911  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
    +
    1912  ipdstmpl8(5) = value
    +
    1913  !
    +
    1914  ipdstmpl8(6) = hrs_obs_cutoff
    +
    1915  ipdstmpl8(7) = min_obs_cutoff
    +
    1916  !
    +
    1917  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
    +
    1918  ipdstmpl8(8) = value
    +
    1919  ipdstmpl8(9) = fcst_time
    +
    1920  !
    +
    1921  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
    +
    1922  ipdstmpl8(10) = value
    +
    1923  ipdstmpl8(11) = scale_fac1
    +
    1924  ipdstmpl8(12) = scaled_val1
    +
    1925  !
    +
    1926  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
    +
    1927  ipdstmpl8(13) = value
    +
    1928  !
    +
    1929  ipdstmpl8(14) = scale_fac2
    +
    1930  ipdstmpl8(15) = scaled_val2
    +
    1931  ipdstmpl8(16) = year_intvl
    +
    1932  ipdstmpl8(17) = mon_intvl
    +
    1933  ipdstmpl8(18) = day_intvl
    +
    1934  ipdstmpl8(19) = hour_intvl
    +
    1935  ipdstmpl8(20) = min_intvl
    +
    1936  ipdstmpl8(21) = sec_intvl
    +
    1937  !
    +
    1938  ipdstmpl8(22) = num_time_range ! choose n=1 for this case
    +
    1939  ipdstmpl8(23) = stat_miss_val ! choose 0 for this case
    +
    1940  !
    +
    1941  call get_g2_statprocesstypes(type_of_stat_proc,value,ierr)
    +
    1942  ipdstmpl8(24) = value ! types_of_stat_proc='accumulation'
    +
    1943  !
    +
    1944  call get_g2_typeoftimeintervals(type_of_time_inc,value,ierr)
    +
    1945  ipdstmpl8(25) = value ! type_of_time_inc='same_start_time_fcst_fcst_time_inc'
    +
    1946  ! value = 2 (Successive times processed have same start
    +
    1947  ! time of forecast, forecast time is incremented)
    +
    1948  !
    +
    1949  call get_g2_unitoftimerange(stat_unit_time_key,value,ierr)
    +
    1950  ipdstmpl8(26) = value ! stat_unit_time_key='hour'
    +
    1951  ! value = 1
    +
    1952  ipdstmpl8(27) = leng_time_range_stat ! value = 6
    +
    1953  !
    +
    1954  call get_g2_unitoftimerange(stat_unit_time_key_succ,value,ierr)
    +
    1955  ! stat_unit_time_key_succ='missing'
    +
    1956  ipdstmpl8(28) = value ! value = 255
    +
    1957  !
    +
    1958  ipdstmpl8(29) = time_inc_betwn_succ_fld ! value = 0
    +
    1959  !
    +
    1960  end subroutine g2sec4_temp8
    +
    1989  subroutine g2sec4_temp44(icatg,iparm,aer_type,typ_intvl_size, &
    +
    1990  scale_fac1_size,scale_val1_size,scale_fac2_size, &
    +
    1991  scale_val2_size,typ_gen_proc_key, &
    +
    1992  gen_proc_or_mod_key,hrs_obs_cutoff,min_obs_cutoff, &
    +
    1993  unit_of_time_key,fcst_time,lvl_type1,scale_fac1, &
    +
    1994  scaled_val1,lvl_type2,scale_fac2,scaled_val2, &
    +
    1995  ipdstmpl44)
    +
    1996  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff, &
    +
    1997  scale_fac1_size,scale_fac2_size, &
    +
    1998  fcst_time,scale_fac1,scaled_val1, scale_fac2,scaled_val2
    +
    1999  real,intent(in) :: scale_val1_size,scale_val2_size
    +
    2000  !
    +
    2001  character(len=*),intent(in) :: aer_type,typ_intvl_size,typ_gen_proc_key, &
    +
    2002  gen_proc_or_mod_key,unit_of_time_key,lvl_type1,lvl_type2
    +
    2003  !
    +
    2004  integer(4),intent(inout) :: ipdstmpl44(21)
    +
    2005  !
    +
    2006  !local vars
    +
    2007  integer(4) :: value,ierr
    +
    2008  integer(4) :: bckgnd_gen_proc_id ! defined by the center
    +
    2009  !
    +
    2010  bckgnd_gen_proc_id=0 ! defined by the center
    +
    2011  !
    +
    2012  ipdstmpl44(1) = icatg
    +
    2013  ipdstmpl44(2) = iparm
    +
    2014  !
    +
    2015  call get_g2_typeofaerosol(aer_type,value,ierr)
    +
    2016  ipdstmpl44(3) = value
    +
    2017  !
    +
    2018  call get_g2_typeofintervals(typ_intvl_size,value,ierr)
    +
    2019  ipdstmpl44(4) = value
    +
    2020  ipdstmpl44(5) = scale_fac1_size
    +
    2021  ipdstmpl44(6) = scale_val1_size
    +
    2022  ipdstmpl44(7) = scale_fac2_size
    +
    2023  ipdstmpl44(8) = scale_val2_size
    +
    2024  !
    +
    2025  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
    +
    2026  ipdstmpl44(9) = value
    +
    2027  !
    +
    2028  ipdstmpl44(10) = bckgnd_gen_proc_id
    +
    2029  !
    +
    2030  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
    +
    2031  ipdstmpl44(11) = value
    +
    2032  !
    +
    2033  ipdstmpl44(12) = hrs_obs_cutoff
    +
    2034  ipdstmpl44(13) = min_obs_cutoff
    +
    2035  !
    +
    2036  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
    +
    2037  ipdstmpl44(14) = value
    +
    2038  ipdstmpl44(15) = fcst_time
    +
    2039  !
    +
    2040  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
    +
    2041  ipdstmpl44(16) = value
    +
    2042  ipdstmpl44(17) = scale_fac1
    +
    2043  ipdstmpl44(18) = scaled_val1
    +
    2044  !
    +
    2045  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
    +
    2046  ipdstmpl44(19) = value
    +
    2047  !
    +
    2048  ipdstmpl44(20) = scale_fac2
    +
    2049  ipdstmpl44(21) = scaled_val2
    +
    2050  !
    +
    2051  end subroutine g2sec4_temp44
    +
    2085  subroutine g2sec4_temp48(icatg,iparm,aer_type,typ_intvl_size, &
    +
    2086  scale_fac1_size,scale_val1_size,scale_fac2_size, &
    +
    2087  scale_val2_size,typ_intvl_wavelength, &
    +
    2088  scale_fac1_wavelength,scale_val1_wavelength, &
    +
    2089  scale_fac2_wavelength,scale_val2_wavelength, &
    +
    2090  typ_gen_proc_key, gen_proc_or_mod_key, &
    +
    2091  hrs_obs_cutoff,min_obs_cutoff, &
    +
    2092  unit_of_time_key,fcst_time,lvl_type1,scale_fac1, &
    +
    2093  scaled_val1,lvl_type2,scale_fac2,scaled_val2, &
    +
    2094  ipdstmpl48)
    +
    2095  integer(4),intent(in) :: icatg,iparm,hrs_obs_cutoff,min_obs_cutoff, &
    +
    2096  scale_fac1_size,scale_fac2_size, scale_fac1_wavelength, &
    +
    2097  scale_fac2_wavelength, &
    +
    2098  fcst_time,scale_fac1,scaled_val1, &
    +
    2099  scale_fac2,scaled_val2
    +
    2100  real,intent(in) :: scale_val1_size,scale_val2_size,scale_val1_wavelength, &
    +
    2101  scale_val2_wavelength
    +
    2102  !
    +
    2103  character(len=*),intent(in) :: aer_type,typ_intvl_size, &
    +
    2104  typ_intvl_wavelength,typ_gen_proc_key, &
    +
    2105  gen_proc_or_mod_key,unit_of_time_key,lvl_type1,lvl_type2
    +
    2106  !
    +
    2107  integer(4),intent(inout) :: ipdstmpl48(26)
    +
    2108  !
    +
    2109  !local vars
    +
    2110  integer(4) :: value,ierr
    +
    2111  integer(4) :: bckgnd_gen_proc_id ! defined by the center
    +
    2112  !
    +
    2113  bckgnd_gen_proc_id=0 ! defined by the center
    +
    2114  !
    +
    2115  ipdstmpl48(1) = icatg
    +
    2116  ipdstmpl48(2) = iparm
    +
    2117  !
    +
    2118  call get_g2_typeofaerosol(aer_type,value,ierr)
    +
    2119  ipdstmpl48(3) = value
    +
    2120  !
    +
    2121  call get_g2_typeofintervals(typ_intvl_size,value,ierr)
    +
    2122  ipdstmpl48(4) = value
    +
    2123  ipdstmpl48(5) = scale_fac1_size
    +
    2124  ipdstmpl48(6) = nint(scale_val1_size)
    +
    2125  ipdstmpl48(7) = scale_fac2_size
    +
    2126  ipdstmpl48(8) = nint(scale_val2_size)
    +
    2127  !
    +
    2128  call get_g2_typeofintervals(typ_intvl_wavelength,value,ierr)
    +
    2129  ipdstmpl48(9) = value
    +
    2130  ipdstmpl48(10) = scale_fac1_wavelength
    +
    2131  ipdstmpl48(11) = nint(scale_val1_wavelength)
    +
    2132  ipdstmpl48(12) = scale_fac2_wavelength
    +
    2133  ipdstmpl48(13) = nint(scale_val2_wavelength)
    +
    2134  !
    +
    2135  call get_g2_typeofgenproc(typ_gen_proc_key,value,ierr)
    +
    2136  ipdstmpl48(14) = value
    +
    2137  !
    +
    2138  ipdstmpl48(15) = bckgnd_gen_proc_id
    +
    2139  !
    +
    2140  call get_g2_on388genproc(gen_proc_or_mod_key,value,ierr)
    +
    2141  ipdstmpl48(16) = value
    +
    2142  !
    +
    2143  ipdstmpl48(17) = hrs_obs_cutoff
    +
    2144  ipdstmpl48(18) = min_obs_cutoff
    +
    2145  !
    +
    2146  call get_g2_unitoftimerange(unit_of_time_key,value,ierr)
    +
    2147  ipdstmpl48(19) = value
    +
    2148  ipdstmpl48(20) = fcst_time
    +
    2149  !
    +
    2150  call get_g2_fixedsurfacetypes(lvl_type1,value,ierr)
    +
    2151  ipdstmpl48(21) = value
    +
    2152  ipdstmpl48(22) = scale_fac1
    +
    2153  ipdstmpl48(23) = scaled_val1
    +
    2154  !
    +
    2155  call get_g2_fixedsurfacetypes(lvl_type2,value,ierr)
    +
    2156  ipdstmpl48(24) = value
    +
    2157  !
    +
    2158  ipdstmpl48(25) = scale_fac2
    +
    2159  ipdstmpl48(26) = scaled_val2
    +
    2160  !
    +
    2161  end subroutine g2sec4_temp48
    +
    2162  !
    +
    2163  !
    +
    2172  subroutine get_g2_typeofensfcst(key,value,ierr)
    +
    2173  character(len=*) :: key
    +
    2174  integer :: value,n,ierr
    +
    2175  !
    +
    2176  do n=1,maxtypeofensfcst
    +
    2177  if (trim(table4_6(n)%typeofensfcstkey).eq.trim(key)) then
    +
    2178  value=table4_6(n)%typeofensfcstval
    +
    2179  return
    +
    2180  endif
    +
    2181  enddo
    +
    2182  print *,'get_g2_typeofensfcst key: ', key, &
    +
    2183  ' not found in table 4.6'
    +
    2184  ierr=9
    +
    2185  return
    +
    2186  end subroutine get_g2_typeofensfcst
    +
    2196  subroutine get_g2_typeofderivefcst(key,value,ierr)
    +
    2197  character(len=*) :: key
    +
    2198  integer :: value,n,ierr
    +
    2199  !
    +
    2200  do n=1,maxtypeofderivefcst
    +
    2201  if (trim(table4_7(n)%typeofderivefcstkey).eq.trim(key)) then
    +
    2202  value=table4_7(n)%typeofderivefcstval
    +
    2203  return
    +
    2204  endif
    +
    2205  enddo
    +
    2206  print *,'get_g2_typeofderivefcst key: ', key, &
    +
    2207  ' not found in table 4.7'
    +
    2208  ierr=9
    +
    2209  return
    +
    2210  end subroutine get_g2_typeofderivefcst
    +
    2233  subroutine g2sec5_temp0(dec_scale_fac,bin_scale_fac,tlnumbits,ifield5)
    +
    2234  integer(4),intent(in) :: bin_scale_fac,dec_scale_fac,tlnumbits
    +
    2235  integer(4),intent(out) :: ifield5(5)
    +
    2236  ! character(len=50) :: type_of_field
    +
    2237  integer(4) :: value,ierr
    +
    2238  !
    +
    2239  ifield5(1) = 0 ! Any value. Will be later overwritten
    +
    2240  ifield5(2) = bin_scale_fac
    +
    2241  ifield5(3) = dec_scale_fac
    +
    2242  ifield5(4) = tlnumbits
    +
    2243  ifield5(5) = 0 !g2 lib only 0
    +
    2244  !
    +
    2245  end subroutine g2sec5_temp0
    +
    2262  subroutine g2sec5_temp2(dec_scale_fac,bin_scale_fac,ifield5)
    +
    2263  !
    +
    2264  integer(4),intent(inout) :: ifield5(16)
    +
    2265  integer(4),intent(in) :: dec_scale_fac,bin_scale_fac
    +
    2266  !
    +
    2267  integer(4) :: value,ierr
    +
    2268  !
    +
    2269  ifield5=0
    +
    2270  ifield5(1) = 0 ! Any value. Will be later overwritten
    +
    2271  ifield5(2) = bin_scale_fac
    +
    2272  ifield5(3) = dec_scale_fac
    +
    2273  !
    +
    2274  end subroutine g2sec5_temp2
    +
    2292  subroutine g2sec5_temp3(dec_scale_fac,bin_scale_fac,order_of_sptdiff, &
    +
    2293  ifield5)
    +
    2294  !
    +
    2295  integer(4),intent(in) :: dec_scale_fac,bin_scale_fac
    +
    2296  character(*),intent(in) :: order_of_sptdiff
    +
    2297  integer(4),intent(out) :: ifield5(18)
    +
    2298  !
    +
    2299  integer(4) :: value,ierr
    +
    2300  !
    +
    2301  ifield5=0
    +
    2302  ifield5(1) = 0 ! Any value. Will be later overwritten
    +
    2303  ifield5(2) = bin_scale_fac
    +
    2304  ifield5(3) = dec_scale_fac
    +
    2305  !
    +
    2306  call get_g2_ordofspcdiffvals(order_of_sptdiff,value,ierr)
    +
    2307  ifield5(17) = value
    +
    2308  !
    +
    2309  end subroutine g2sec5_temp3
    +
    2337  subroutine g2sec5_temp40(dec_scale_fac,bin_scale_fac,tlnumbits, &
    +
    2338  type_of_compression,ifield5)
    +
    2339  !
    +
    2340  integer(4),intent(in) :: bin_scale_fac,dec_scale_fac,tlnumbits
    +
    2341  character(*),intent(in) :: type_of_compression
    +
    2342  integer(4),intent(inout) :: ifield5(7)
    +
    2343  !
    +
    2344  !--- local variable
    +
    2345  integer(4) :: value,ierr
    +
    2346  integer,parameter :: MAX_NUMBIT=16
    +
    2347  integer ibm
    +
    2348  integer,allocatable :: mg(:)
    +
    2349  !
    +
    2350  ifield5(1) = 0 ! Any value. Will be later overwritten
    +
    2351  ifield5(2) = bin_scale_fac
    +
    2352  ifield5(3) = dec_scale_fac
    +
    2353  ifield5(4) = tlnumbits
    +
    2354  ifield5(5) = 0 !g2lib assumes original data were reals
    +
    2355  !
    +
    2356  ! call get_g2_typeoforigfieldvals(type_of_field,value,ierr)
    +
    2357  ! ifield5(5) = value
    +
    2358  !
    + +
    2360  ifield5(6) = value
    +
    2361  !
    +
    2362  ifield5(7) = 255
    +
    2363  end subroutine g2sec5_temp40
    +
    2364 
    +
    2373  subroutine get_g2_typeofcluster(key,value,ierr)
    +
    2374  character(len=*) :: key
    +
    2375  integer :: value,n,ierr
    +
    2376  !
    +
    2377  do n=1,maxtypeofcluster
    +
    2378  if (trim(table4_8(n)%typeofclusterkey).eq.trim(key)) then
    +
    2379  value=table4_8(n)%typeofclusterval
    +
    2380  return
    +
    2381  endif
    +
    2382  enddo
    +
    2383  print *,'get_g2_typeofcluster key: ', key, &
    +
    2384  ' not found in table 4.8'
    +
    2385  ierr=9
    +
    2386  return
    +
    2387  end subroutine get_g2_typeofcluster
    +
    2397  subroutine get_g2_typeofprob(key,value,ierr)
    +
    2398  character(len=*) :: key
    +
    2399  integer :: value,n,ierr
    +
    2400  !
    +
    2401  do n=1,maxtypeofprob
    +
    2402  if (trim(table4_9(n)%typeofprobkey).eq.trim(key)) then
    +
    2403  value=table4_9(n)%typeofprobval
    +
    2404  return
    +
    2405  endif
    +
    2406  enddo
    +
    2407  print *,'get_g2_typeofprob key: ', key, &
    +
    2408  ' not found in table 4.9'
    +
    2409  ierr=9
    +
    2410  return
    +
    2411  end subroutine get_g2_typeofprob
    +
    2412 
    +
    2421  subroutine get_g2_typeofprecip(key,value,ierr)
    +
    2422  character(len=*) :: key
    +
    2423  integer :: value,n,ierr
    +
    2424  !
    +
    2425  do n=1,maxtypeofprecip
    +
    2426  if (trim(table4_201(n)%typeofprecipkey).eq.trim(key)) then
    +
    2427  value=table4_201(n)%typeofprecipval
    +
    2428  return
    +
    2429  endif
    +
    2430  enddo
    +
    2431  print *,'get_g2_typeofprecip key: ', key, &
    +
    2432  ' not found in table 4.201'
    +
    2433  ierr=9
    +
    2434  return
    +
    2435  end subroutine get_g2_typeofprecip
    +
    2436 
    +
    2437 end module grib2_all_tables_module
    +
    Define the variables in the derived data type discipline provided in Section 0.
    +
    subroutine get_g2_on388genproc(key, value, ierr)
    This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) ...
    +
    subroutine g2sec5_temp3(dec_scale_fac, bin_scale_fac, order_of_sptdiff, ifield5)
    This subroutine returns the section 5 list array with a given binary, and decimal scale factor from G...
    +
    type(prod_status), dimension(maxprodstatus) table1_3
    Table 1 3.
    +
    subroutine g2sec1(origin_key, subcen_key, vers_key, lvers_key, sigreftime_key, refyear_val, refmon_val, refday_val, refhour_val, refmin_val, refsec_val, prodstatus_key, typeofdata_key, listsec1)
    This subroutine returns the section 1 list for given keys.
    +
    type(order_of_sptdiff_vals), dimension(maxordofsptdiff) table5_6
    table5_6
    +
    subroutine get_g2_typeofgenproc(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short ...
    +
    type(type_of_gen_proc), dimension(maxtypeofgenproc) table4_3
    table4_3
    +
    subroutine get_g2_typeoftimeintervals(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key ...
    +
    subroutine get_g2_subcenters(key, value, ierr)
    This subroutine returns the corresponding GRIB2 subcenters value for a given short key name based on ...
    +
    type(subcenters), dimension(maxsubcen) tablec
    tablec
    +
    subroutine get_g2_sigreftime(key, value, ierr)
    This subroutine returns the corresponding GRIB2 significant reference time value for a given short ke...
    +
    type(type_of_time_intervals), dimension(maxtypeoftimeintvls) table4_11
    table4_11
    +
    integer, parameter maxreftime
    maxreftime
    +
    subroutine get_g2_typeofderivefcst(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key n...
    +
    type(type_of_aerosol), dimension(maxtypeofaerosol) table4_233
    table4_233
    +
    subroutine get_g2_ordofspcdiffvals(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Table 5.6 Order of spatial differencing for a given...
    +
    subroutine get_g2_fixedsurfacetypes(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given sho...
    +
    integer, parameter maxtypeofprecip
    maxtypeofprecip
    +
    type(type_of_derive_fcst), dimension(maxtypeofderivefcst) table4_7
    table4_7
    +
    subroutine get_g2_typeofdata(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of data value for a given short key name based o...
    +
    integer, parameter maxtypeoftimeintvls
    maxtypeoftimeintvls
    +
    type(type_of_compression), dimension(maxtypeofcompression) table5_40
    table5_40
    +
    subroutine get_g2_typeoforigfieldvals(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Table 5.1 Type of Original Field Values for a given...
    +
    type(type_of_prob), dimension(maxtypeofprob) table4_9
    table4_9
    +
    type(local_table_vers_no), dimension(maxlocver) table1_1
    Table 1 1.
    +
    integer, parameter maxfixedsurfacetypes
    Max fixed surface types.
    +
    type(type_of_precip), dimension(maxtypeofprecip) table4_201
    table4_201
    +
    subroutine get_g2_statprocesstypes(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given sho...
    +
    type(type_of_orig_field_vals), dimension(maxtypeoforigfieldval) table5_1
    table5_1
    +
    integer, parameter maxtypeofpackingmethod
    maxtypeofpackingmethod
    +
    type(type_of_packingmethod), dimension(maxtypeofpackingmethod) table5_0
    table5_0
    +
    subroutine get_g2_typeofcluster(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of clustering method for a given short key name ...
    +
    integer, parameter maxtypeofderivefcst
    maxtypeofderivefcst
    +
    type(type_of_data), dimension(maxtypeofdata) table1_4
    table1_4
    +
    subroutine g2sec4_temp48(icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_intvl_wavelength, scale_fac1_wavelength, scale_val1_wavelength, scale_fac2_wavelength, scale_val2_wavelength, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl48)
    This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4....
    +
    integer, parameter maxver
    maxver
    +
    subroutine get_g2_typeofcompression(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Table 5.40 Type of compression for a given short ke...
    +
    integer, parameter maxtypeofdata
    maxtypeofdata
    +
    integer, parameter maxprodstatus
    maxprodstatus
    +
    integer, parameter maxtypeofcompression
    maxtypeofcompression
    +
    subroutine get_g2_typeofintervals(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of intervals value for a given short key name ...
    +
    type(type_of_ens_fcst), dimension(maxtypeofensfcst) table4_6
    table4_6
    +
    type(type_of_intervals), dimension(maxtypeofintvls) table4_91
    table4_91
    +
    subroutine get_g2_unitoftimerange(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given s...
    +
    subroutine g2sec0(idisc, listsec0)
    This subroutine returns the section 0 list for a given discipline value.
    +
    type(gen_proc), dimension(maxgenproc) on388_tablea
    ON 388 Table A.
    +
    integer, parameter maxsubcen
    maxsubcen
    +
    integer, parameter maxordofsptdiff
    maxordofsptdiff
    +
    integer, parameter maxorigincenters
    maxorigincenters
    +
    subroutine g2sec4_temp44(icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl44)
    This subroutine returns the Grib2 Section 4 Template 4.44 list for given keys PDT 4....
    +
    subroutine g2sec4_temp0(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl0)
    This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4....
    +
    integer, parameter maxlocver
    maxlocver
    +
    integer, parameter maxtypeofaerosol
    maxtypeofaerosol
    +
    integer, parameter maxstatprocesstypes
    maxstatprocesstypes
    +
    integer, parameter maxgenproc
    maxgenproc
    +
    type(version_no), dimension(maxver) table1_0
    Table 1 0.
    +
    subroutine g2sec5_temp2(dec_scale_fac, bin_scale_fac, ifield5)
    This subroutine returns the section 5 list array with a given binary, and decimal scale factor from G...
    +
    type(sigreftime), dimension(maxreftime) table1_2
    Table 1 2.
    +
    integer, parameter maxtypeoforigfieldval
    maxtypeoforigfieldval
    +
    subroutine g2sec5_temp40(dec_scale_fac, bin_scale_fac, tlnumbits, type_of_compression, ifield5)
    This subroutine returns the section 5 list array for a given decimal scale factor (D),...
    +
    subroutine get_g2_versionno(key, value, ierr)
    This subroutine returns the corresponding GRIB2 version number for a given short key name based on Ta...
    +
    subroutine g2sec5_temp0(dec_scale_fac, bin_scale_fac, tlnumbits, ifield5)
    This subroutine returns the section 5 list array for a given decimal scale factor (D) and type of ori...
    +
    integer, parameter maxtypeofintvls
    maxtypeofintvls
    +
    type(fixed_surface_types), dimension(maxfixedsurfacetypes) table4_5
    table4_5
    +
    type(unit_of_time_range), dimension(maxunitoftimerange) table4_4
    table4_4
    +
    integer, parameter maxtypeofcluster
    maxtypeofcluster
    +
    subroutine get_g2_typeofprecip(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of precipitation for a given short key name base...
    +
    subroutine get_g2_prodstatus(key, value, ierr)
    This subroutine returns the corresponding GRIB2 production status of data value for a given short key...
    +
    subroutine g2sec4_temp8(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl8)
    This subroutine returns the Grib2 Section 4 Template 4.8 list for given keys PDT 4....
    +
    subroutine get_g2_typeofaerosol(key, value, ierr)
    This subroutine returns the corresponding GRIB2 - Type of aerosol value for a given short key name ba...
    +
    type(type_of_cluster), dimension(maxtypeofcluster) table4_8
    table4_8
    +
    integer, parameter maxtypeofgenproc
    maxtypeofgenproc
    +
    integer, parameter maxunitoftimerange
    maxunitoftimerange
    +
    type(origin_centers), dimension(maxorigincenters) on388_table0
    ON388 Table.
    +
    subroutine get_g2_typeofensfcst(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key...
    +
    integer, parameter maxtypeofprob
    maxtypeofprob
    +
    subroutine get_g2_sec5packingmethod(key, value, ierr)
    This subroutine returns the corresponding GRIB2 template number for a given short key name based on G...
    +
    integer, parameter maxtypeofensfcst
    maxtypeofensfcst
    +
    subroutine get_g2_loctabversno(key, value, ierr)
    This subroutine returns the corresponding GRIB2 local table version number for a given short key name...
    +
    subroutine get_g2_on388origincenters(key, value, ierr)
    This subroutine returns the corresponding GRIB1 - PDS Ocet5 GRIB2 - Section 1, Octet 6-7 National/Int...
    +
    type(statistical_processing_types), dimension(maxstatprocesstypes) table4_10
    table4_10
    +
    subroutine get_g2_typeofprob(key, value, ierr)
    This subroutine returns the corresponding GRIB2 type of probability for a given short key name based ...
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/index.html b/ver-1.10.0/ver-1.10.0/index.html new file mode 100644 index 0000000..64fc3e7 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/index.html @@ -0,0 +1,133 @@ + + + + + + + +NCEPLIBS-g2tmpl: Main Page + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    NCEPLIBS-g2tmpl Documentation
    +
    +
    +

    +Introduction

    +

    This document briefly describes the NCEPLIBS-g2tmpl library.

    +

    +History

    + + + + + + + + + + + + + + + + + + + + + + + +
    Version Date Notes
    1.0.0 Dec 04 2009 Original version
    1.1.0 Jan 25 2012 Add product template 4.44 and 4.48
    1.2.1 Feb 20 2012 Add complex packing
    1.2.2 Jul 08 2014 Corrected Scaled value of second fixed surfaces in template 4.8 and Added generating process model HRRR
    1.3.0 Jan 09 2015 Added product template 4.1, 4.11 and 4.12; Added code tables 4.6 (Type of Ensemble Forecast) and 4.7 (Derived Forecast); Added routines: get_g2_typeofensfcst, get_g2_typeofderivefcst
    1.4.0 Aug 26 2015 Added more parameters and updated table 4.2-0-20; Added 4 type of aerosols in table4_233
    1.5.0 Mar 09 2017 Added more parameters in grib2 table 4.2
    1.5.2 Nov 10 2019 fixed issues in error messages
    1.6.0 Dec 11 2019 Removed "qsort" in routine process_4dot2.c; Added more parameters
    1.10.0 Apr 28 2021 Added more parameters; Added generating process ID for models: RRFS and CORE; Removed routine gdtsec3.f (obsolete)
    +

    +GRIB2 Tables/Templates

    +

    NCO Provides documentation on WMO GRIB2 at https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/

    +

    WMO's GRIB2 specification "FM 92-XII GRIB - General +Regularly-distributed Information in Binary Form" contains descriptions of each template and code table information. This document can be found at https://codes.wmo.int/grib2/_codeflag (PDF and MSWord formats are available).

    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/jquery.js b/ver-1.10.0/ver-1.10.0/jquery.js new file mode 100644 index 0000000..103c32d --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
    ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
    "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
    ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
    "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
    "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
    ').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/menu.js b/ver-1.10.0/ver-1.10.0/menu.js new file mode 100644 index 0000000..2fe2214 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/menu.js @@ -0,0 +1,51 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/ver-1.10.0/ver-1.10.0/menudata.js b/ver-1.10.0/ver-1.10.0/menudata.js new file mode 100644 index 0000000..60f8792 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/menudata.js @@ -0,0 +1,50 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Modules",url:"namespaces.html",children:[ +{text:"Modules List",url:"namespaces.html"}, +{text:"Module Members",url:"namespacemembers.html",children:[ +{text:"All",url:"namespacemembers.html",children:[ +{text:"g",url:"namespacemembers.html#index_g"}, +{text:"m",url:"namespacemembers.html#index_m"}, +{text:"o",url:"namespacemembers.html#index_o"}, +{text:"t",url:"namespacemembers.html#index_t"}]}, +{text:"Functions/Subroutines",url:"namespacemembers_func.html",children:[ +{text:"g",url:"namespacemembers_func.html#index_g"}]}, +{text:"Variables",url:"namespacemembers_vars.html",children:[ +{text:"m",url:"namespacemembers_vars.html#index_m"}, +{text:"o",url:"namespacemembers_vars.html#index_o"}, +{text:"t",url:"namespacemembers_vars.html#index_t"}]}]}]}, +{text:"Data Types List",url:"annotated.html",children:[ +{text:"Data Types List",url:"annotated.html"}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"Globals",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Functions/Subroutines",url:"globals_func.html"}, +{text:"Variables",url:"globals_vars.html"}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module.html b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module.html new file mode 100644 index 0000000..fe52f02 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module.html @@ -0,0 +1,4570 @@ + + + + + + + +NCEPLIBS-g2tmpl: grib2_all_tables_module Module Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    grib2_all_tables_module Module Reference
    +
    +
    + +

    Define the variables in the derived data type discipline provided in Section 0. +More...

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Types

    type  fixed_surface_types
     
    type  gen_proc
     
    type  local_table_vers_no
     
    type  order_of_sptdiff_vals
     
    type  origin_centers
     
    type  prod_status
     
    type  sigreftime
     
    type  statistical_processing_types
     
    type  subcenters
     
    type  type_of_aerosol
     
    type  type_of_cluster
     
    type  type_of_compression
     
    type  type_of_data
     
    type  type_of_derive_fcst
     
    type  type_of_ens_fcst
     
    type  type_of_gen_proc
     
    type  type_of_intervals
     
    type  type_of_orig_field_vals
     
    type  type_of_packingmethod
     
    type  type_of_precip
     
    type  type_of_prob
     
    type  type_of_time_intervals
     
    type  unit_of_time_range
     
    type  version_no
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions/Subroutines

    subroutine g2sec0 (idisc, listsec0)
     This subroutine returns the section 0 list for a given discipline value. More...
     
    subroutine g2sec1 (origin_key, subcen_key, vers_key, lvers_key, sigreftime_key, refyear_val, refmon_val, refday_val, refhour_val, refmin_val, refsec_val, prodstatus_key, typeofdata_key, listsec1)
     This subroutine returns the section 1 list for given keys. More...
     
    subroutine g2sec4_temp0 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl0)
     This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.0 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time. More...
     
    subroutine g2sec4_temp44 (icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl44)
     This subroutine returns the Grib2 Section 4 Template 4.44 list for given keys PDT 4.44 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. More...
     
    subroutine g2sec4_temp48 (icatg, iparm, aer_type, typ_intvl_size, scale_fac1_size, scale_val1_size, scale_fac2_size, scale_val2_size, typ_intvl_wavelength, scale_fac1_wavelength, scale_val1_wavelength, scale_fac2_wavelength, scale_val2_wavelength, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, ipdstmpl48)
     This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.48 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. More...
     
    subroutine g2sec4_temp8 (icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, scale_fac2, scaled_val2, year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, num_time_range, stat_miss_val, type_of_stat_proc, type_of_time_inc, stat_unit_time_key, leng_time_range_stat, stat_unit_time_key_succ, time_inc_betwn_succ_fld, ipdstmpl8)
     This subroutine returns the Grib2 Section 4 Template 4.8 list for given keys PDT 4.8 - Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. More...
     
    subroutine g2sec5_temp0 (dec_scale_fac, bin_scale_fac, tlnumbits, ifield5)
     This subroutine returns the section 5 list array for a given decimal scale factor (D) and type of original field values (Table 5.1) value from GRIB2 - GRID Template 5.0 Grid point data - simple packing. More...
     
    subroutine g2sec5_temp2 (dec_scale_fac, bin_scale_fac, ifield5)
     This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.2 Grid point data - complex packing. More...
     
    subroutine g2sec5_temp3 (dec_scale_fac, bin_scale_fac, order_of_sptdiff, ifield5)
     This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.3 Grid point data - complex packing with spatial difference. More...
     
    subroutine g2sec5_temp40 (dec_scale_fac, bin_scale_fac, tlnumbits, type_of_compression, ifield5)
     This subroutine returns the section 5 list array for a given decimal scale factor (D),type of original field value (Table 5.40) and type of compression used from GRIB2 - GRID Template 5.40 Grid point data - JPEG 2000 Code Stream Format. More...
     
    subroutine get_g2_fixedsurfacetypes (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given short key name based on Table 4.5 of Section 4, Octets 23 and 29. More...
     
    subroutine get_g2_loctabversno (key, value, ierr)
     This subroutine returns the corresponding GRIB2 local table version number for a given short key name based on Table 1.1. More...
     
    subroutine get_g2_on388genproc (key, value, ierr)
     This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) from originating center 7 (USNWS NCEP) for a given short key name based on ON388 - Table A. More...
     
    subroutine get_g2_on388origincenters (key, value, ierr)
     This subroutine returns the corresponding GRIB1 - PDS Ocet5 GRIB2 - Section 1, Octet 6-7 National/International Originating Centers value for a given short key name based on ON388 - Table 0. More...
     
    subroutine get_g2_ordofspcdiffvals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.6 Order of spatial differencing for a given short key name based on GRIB2 - Table 5.6 default is 1st order spatial differencing. More...
     
    subroutine get_g2_prodstatus (key, value, ierr)
     This subroutine returns the corresponding GRIB2 production status of data value for a given short key name based on Table 1.3. More...
     
    subroutine get_g2_sec5packingmethod (key, value, ierr)
     This subroutine returns the corresponding GRIB2 template number for a given short key name based on GRIB2 -. More...
     
    subroutine get_g2_sigreftime (key, value, ierr)
     This subroutine returns the corresponding GRIB2 significant reference time value for a given short key name based on Table 1.2. More...
     
    subroutine get_g2_statprocesstypes (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given short key name based on Table 4.10 of Section 4 Octets 47 (template 8) 60 (temp 9), 48 (temp 10), 50 (temp 11), 49 (temp 12), 81 (temp 13), 77 (temp 14), 27 (temp 1001), 25 (temp 1002) and 39 (temp 1101) More...
     
    subroutine get_g2_subcenters (key, value, ierr)
     This subroutine returns the corresponding GRIB2 subcenters value for a given short key name based on Table C. More...
     
    subroutine get_g2_typeofaerosol (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of aerosol value for a given short key name based on Table 4.233 of Section 4 Octets 12-13 (template 44), 12-13 (temp 45), 12-13 (temp 46), 13-14 (temp 47), 12-13 (temp 48) More...
     
    subroutine get_g2_typeofcluster (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of clustering method for a given short key name based on Table 4.8. More...
     
    subroutine get_g2_typeofcompression (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.40 Type of compression for a given short key name based on GRIB2 - Table 5.40. More...
     
    subroutine get_g2_typeofdata (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of data value for a given short key name based on Table 1.4. More...
     
    subroutine get_g2_typeofderivefcst (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key name based on Table 4.7. More...
     
    subroutine get_g2_typeofensfcst (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key name based on Table 4.6. More...
     
    subroutine get_g2_typeofgenproc (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short key name based on Table 4.3 of Section 4, Octet 12. More...
     
    subroutine get_g2_typeofintervals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of intervals value for a given short key name based on Table 4.91 of Section 4 Octets 14 (template 44) 14 (temp 45), 14 (temp 46), 15 (temp 47),14 and 25 (temp 48) More...
     
    subroutine get_g2_typeoforigfieldvals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Table 5.1 Type of Original Field Values for a given short key name based on GRIB2 - Table 5.1. More...
     
    subroutine get_g2_typeofprecip (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of precipitation for a given short key name based on Table 4.201. More...
     
    subroutine get_g2_typeofprob (key, value, ierr)
     This subroutine returns the corresponding GRIB2 type of probability for a given short key name based on Table 4.9. More...
     
    subroutine get_g2_typeoftimeintervals (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key name based on Table 4.11 of Section 4 Octets 48 (template 8) 61 (temp 9), 49 (temp 10), 51 (temp 11), 50 (temp 12), 82 (temp 13), 78 (tem p 14), 28 (temp 1001), and 40 (temp 1101) More...
     
    subroutine get_g2_unitoftimerange (key, value, ierr)
     This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given short key name based on Table 4.4 of Section 4, Octet 18. More...
     
    subroutine get_g2_versionno (key, value, ierr)
     This subroutine returns the corresponding GRIB2 version number for a given short key name based on Table 1.0. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Variables

    integer, parameter maxfixedsurfacetypes =200
     Max fixed surface types. More...
     
    integer, parameter maxgenproc =250
     maxgenproc More...
     
    integer, parameter maxlocver =20
     maxlocver More...
     
    integer, parameter maxordofsptdiff =50
     maxordofsptdiff More...
     
    integer, parameter maxorigincenters =500
     maxorigincenters More...
     
    integer, parameter maxprodstatus =17
     maxprodstatus More...
     
    integer, parameter maxreftime =15
     maxreftime More...
     
    integer, parameter maxstatprocesstypes =50
     maxstatprocesstypes More...
     
    integer, parameter maxsubcen =100
     maxsubcen More...
     
    integer, parameter maxtypeofaerosol =200
     maxtypeofaerosol More...
     
    integer, parameter maxtypeofcluster =100
     maxtypeofcluster More...
     
    integer, parameter maxtypeofcompression =50
     maxtypeofcompression More...
     
    integer, parameter maxtypeofdata =100
     maxtypeofdata More...
     
    integer, parameter maxtypeofderivefcst =100
     maxtypeofderivefcst More...
     
    integer, parameter maxtypeofensfcst =100
     maxtypeofensfcst More...
     
    integer, parameter maxtypeofgenproc =100
     maxtypeofgenproc More...
     
    integer, parameter maxtypeofintvls =50
     maxtypeofintvls More...
     
    integer, parameter maxtypeoforigfieldval =15
     maxtypeoforigfieldval More...
     
    integer, parameter maxtypeofpackingmethod =50
     maxtypeofpackingmethod More...
     
    integer, parameter maxtypeofprecip =100
     maxtypeofprecip More...
     
    integer, parameter maxtypeofprob =100
     maxtypeofprob More...
     
    integer, parameter maxtypeoftimeintvls =50
     maxtypeoftimeintvls More...
     
    integer, parameter maxunitoftimerange =30
     maxunitoftimerange More...
     
    integer, parameter maxver =100
     maxver More...
     
    type(origin_centers), dimension(maxorigincenterson388_table0
     ON388 Table. More...
     
    type(gen_proc), dimension(maxgenprocon388_tablea
     ON 388 Table A. More...
     
    type(version_no), dimension(maxvertable1_0
     Table 1 0. More...
     
    type(local_table_vers_no), dimension(maxlocvertable1_1
     Table 1 1. More...
     
    type(sigreftime), dimension(maxreftimetable1_2
     Table 1 2. More...
     
    type(prod_status), dimension(maxprodstatustable1_3
     Table 1 3. More...
     
    type(type_of_data), dimension(maxtypeofdatatable1_4
     table1_4 More...
     
    type(statistical_processing_types), dimension(maxstatprocesstypestable4_10
     table4_10 More...
     
    type(type_of_time_intervals), dimension(maxtypeoftimeintvlstable4_11
     table4_11 More...
     
    type(type_of_precip), dimension(maxtypeofpreciptable4_201
     table4_201 More...
     
    type(type_of_aerosol), dimension(maxtypeofaerosoltable4_233
     table4_233 More...
     
    type(type_of_gen_proc), dimension(maxtypeofgenproctable4_3
     table4_3 More...
     
    type(unit_of_time_range), dimension(maxunitoftimerangetable4_4
     table4_4 More...
     
    type(fixed_surface_types), dimension(maxfixedsurfacetypestable4_5
     table4_5 More...
     
    type(type_of_ens_fcst), dimension(maxtypeofensfcsttable4_6
     table4_6 More...
     
    type(type_of_derive_fcst), dimension(maxtypeofderivefcsttable4_7
     table4_7 More...
     
    type(type_of_cluster), dimension(maxtypeofclustertable4_8
     table4_8 More...
     
    type(type_of_prob), dimension(maxtypeofprobtable4_9
     table4_9 More...
     
    type(type_of_intervals), dimension(maxtypeofintvlstable4_91
     table4_91 More...
     
    type(type_of_packingmethod), dimension(maxtypeofpackingmethodtable5_0
     table5_0 More...
     
    type(type_of_orig_field_vals), dimension(maxtypeoforigfieldvaltable5_1
     table5_1 More...
     
    type(type_of_compression), dimension(maxtypeofcompressiontable5_40
     table5_40 More...
     
    type(order_of_sptdiff_vals), dimension(maxordofsptdifftable5_6
     table5_6 More...
     
    type(subcenters), dimension(maxsubcentablec
     tablec More...
     
    +

    Detailed Description

    +

    Define the variables in the derived data type discipline provided in Section 0.

    +

    +Program History Log

    + + + + + + + + + + + + + + + + + + + + + + + +
    Date Programmer Comments
    12/04/2009 V. Krishna Kumar Creation
    2012/01/25 Jun Wang Add template 4.44 and 4.48
    2012/02/20 Jun Wang Add complex packing
    2014/07/08 Boi Vuong Corrected Scaled value of second fixed surfaces in template 4.8 and Added generating process model HRRR
    2015/01/09 Boi Vuong Added template 4.1, 411 and 4.12 and update code tables routines: get_g2_typeof ensfcst, get_g2_typeofderivefcst
    2015/09/02 Boi Vuong Added 4 type of aerosols in table4_233
    2017/03/01 Boi Vuong Added generating process model (HREF and Great lake short range model in table on388_tablea
    2019/06/25 Boi Vuong Corrected tablec sub-center: Changed name: ncep_hpc to ncep_wpc; ncep_tpc to ncep_nhc; sec - swpc and aded new sub-center: esrl
    2019/06/25 Boi Vuong 17 Added new entries in table4_3,table4_5 and added new table4_8,table4_9,table 4_201 Added generating process model table on388_tablea
    2021/04/20 Boi Vuong Updated table 4.3, 4.5,4.7 and on388_tablea
    +
    Author
    Jun Wang
    +
    Date
    2012/01/25
    +

    Data Type Documentation

    + +

    ◆ grib2_all_tables_module::fixed_surface_types

    + +
    +
    + + + + +
    type grib2_all_tables_module::fixed_surface_types
    +
    +
    +

    Definition at line 293 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +fixedsurfacetypeskey +
    +integer +fixedsurfacetypesval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::gen_proc

    + +
    +
    + + + + +
    type grib2_all_tables_module::gen_proc
    +
    +
    +

    Definition at line 1044 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +genprockey +
    +integer +genprocval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::local_table_vers_no

    + +
    +
    + + + + +
    type grib2_all_tables_module::local_table_vers_no
    +
    +
    +

    Definition at line 144 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +locverskey +
    +integer +locversval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::order_of_sptdiff_vals

    + +
    +
    + + + + +
    type grib2_all_tables_module::order_of_sptdiff_vals
    +
    +
    +

    Definition at line 769 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +ordofsptdiffkey +
    +integer +ordofsptdiffvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::origin_centers

    + +
    +
    + + + + +
    type grib2_all_tables_module::origin_centers
    +
    +
    +

    Definition at line 813 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +origincenterskey +
    +integer +origincentersval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::prod_status

    + +
    +
    + + + + +
    type grib2_all_tables_module::prod_status
    +
    +
    +

    Definition at line 178 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +prodstatuskey +
    +integer +prodstatusval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::sigreftime

    + +
    +
    + + + + +
    type grib2_all_tables_module::sigreftime
    +
    +
    +

    Definition at line 161 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +sigrefkey +
    +integer +sigrefval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::statistical_processing_types

    + +
    +
    + + + + +
    type grib2_all_tables_module::statistical_processing_types
    +
    +
    +

    Definition at line 501 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +statprocesstypeskey +
    +integer +statprocesstypesval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::subcenters

    + +
    +
    + + + + +
    type grib2_all_tables_module::subcenters
    +
    +
    +

    Definition at line 75 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +subcenkey +
    +integer +subcenval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_aerosol

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_aerosol
    +
    +
    +

    Definition at line 611 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofaerosolkey +
    +integer +typeofaerosolval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_cluster

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_cluster
    +
    +
    +

    Definition at line 468 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofclusterkey +
    +integer +typeofclusterval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_compression

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_compression
    +
    +
    +

    Definition at line 781 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofcompressionkey +
    +integer +typeofcompressionvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_data

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_data
    +
    +
    +

    Definition at line 201 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +typeofdatakey +
    +integer +typeofdataval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_derive_fcst

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_derive_fcst
    +
    +
    +

    Definition at line 430 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofderivefcstkey +
    +integer +typeofderivefcstval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_ens_fcst

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_ens_fcst
    +
    +
    +

    Definition at line 414 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +typeofensfcstkey +
    +integer +typeofensfcstval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_gen_proc

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_gen_proc
    +
    +
    +

    Definition at line 222 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +typeofgenprockey +
    +integer +typeofgenprocval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_intervals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_intervals
    +
    +
    +

    Definition at line 564 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofintervalskey +
    +integer +typeofintervalsval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_orig_field_vals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_orig_field_vals
    +
    +
    +

    Definition at line 747 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +integer +typeoforigfieldvals +
    +character(len=50) +typeoforigfieldvalskey +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_packingmethod

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_packingmethod
    +
    +
    +

    Definition at line 793 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=50) +packingmethodkey +
    +integer +packingmethodvals +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_precip

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_precip
    +
    +
    +

    Definition at line 588 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofprecipkey +
    +integer +typeofprecipval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_prob

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_prob
    +
    +
    +

    Definition at line 482 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeofprobkey +
    +integer +typeofprobval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::type_of_time_intervals

    + +
    +
    + + + + +
    type grib2_all_tables_module::type_of_time_intervals
    +
    +
    +

    Definition at line 544 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=80) +typeoftimeintervalskey +
    +integer +typeoftimeintervalsval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::unit_of_time_range

    + +
    +
    + + + + +
    type grib2_all_tables_module::unit_of_time_range
    +
    +
    +

    Definition at line 270 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=30) +unitoftimerangekey +
    +integer +unitoftimerangeval +
    + +
    +
    + +

    ◆ grib2_all_tables_module::version_no

    + +
    +
    + + + + +
    type grib2_all_tables_module::version_no
    +
    +
    +

    Definition at line 104 of file grib2_all_tables_module.f90.

    +
    + + + + + + + +
    Data Fields
    +character(len=20) +verskey +
    +integer +versval +
    + +
    +
    +

    Function/Subroutine Documentation

    + +

    ◆ g2sec0()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec0 (integer idisc,
    integer, dimension(2) listsec0 
    )
    +
    + +

    This subroutine returns the section 0 list for a given discipline value.

    +
    Parameters
    + + + +
    [in]idisc- GRIB2 Discipline (From Table 0.0)
    [out]listsec0- Section 0
      +
    • listsec0(1) - GRIB2 Discipline (From Table 0.0)
    • +
    • listsec0(2) - Edition number - 2 for GRIB2
    • +
    +
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 1680 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ g2sec1()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec1 (character(len=*) origin_key,
    character(len=*) subcen_key,
    character(len=*) vers_key,
    character(len=*) lvers_key,
    character(len=*) sigreftime_key,
    integer refyear_val,
    integer refmon_val,
    integer refday_val,
    integer refhour_val,
    integer refmin_val,
    integer refsec_val,
    character(len=*) prodstatus_key,
    character(len=*) typeofdata_key,
    integer, dimension(13) listsec1 
    )
    +
    + +

    This subroutine returns the section 1 list for given keys.

    +
    Parameters
    + + + + + + + + + + + + + + + +
    [in]origin_key- Identification of originating/generating center (See Table 0 {GRIB1})
    [in]subcen_key- Identification of originating/generating subcenter (See Table C)
    [in]vers_key- GRIB master tables version number (currently 2) (See Table 1.0) (See note 1 below)
    [in]lvers_key- Version number of GRIB local tables used to augment Master Tables (see Table 1.1)
    [in]sigreftime_key- Significance of reference time (See Table 1.2)
    [in]refyear_val- Year (4 digits)
    [in]refmon_val- Month
    [in]refday_val- Day
    [in]refhour_val- Hour
    [in]refmin_val- Minute
    [in]refsec_val- Second
    [in]prodstatus_key- Production Status of Processed data in the GRIB message (See Table 1.3)
    [in]typeofdata_key- Type of processed data in this GRIB message (See Table 1.4)
    [out]listsec1- GRIB2 Section 1 Identification Section values array
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 1706 of file grib2_all_tables_module.f90.

    + +

    References get_g2_loctabversno(), get_g2_on388origincenters(), get_g2_prodstatus(), get_g2_sigreftime(), get_g2_subcenters(), get_g2_typeofdata(), and get_g2_versionno().

    + +
    +
    + +

    ◆ g2sec4_temp0()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec4_temp0 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    integer(4), dimension(15), intent(inout) ipdstmpl0 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.0 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time.

    +
    Parameters
    + + + + + + + + + + + + + + + + +
    [in]icatg- Parameter category (see Code table 4.1)
    [in]iparm- Parameter number (see Code table 4.2)
    [in]typ_gen_proc_key- Type of generating process (see Code table 4.3)
    [in]gen_proc_or_mod_key- Analysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoff- Hours of observational data cutoff after reference time (see Note)
    [in]min_obs_cutoff- Minutes of observational data cutoff after reference time (see Note)
    [in]unit_of_time_key- Indicator of unit of time range (see Code table 4.4)
    [in]fcst_time- Forecast time in units defined by octet 18
    [in]lvl_type1- Type of first fixed surface (see Code table 4.5)
    [in]scale_fac1- Scale factor of first fixed surface
    [in]scaled_val1- Scaled value of first fixed surface
    [in]lvl_type2- Type of second fixed surfaced (see Code table 4.5)
    [in]scale_fac2- Scale factor of second fixed surface
    [in]scaled_val2- Scaled value of second fixed surfaces
    [out]ipdstmpl0- GRIB2 PDS Template 4.0 listing
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 1770 of file grib2_all_tables_module.f90.

    + +

    References get_g2_fixedsurfacetypes(), get_g2_on388genproc(), get_g2_typeofgenproc(), and get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ g2sec4_temp44()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec4_temp44 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) aer_type,
    character(len=*), intent(in) typ_intvl_size,
    integer(4), intent(in) scale_fac1_size,
    real, intent(in) scale_val1_size,
    integer(4), intent(in) scale_fac2_size,
    real, intent(in) scale_val2_size,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    integer(4), dimension(21), intent(inout) ipdstmpl44 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.44 list for given keys PDT 4.44 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol.

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + +
    [in]icatg- Parameter category (see Code table 4.1)
    [in]iparm- Parameter number (see Code table 4.2)
    [in]aer_type- Aetosol type (see Code table 4.233)
    [in]typ_intvl_size- Type of interval for first and second size (see Code table 4.91)
    [in]scale_fac1_size- Scale factor of first size
    [in]scale_val1_size- Scale value of first size in meters
    [in]scale_fac2_size- Scale factor of second size
    [in]scale_val2_size- Scale value of second size in meters
    [in]typ_gen_proc_key- Type of generating process (see Code table 4.3)
    [in]gen_proc_or_mod_key- Analysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoff- Hours of observational data cutoff after reference time (see Note)
    [in]min_obs_cutoff- Minutes of observational data cutoff after reference time (see Note)
    [in]unit_of_time_key- Indicator of unit of time range (see Code table 4.4)
    [in]fcst_time- Forecast time in units defined by octet 18
    [in]lvl_type1- Type of first fixed surface (see Code table 4.5)
    [in]scale_fac1- Scale factor of first fixed surface
    [in]scaled_val1- Scaled value of first fixed surface
    [in]lvl_type2- Type of second fixed surfaced (see Code table 4.5)
    [in]scale_fac2- Scale factor of second fixed surface
    [in]scaled_val2- Scaled value of second fixed surfaces
    [out]ipdstmpl44- GRIB2 PDS Template 4.44 listing
    +
    +
    +
    Author
    J. WANG ORG: NCEP/EMC
    +
    Date
    2012-01-25
    + +

    Definition at line 1989 of file grib2_all_tables_module.f90.

    + +

    References get_g2_fixedsurfacetypes(), get_g2_on388genproc(), get_g2_typeofaerosol(), get_g2_typeofgenproc(), get_g2_typeofintervals(), and get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ g2sec4_temp48()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec4_temp48 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) aer_type,
    character(len=*), intent(in) typ_intvl_size,
    integer(4), intent(in) scale_fac1_size,
    real, intent(in) scale_val1_size,
    integer(4), intent(in) scale_fac2_size,
    real, intent(in) scale_val2_size,
    character(len=*), intent(in) typ_intvl_wavelength,
    integer(4), intent(in) scale_fac1_wavelength,
    real, intent(in) scale_val1_wavelength,
    integer(4), intent(in) scale_fac2_wavelength,
    real, intent(in) scale_val2_wavelength,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    integer(4), dimension(26), intent(inout) ipdstmpl48 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.0 list for given keys PDT 4.48 - Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol.

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    [in]icatg- Parameter category (see Code table 4.1)
    [in]iparm- Parameter number (see Code table 4.2)
    [in]aer_type- Aetosol type (see Code table 4.233)
    [in]typ_intvl_size- Type of interval for first and second size (see Code table 4.91)
    [in]scale_fac1_size- Scale factor of first size
    [in]scale_val1_size- Scale value of first size in meters
    [in]scale_fac2_size- Scale factor of second size
    [in]scale_val2_size- Scale value of second size in meters
    [in]typ_intvl_wavelength- Type of interval for first and second wavelength (see Code table 4.91)
    [in]scale_fac1_wavelength- Scale factor of first wavelength
    [in]scale_val1_wavelength- Scale value of first wavelength in meters
    [in]scale_fac2_wavelength- Scale factor of second wavelength
    [in]scale_val2_wavelength- Scale value of second wavelength in meters
    [in]typ_gen_proc_key- Type of generating process (see Code table 4.3)
    [in]gen_proc_or_mod_key- Analysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoff- Hours of observational data cutoff after reference time (see Note)
    [in]min_obs_cutoff- Minutes of observational data cutoff after reference time (see Note)
    [in]unit_of_time_key- Indicator of unit of time range (see Code table 4.4)
    [in]fcst_time- Forecast time in units defined by octet 18
    [in]lvl_type1- Type of first fixed surface (see Code table 4.5)
    [in]scale_fac1- Scale factor of first fixed surface
    [in]scaled_val1- Scaled value of first fixed surface
    [in]lvl_type2- Type of second fixed surfaced (see Code table 4.5)
    [in]scale_fac2- Scale factor of second fixed surface
    [in]scaled_val2- Scaled value of second fixed surfaces
    [out]ipdstmpl48- GRIB2 PDS Template 4.48 listing
    +
    +
    +
    Author
    J. WANG ORG: NCEP/EMC
    +
    Date
    2012-01-25
    + +

    Definition at line 2085 of file grib2_all_tables_module.f90.

    + +

    References get_g2_fixedsurfacetypes(), get_g2_on388genproc(), get_g2_typeofaerosol(), get_g2_typeofgenproc(), get_g2_typeofintervals(), and get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ g2sec4_temp8()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec4_temp8 (integer(4), intent(in) icatg,
    integer(4), intent(in) iparm,
    character(len=*), intent(in) typ_gen_proc_key,
    character(len=*), intent(in) gen_proc_or_mod_key,
    integer(4), intent(in) hrs_obs_cutoff,
    integer(4), intent(in) min_obs_cutoff,
    character(len=*), intent(in) unit_of_time_key,
    integer(4), intent(in) fcst_time,
    character(len=*), intent(in) lvl_type1,
    integer(4), intent(in) scale_fac1,
    integer(4), intent(in) scaled_val1,
    character(len=*), intent(in) lvl_type2,
    integer(4), intent(in) scale_fac2,
    integer(4), intent(in) scaled_val2,
    integer(4), intent(in) year_intvl,
    integer(4), intent(in) mon_intvl,
    integer(4), intent(in) day_intvl,
    integer(4), intent(in) hour_intvl,
    integer(4), intent(in) min_intvl,
    integer(4), intent(in) sec_intvl,
    integer(4), intent(in) num_time_range,
    integer(4), intent(in) stat_miss_val,
    character(len=*), intent(in) type_of_stat_proc,
    character(len=*), intent(in) type_of_time_inc,
    character(len=*), intent(in) stat_unit_time_key,
    integer(4), intent(in) leng_time_range_stat,
    character(len=*), intent(in) stat_unit_time_key_succ,
    integer(4), intent(in) time_inc_betwn_succ_fld,
    integer(4), dimension(29), intent(inout) ipdstmpl8 
    )
    +
    + +

    This subroutine returns the Grib2 Section 4 Template 4.8 list for given keys PDT 4.8 - Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval.

    +

    PROGRAM HISTORY LOG: 2010-03-01 V. Krishna Kumar 2010-04-20 Jun Wang

    +
    Parameters
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    [in]icatg- Parameter category (see Code Table 4.1)
    [in]iparm- Parameter number (see Code Table 4.2)
    [in]typ_gen_proc_key- Type of generating process (see Code Table 4.3)
    [in]gen_proc_or_mod_key- Analysis or forecast generating process identified (see Code ON388 Table A)
    [in]hrs_obs_cutoff- Hours after reference time data cutoff (see Note 1)
    [in]min_obs_cutoff- Minutes after reference time data cutoff
    [in]unit_of_time_key- Indicator of unit of time range (see Code Table 4.4)
    [in]fcst_time- Forecast time in units defined by octet 18 (see Note 2)
    [in]lvl_type1- Type of first fixed surface (see Code Table 4.5)
    [in]scale_fac1- Scale factor of first fixed surface
    [in]scaled_val1- Scaled value of first fixed surface
    [in]lvl_type2- Type of second fixed surfaced (see Code Table 4.5)
    [in]scale_fac2- Scale factor of second fixed surface
    [in]scaled_val2- Scaled value of second fixed surfaces
    [in]year_intvl- Year Time of end of overall time interval
    [in]mon_intvl- Month Time of end of overall time interval
    [in]day_intvl- Day Time of end of overall time interval
    [in]hour_intvl- Hour Time of end of overall time interval
    [in]min_intvl- Minute Time of end of overall time interval
    [in]sec_intvl- Second Time of end of overall time interval
    [in]num_time_range- n number of time ranges specifications describing the time intervals used to calculate the statistically-processed field
    [in]stat_miss_val- Total number of data values missing in statistical process Specification of the outermost (or only) time range over which statistical processing is done
    [in]type_of_stat_proc- Statistical process used to calculate the processed field from the field at each time increment during the time range (see Code Table 4.10)
    [in]type_of_time_inc- Type of time increment between successive fields used in the statistical processing (see Code Table 4.11)
    [in]stat_unit_time_key- Indicator of unit of time for time range over which statistical processing is done (see Code Table 4.4)
    [in]leng_time_range_stat- Length of the time range over which statistical processing is done, in units defined by the previous octet
    [in]stat_unit_time_key_succ- Indicator of unit of time for the increment between the successive fields used (see Code table 4.4)
    [in]time_inc_betwn_succ_fld- Time increment between successive fields, in units defined by the previous octet (see Notes 3 & 4)
    [out]ipdstmpl8- GRIB2 PDS Template 4.8 listing
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 1872 of file grib2_all_tables_module.f90.

    + +

    References get_g2_fixedsurfacetypes(), get_g2_on388genproc(), get_g2_statprocesstypes(), get_g2_typeofgenproc(), get_g2_typeoftimeintervals(), and get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ g2sec5_temp0()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec5_temp0 (integer(4), intent(in) dec_scale_fac,
    integer(4), intent(in) bin_scale_fac,
    integer(4), intent(in) tlnumbits,
    integer(4), dimension(5), intent(out) ifield5 
    )
    +
    + +

    This subroutine returns the section 5 list array for a given decimal scale factor (D) and type of original field values (Table 5.1) value from GRIB2 - GRID Template 5.0 Grid point data - simple packing.

    +

    PROGRAM HISTORY LOG: 2010-03-01 V. Krishna Kumar 2012-02-21 J. Wang add binary scale factor and number of bits in argument list

    +
    Parameters
    + + + + + +
    [in]dec_scale_fac- Decimal scale factor (E)
    [in]bin_scale_fac- binary scale factor (D)
    [in]tlnumbits- Number of bits used
    [out]ifield5- GRIB2 - GRID Template 5.0 listing
      +
    • ifield5(1): reference value(R) (IEEE 32-bit floating-point value)
    • +
    • ifield5(2): binary scale factor (E)
    • +
    • ifield5(3): decimal scale factor (D)
    • +
    • ifield5(4): number of bits used for each packed value for simple packing or for each group reference value for complex packing or spatial differencing
    • +
    • ifield5(5): type of original field values (See Code Table 5.1)
    • +
    +
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 2233 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ g2sec5_temp2()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec5_temp2 (integer(4), intent(in) dec_scale_fac,
    integer(4), intent(in) bin_scale_fac,
    integer(4), dimension(16), intent(inout) ifield5 
    )
    +
    + +

    This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.2 Grid point data - complex packing.

    +
    Parameters
    + + + + +
    [in]bin_scale_fac- binary scale factor (E)
    [in]dec_scale_fac- Decimal scale factor (D)
    [out]ifield5- GRIB2 - GRID Template 5.2 listing
      +
    • ifield5(1): reference value(R) (IEEE 32-bit floating-point value)
    • +
    • ifield5(2): binary scale factor (E)
    • +
    • ifield5(3): decimal scale factor (D)
    • +
    • ifield5(4): number of bits used for each packed value for simple packing or for each group reference value for complex packing or spatial differencing
    • +
    +
    +
    +
    +
    Author
    J.Wang ORG: W/EMC
    +
    Date
    2012-02-20
    + +

    Definition at line 2262 of file grib2_all_tables_module.f90.

    + +
    +
    + +

    ◆ g2sec5_temp3()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec5_temp3 (integer(4), intent(in) dec_scale_fac,
    integer(4), intent(in) bin_scale_fac,
    character(*), intent(in) order_of_sptdiff,
    integer(4), dimension(18), intent(out) ifield5 
    )
    +
    + +

    This subroutine returns the section 5 list array with a given binary, and decimal scale factor from GRIB2 - GRID Template 5.3 Grid point data - complex packing with spatial difference.

    +
    Parameters
    + + + + + +
    [in]bin_scale_fac- binary scale factor (E)
    [in]dec_scale_fac- Decimal scale factor (D)
    [in]order_of_sptdiff- Order of spatial difference
    [out]ifield5- GRIB2 - GRID Template 5.3 listing
      +
    • ifield5(1): reference value(R) (IEEE 32-bit floating-point value)
    • +
    • ifield5(2): binary scale factor (E)
    • +
    • ifield5(3): decimal scale factor (D)
    • +
    • ifield5(4): number of bits used for each packed value for simple packing or for each group reference value for complex packing or spatial differencing
    • +
    +
    +
    +
    +
    Author
    J.Wang ORG: W/EMC
    +
    Date
    2012-02-20
    + +

    Definition at line 2292 of file grib2_all_tables_module.f90.

    + +

    References get_g2_ordofspcdiffvals().

    + +
    +
    + +

    ◆ g2sec5_temp40()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::g2sec5_temp40 (integer(4), intent(in) dec_scale_fac,
    integer(4), intent(in) bin_scale_fac,
    integer(4), intent(in) tlnumbits,
    character(*), intent(in) type_of_compression,
    integer(4), dimension(7), intent(inout) ifield5 
    )
    +
    + +

    This subroutine returns the section 5 list array for a given decimal scale factor (D),type of original field value (Table 5.40) and type of compression used from GRIB2 - GRID Template 5.40 Grid point data - JPEG 2000 Code Stream Format.

    +

    PROGRAM HISTORY LOG: 2010-03-01 V. Krishna Kumar 2010-04-07 Jun Wang add total number of bits

    +
    Parameters
    + + + + + + +
    [in]dec_scale_fac- Decimal scale factor (D)
    [in]bin_scale_fac- binary scale factor (B)
    [in]tlnumbits- total number of bits
    [in]type_of_compression- Type of original field values (see Code Table 5.40)
    [out]ifield5- GRIB2 - GRID Template 5.40 listing
      +
    • ifield5(1): reference value(R) (IEEE 32-bit floating-point value)
    • +
    • ifield5(2): binary scale factor (E)
    • +
    • ifield5(3): decimal scale factor (D)
    • +
    • ifield5(4): number of bits required to hold the resulting scaled and reference data values (i.e. The depth of the grayscale image.) (see Note 2)
    • +
    • ifield5(5): type of original field values (See Code Table 5.1)
    • +
    • ifield5(6): type of compression used (See Code Table 5.40)
    • +
    • ifield5(7): target compression ration, M:1 (with respect to the bit-depth specified in octet 20), when octet 22 indicates Lossy Compression. Otherwise, set to missing (see Note 3)
    • +
    +
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-01
    + +

    Definition at line 2337 of file grib2_all_tables_module.f90.

    + +

    References get_g2_typeofcompression().

    + +
    +
    + +

    ◆ get_g2_fixedsurfacetypes()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_fixedsurfacetypes (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Fixed Surface Types and Units value for a given short key name based on Table 4.5 of Section 4, Octets 23 and 29.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for fixed surface types from Table 4.5
    [out]value- corresponding GRIB2 value from Table 4.5
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1384 of file grib2_all_tables_module.f90.

    + +

    References maxfixedsurfacetypes, and table4_5.

    + +

    Referenced by g2sec4_temp0(), g2sec4_temp1(), g2sec4_temp11(), g2sec4_temp12(), g2sec4_temp44(), g2sec4_temp48(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_loctabversno()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_loctabversno (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 local table version number for a given short key name based on Table 1.1.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for local table version number
    [out]value- corresponding GRIB2 local table version number value from table 1.1
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1237 of file grib2_all_tables_module.f90.

    + +

    References maxlocver, and table1_1.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_on388genproc()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_on388genproc (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB1 - PDS Ocet6 data value (Generating process or model) from originating center 7 (USNWS NCEP) for a given short key name based on ON388 - Table A.

    +
    Parameters
    + + + + +
    [in]key- GRIB1 character short key for model based on ON388 - Table A
    [out]value- corresponding GRIB1 - PDS Octet 6 value from ON388 - Table A
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1552 of file grib2_all_tables_module.f90.

    + +

    References maxgenproc, and on388_tablea.

    + +

    Referenced by g2sec4_temp0(), g2sec4_temp1(), g2sec4_temp11(), g2sec4_temp12(), g2sec4_temp44(), g2sec4_temp48(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_on388origincenters()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_on388origincenters (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB1 - PDS Ocet5 GRIB2 - Section 1, Octet 6-7 National/International Originating Centers value for a given short key name based on ON388 - Table 0.

    +
    Parameters
    + + + + +
    [in]key- GRIB1 character short key for originating center based on ON388 - Table 0
    [out]value- corresponding GRIB1-PDS Octet 5/GRIB2-Section 1, Octets 6-7 value from ON388 - Table 0
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1527 of file grib2_all_tables_module.f90.

    + +

    References maxorigincenters, and on388_table0.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_ordofspcdiffvals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_ordofspcdiffvals (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Table 5.6 Order of spatial differencing for a given short key name based on GRIB2 - Table 5.6 default is 1st order spatial differencing.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for Order of spatial differencing based on Table 5.6
    [out]value- corresponding GRIB2 - Table 5.6 value
    [out]ierr- error messages
    +
    +
    +
    Author
    J.Wang ORG: NCEP/EMC
    +
    Date
    2012-02-20
    + +

    Definition at line 1602 of file grib2_all_tables_module.f90.

    + +

    References maxordofsptdiff, and table5_6.

    + +

    Referenced by g2sec5_temp3().

    + +
    +
    + +

    ◆ get_g2_prodstatus()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_prodstatus (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 production status of data value for a given short key name based on Table 1.3.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for production status of data
    [out]value- corresponding GRIB2 significant value from table 1.3
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1286 of file grib2_all_tables_module.f90.

    + +

    References maxprodstatus, and table1_3.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_sec5packingmethod()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_sec5packingmethod (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 template number for a given short key name based on GRIB2 -.

    +

    PROGRAM HISTORY LOG: 2009-12-10 V. Krishna Kumar 2010-03-15 Jun Wang : get section5 template number

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for packing method based on Table 5.0
    [out]value- corresponding GRIB2 - Table 5.0 value
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-08
    + +

    Definition at line 1655 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofpackingmethod, and table5_0.

    + +
    +
    + +

    ◆ get_g2_sigreftime()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_sigreftime (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 significant reference time value for a given short key name based on Table 1.2.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for significant reference time
    [out]value- corresponding GRIB2 significant value from table 1.2
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1261 of file grib2_all_tables_module.f90.

    + +

    References maxreftime, and table1_2.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_statprocesstypes()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_statprocesstypes (character(len=*), intent(in) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of statistica processing value for a given short key name based on Table 4.10 of Section 4 Octets 47 (template 8) 60 (temp 9), 48 (temp 10), 50 (temp 11), 49 (temp 12), 81 (temp 13), 77 (temp 14), 27 (temp 1001), 25 (temp 1002) and 39 (temp 1101)

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of statistical processing from Table 4.10
    [out]value- corresponding GRIB2 value from Table 4.10
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1413 of file grib2_all_tables_module.f90.

    + +

    References maxstatprocesstypes, and table4_10.

    + +

    Referenced by g2sec4_temp11(), g2sec4_temp12(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_subcenters()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_subcenters (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 subcenters value for a given short key name based on Table C.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for subcenter
    [out]value- corresponding GRIB2 subcenter value from table c
    [out]ierr- Error return code.
      +
    • 0 = no error
    • +
    • 9 = key not found
    • +
    +
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1189 of file grib2_all_tables_module.f90.

    + +

    References maxsubcen, and tablec.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_typeofaerosol()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofaerosol (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of aerosol value for a given short key name based on Table 4.233 of Section 4 Octets 12-13 (template 44), 12-13 (temp 45), 12-13 (temp 46), 13-14 (temp 47), 12-13 (temp 48)

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of aerosol from Table 4.233
    [out]value- corresponding GRIB2 value from Table 4.233
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-04-03
    + +

    Definition at line 1497 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofaerosol, and table4_233.

    + +

    Referenced by g2sec4_temp44(), and g2sec4_temp48().

    + +
    +
    + +

    ◆ get_g2_typeofcluster()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofcluster (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of clustering method for a given short key name based on Table 4.8.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of clustering method
    [out]value- corresponding GRIB2 type of cluster value from table 4.8
    [out]ierr- error messages
    +
    +
    +
    Author
    Boi Vuong ORG: EMC/EIB
    +
    Date
    2019-07-01
    + +

    Definition at line 2373 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofcluster, and table4_8.

    + +
    +
    + +

    ◆ get_g2_typeofcompression()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofcompression (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Table 5.40 Type of compression for a given short key name based on GRIB2 - Table 5.40.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of compression based on Table 5.40
    [out]value- corresponding GRIB2 - Table 5.40 value
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-08
    + +

    Definition at line 1627 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofcompression, and table5_40.

    + +

    Referenced by g2sec5_temp40().

    + +
    +
    + +

    ◆ get_g2_typeofdata()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofdata (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of data value for a given short key name based on Table 1.4.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for production status of data
    [out]value- corresponding GRIB2 type of data value from table 1.4
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1310 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofdata, and table1_4.

    + +

    Referenced by g2sec1().

    + +
    +
    + +

    ◆ get_g2_typeofderivefcst()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofderivefcst (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of derive forecast value for a given short key name based on Table 4.7.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of derive forecast
    [out]value- corresponding GRIB2 type of derive forecast value from table 4.7
    [out]ierr- error messages
    +
    +
    +
    Author
    Boi Vuong ORG: W/SIB
    +
    Date
    2015-01-09
    + +

    Definition at line 2196 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofderivefcst, and table4_7.

    + +

    Referenced by g2sec4_temp12().

    + +
    +
    + +

    ◆ get_g2_typeofensfcst()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofensfcst (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of ensemble forecast value for a given short key name based on Table 4.6.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of ensemble forecast
    [out]value- corresponding GRIB2 type of ensemble forecast value from table 4.6
    [out]ierr- error messages
    +
    +
    +
    Author
    Boi Vuong ORG: W/SIB
    +
    Date
    2015-01-09
    + +

    Definition at line 2172 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofensfcst, and table4_6.

    + +

    Referenced by g2sec4_temp1(), and g2sec4_temp11().

    + +
    +
    + +

    ◆ get_g2_typeofgenproc()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofgenproc (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of Generating Process value for a given short key name based on Table 4.3 of Section 4, Octet 12.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of generating process from Table 4.3
    [out]value- corresponding GRIB2 value from Table 4.3
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1334 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofgenproc, and table4_3.

    + +

    Referenced by g2sec4_temp0(), g2sec4_temp1(), g2sec4_temp11(), g2sec4_temp12(), g2sec4_temp44(), g2sec4_temp48(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_typeofintervals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofintervals (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of intervals value for a given short key name based on Table 4.91 of Section 4 Octets 14 (template 44) 14 (temp 45), 14 (temp 46), 15 (temp 47),14 and 25 (temp 48)

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of intervals from Table 4.91
    [out]value- corresponding GRIB2 value from Table 4.91
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-04-03
    + +

    Definition at line 1466 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofintvls, and table4_91.

    + +

    Referenced by g2sec4_temp44(), and g2sec4_temp48().

    + +
    +
    + +

    ◆ get_g2_typeoforigfieldvals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeoforigfieldvals (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Table 5.1 Type of Original Field Values for a given short key name based on GRIB2 - Table 5.1.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of original field values based on Table 5.1
    [out]value- corresponding GRIB2 - Table 5.1 value
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-03-08
    + +

    Definition at line 1576 of file grib2_all_tables_module.f90.

    + +

    References maxtypeoforigfieldval, and table5_1.

    + +
    +
    + +

    ◆ get_g2_typeofprecip()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofprecip (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of precipitation for a given short key name based on Table 4.201.

    +
    Parameters
    + + + + +
    [in]keyGRIB2 character short key for type of precipitation
    [out]valuecorresponding GRIB2 type of precipitation value from table 4.201
    [out]ierrerror messages
    +
    +
    +
    Author
    Boi Vuong
    +
    Date
    2019-07-01
    + +

    Definition at line 2421 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofprecip, and table4_201.

    + +
    +
    + +

    ◆ get_g2_typeofprob()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeofprob (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 type of probability for a given short key name based on Table 4.9.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of probability
    [out]value- corresponding GRIB2 type of probability value from table 4.9
    [out]ierr- error messages
    +
    +
    +
    Author
    Boi Vuong ORG: EMC/EIB
    +
    Date
    2019-07-01
    + +

    Definition at line 2397 of file grib2_all_tables_module.f90.

    + +

    References maxtypeofprob, and table4_9.

    + +
    +
    + +

    ◆ get_g2_typeoftimeintervals()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_typeoftimeintervals (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Type of time intervals value for a given short key name based on Table 4.11 of Section 4 Octets 48 (template 8) 61 (temp 9), 49 (temp 10), 51 (temp 11), 50 (temp 12), 82 (temp 13), 78 (tem p 14), 28 (temp 1001), and 40 (temp 1101)

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for type of statistical processing from Table 4.11
    [out]value- corresponding GRIB2 value from Table 4.11
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2010-04-03
    + +

    Definition at line 1441 of file grib2_all_tables_module.f90.

    + +

    References maxtypeoftimeintvls, and table4_11.

    + +

    Referenced by g2sec4_temp11(), g2sec4_temp12(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_unitoftimerange()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_unitoftimerange (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 - Indicator of unit of time range value for a given short key name based on Table 4.4 of Section 4, Octet 18.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for indicator of unit of time range from Table 4.4
    [out]value- corresponding GRIB2 value from Table 4.4
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1358 of file grib2_all_tables_module.f90.

    + +

    References maxunitoftimerange, and table4_4.

    + +

    Referenced by g2sec4_temp0(), g2sec4_temp1(), g2sec4_temp11(), g2sec4_temp12(), g2sec4_temp44(), g2sec4_temp48(), and g2sec4_temp8().

    + +
    +
    + +

    ◆ get_g2_versionno()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    subroutine grib2_all_tables_module::get_g2_versionno (character(len=*) key,
    integer value,
    integer ierr 
    )
    +
    + +

    This subroutine returns the corresponding GRIB2 version number for a given short key name based on Table 1.0.

    +
    Parameters
    + + + + +
    [in]key- GRIB2 character short key for version number
    [out]value- corresponding GRIB2 version number value from table 1.0
    [out]ierr- error messages
    +
    +
    +
    Author
    V. Krishna Kumar ORG: W/NP12
    +
    Date
    2009-12-10
    + +

    Definition at line 1213 of file grib2_all_tables_module.f90.

    + +

    References maxver, and table1_0.

    + +

    Referenced by g2sec1().

    + +
    +
    +

    Variable Documentation

    + +

    ◆ maxfixedsurfacetypes

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxfixedsurfacetypes =200
    +
    + +

    Max fixed surface types.

    + +

    Definition at line 45 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_fixedsurfacetypes().

    + +
    +
    + +

    ◆ maxgenproc

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxgenproc =250
    +
    + +

    maxgenproc

    + +

    Definition at line 49 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_on388genproc().

    + +
    +
    + +

    ◆ maxlocver

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxlocver =20
    +
    + +

    maxlocver

    + +

    Definition at line 31 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_loctabversno().

    + +
    +
    + +

    ◆ maxordofsptdiff

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxordofsptdiff =50
    +
    + +

    maxordofsptdiff

    + +

    Definition at line 73 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_ordofspcdiffvals().

    + +
    +
    + +

    ◆ maxorigincenters

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxorigincenters =500
    +
    + +

    maxorigincenters

    + +

    Definition at line 51 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_on388origincenters().

    + +
    +
    + +

    ◆ maxprodstatus

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxprodstatus =17
    +
    + +

    maxprodstatus

    + +

    Definition at line 35 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_prodstatus().

    + +
    +
    + +

    ◆ maxreftime

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxreftime =15
    +
    + +

    maxreftime

    + +

    Definition at line 33 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_sigreftime().

    + +
    +
    + +

    ◆ maxstatprocesstypes

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxstatprocesstypes =50
    +
    + +

    maxstatprocesstypes

    + +

    Definition at line 59 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_statprocesstypes().

    + +
    +
    + +

    ◆ maxsubcen

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxsubcen =100
    +
    + +

    maxsubcen

    + +

    Definition at line 27 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_subcenters().

    + +
    +
    + +

    ◆ maxtypeofaerosol

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofaerosol =200
    +
    + +

    maxtypeofaerosol

    + +

    Definition at line 69 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofaerosol().

    + +
    +
    + +

    ◆ maxtypeofcluster

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofcluster =100
    +
    + +

    maxtypeofcluster

    + +

    Definition at line 67 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofcluster().

    + +
    +
    + +

    ◆ maxtypeofcompression

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofcompression =50
    +
    + +

    maxtypeofcompression

    + +

    Definition at line 55 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofcompression().

    + +
    +
    + +

    ◆ maxtypeofdata

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofdata =100
    +
    + +

    maxtypeofdata

    + +

    Definition at line 37 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofdata().

    + +
    +
    + +

    ◆ maxtypeofderivefcst

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofderivefcst =100
    +
    + +

    maxtypeofderivefcst

    + +

    Definition at line 43 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofderivefcst().

    + +
    +
    + +

    ◆ maxtypeofensfcst

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofensfcst =100
    +
    + +

    maxtypeofensfcst

    + +

    Definition at line 41 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofensfcst().

    + +
    +
    + +

    ◆ maxtypeofgenproc

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofgenproc =100
    +
    + +

    maxtypeofgenproc

    + +

    Definition at line 39 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofgenproc().

    + +
    +
    + +

    ◆ maxtypeofintvls

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofintvls =50
    +
    + +

    maxtypeofintvls

    + +

    Definition at line 71 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofintervals().

    + +
    +
    + +

    ◆ maxtypeoforigfieldval

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeoforigfieldval =15
    +
    + +

    maxtypeoforigfieldval

    + +

    Definition at line 53 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeoforigfieldvals().

    + +
    +
    + +

    ◆ maxtypeofpackingmethod

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofpackingmethod =50
    +
    + +

    maxtypeofpackingmethod

    + +

    Definition at line 57 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_sec5packingmethod().

    + +
    +
    + +

    ◆ maxtypeofprecip

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofprecip =100
    +
    + +

    maxtypeofprecip

    + +

    Definition at line 65 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofprecip().

    + +
    +
    + +

    ◆ maxtypeofprob

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeofprob =100
    +
    + +

    maxtypeofprob

    + +

    Definition at line 63 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofprob().

    + +
    +
    + +

    ◆ maxtypeoftimeintvls

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxtypeoftimeintvls =50
    +
    + +

    maxtypeoftimeintvls

    + +

    Definition at line 61 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeoftimeintervals().

    + +
    +
    + +

    ◆ maxunitoftimerange

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxunitoftimerange =30
    +
    + +

    maxunitoftimerange

    + +

    Definition at line 47 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ maxver

    + +
    +
    + + + + +
    integer, parameter grib2_all_tables_module::maxver =100
    +
    + +

    maxver

    + +

    Definition at line 29 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_versionno().

    + +
    +
    + +

    ◆ on388_table0

    + +
    +
    + + + + +
    type(origin_centers), dimension(maxorigincenters) grib2_all_tables_module::on388_table0
    +
    + +

    ON388 Table.

    + +

    Definition at line 819 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_on388origincenters().

    + +
    +
    + +

    ◆ on388_tablea

    + +
    +
    + + + + +
    type(gen_proc), dimension(maxgenproc) grib2_all_tables_module::on388_tablea
    +
    + +

    ON 388 Table A.

    + +

    Definition at line 1050 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_on388genproc().

    + +
    +
    + +

    ◆ table1_0

    + +
    +
    + + + + +
    type(version_no), dimension(maxver) grib2_all_tables_module::table1_0
    +
    + +

    Table 1 0.

    + +

    Definition at line 110 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_versionno().

    + +
    +
    + +

    ◆ table1_1

    + +
    +
    + + + + +
    type(local_table_vers_no), dimension(maxlocver) grib2_all_tables_module::table1_1
    +
    + +

    Table 1 1.

    + +

    Definition at line 150 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_loctabversno().

    + +
    +
    + +

    ◆ table1_2

    + +
    +
    + + + + +
    type(sigreftime), dimension(maxreftime) grib2_all_tables_module::table1_2
    +
    + +

    Table 1 2.

    + +

    Definition at line 169 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_sigreftime().

    + +
    +
    + +

    ◆ table1_3

    + +
    +
    + + + + +
    type(prod_status), dimension(maxprodstatus) grib2_all_tables_module::table1_3
    +
    + +

    Table 1 3.

    + +

    Definition at line 186 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_prodstatus().

    + +
    +
    + +

    ◆ table1_4

    + +
    +
    + + + + +
    type(type_of_data), dimension(maxtypeofdata) grib2_all_tables_module::table1_4
    +
    + +

    table1_4

    + +

    Definition at line 207 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofdata().

    + +
    +
    + +

    ◆ table4_10

    + +
    +
    + + + + +
    type(statistical_processing_types), dimension(maxstatprocesstypes) grib2_all_tables_module::table4_10
    +
    + +

    table4_10

    + +

    Definition at line 507 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_statprocesstypes().

    + +
    +
    + +

    ◆ table4_11

    + +
    +
    + + + + +
    type(type_of_time_intervals), dimension(maxtypeoftimeintvls) grib2_all_tables_module::table4_11
    +
    + +

    table4_11

    + +

    Definition at line 550 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeoftimeintervals().

    + +
    +
    + +

    ◆ table4_201

    + +
    +
    + + + + +
    type(type_of_precip), dimension(maxtypeofprecip) grib2_all_tables_module::table4_201
    +
    + +

    table4_201

    + +

    Definition at line 594 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofprecip().

    + +
    +
    + +

    ◆ table4_233

    + +
    +
    + + + + +
    type(type_of_aerosol), dimension(maxtypeofaerosol) grib2_all_tables_module::table4_233
    +
    + +

    table4_233

    + +

    Definition at line 617 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofaerosol().

    + +
    +
    + +

    ◆ table4_3

    + +
    +
    + + + + +
    type(type_of_gen_proc), dimension(maxtypeofgenproc) grib2_all_tables_module::table4_3
    +
    + +

    table4_3

    + +

    Definition at line 231 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofgenproc().

    + +
    +
    + +

    ◆ table4_4

    + +
    +
    + + + + +
    type(unit_of_time_range), dimension(maxunitoftimerange) grib2_all_tables_module::table4_4
    +
    + +

    table4_4

    + +

    Definition at line 276 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_unitoftimerange().

    + +
    +
    + +

    ◆ table4_5

    + +
    +
    + + + + +
    type(fixed_surface_types), dimension(maxfixedsurfacetypes) grib2_all_tables_module::table4_5
    +
    + +

    table4_5

    + +

    Definition at line 299 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_fixedsurfacetypes().

    + +
    +
    + +

    ◆ table4_6

    + +
    +
    + + + + +
    type(type_of_ens_fcst), dimension(maxtypeofensfcst) grib2_all_tables_module::table4_6
    +
    + +

    table4_6

    + +

    Definition at line 420 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofensfcst().

    + +
    +
    + +

    ◆ table4_7

    + +
    +
    + + + + +
    type(type_of_derive_fcst), dimension(maxtypeofderivefcst) grib2_all_tables_module::table4_7
    +
    + +

    table4_7

    + +

    Definition at line 436 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofderivefcst().

    + +
    +
    + +

    ◆ table4_8

    + +
    +
    + + + + +
    type(type_of_cluster), dimension(maxtypeofcluster) grib2_all_tables_module::table4_8
    +
    + +

    table4_8

    + +

    Definition at line 474 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofcluster().

    + +
    +
    + +

    ◆ table4_9

    + +
    +
    + + + + +
    type(type_of_prob), dimension(maxtypeofprob) grib2_all_tables_module::table4_9
    +
    + +

    table4_9

    + +

    Definition at line 488 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofprob().

    + +
    +
    + +

    ◆ table4_91

    + +
    +
    + + + + +
    type(type_of_intervals), dimension(maxtypeofintvls) grib2_all_tables_module::table4_91
    +
    + +

    table4_91

    + +

    Definition at line 570 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofintervals().

    + +
    +
    + +

    ◆ table5_0

    + +
    +
    + + + + +
    type(type_of_packingmethod), dimension(maxtypeofpackingmethod) grib2_all_tables_module::table5_0
    +
    + +

    table5_0

    + +

    Definition at line 799 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_sec5packingmethod().

    + +
    +
    + +

    ◆ table5_1

    + +
    +
    + + + + +
    type(type_of_orig_field_vals), dimension(maxtypeoforigfieldval) grib2_all_tables_module::table5_1
    +
    + +

    table5_1

    + +

    Definition at line 753 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeoforigfieldvals().

    + +
    +
    + +

    ◆ table5_40

    + +
    +
    + + + + +
    type(type_of_compression), dimension(maxtypeofcompression) grib2_all_tables_module::table5_40
    +
    + +

    table5_40

    + +

    Definition at line 787 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_typeofcompression().

    + +
    +
    + +

    ◆ table5_6

    + +
    +
    + + + + +
    type(order_of_sptdiff_vals), dimension(maxordofsptdiff) grib2_all_tables_module::table5_6
    +
    + +

    table5_6

    + +

    Definition at line 775 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_ordofspcdiffvals().

    + +
    +
    + +

    ◆ tablec

    + +
    +
    + + + + +
    type(subcenters), dimension(maxsubcen) grib2_all_tables_module::tablec
    +
    + +

    tablec

    + +

    Definition at line 81 of file grib2_all_tables_module.f90.

    + +

    Referenced by get_g2_subcenters().

    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module.js new file mode 100644 index 0000000..570a4d6 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module.js @@ -0,0 +1,109 @@ +var namespacegrib2__all__tables__module = +[ + [ "fixed_surface_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1fixed__surface__types", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup" ], + [ "gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1gen__proc", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup" ], + [ "local_table_vers_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1local__table__vers__no", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup" ], + [ "order_of_sptdiff_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1order__of__sptdiff__vals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup" ], + [ "origin_centers", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1origin__centers", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup" ], + [ "prod_status", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1prod__status", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup" ], + [ "sigreftime", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1sigreftime", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup" ], + [ "statistical_processing_types", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1statistical__processing__types", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup" ], + [ "subcenters", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1subcenters", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup" ], + [ "type_of_aerosol", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__aerosol", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup" ], + [ "type_of_cluster", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__cluster", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup" ], + [ "type_of_compression", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__compression", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup" ], + [ "type_of_data", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__data", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup" ], + [ "type_of_derive_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__derive__fcst", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup" ], + [ "type_of_ens_fcst", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__ens__fcst", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup" ], + [ "type_of_gen_proc", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__gen__proc", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup" ], + [ "type_of_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__intervals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup" ], + [ "type_of_orig_field_vals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__orig__field__vals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup" ], + [ "type_of_packingmethod", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__packingmethod", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup" ], + [ "type_of_precip", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__precip", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup" ], + [ "type_of_prob", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__prob", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup" ], + [ "type_of_time_intervals", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1type__of__time__intervals", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup" ], + [ "unit_of_time_range", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1unit__of__time__range", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup" ], + [ "version_no", "namespacegrib2__all__tables__module.html#structgrib2__all__tables__module_1_1version__no", "namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup" ], + [ "g2sec0", "namespacegrib2__all__tables__module.html#a95104687814c91720bf13d9c736adc53", null ], + [ "g2sec1", "namespacegrib2__all__tables__module.html#a0b34a4a08b7ee738b5059ed7d82873aa", null ], + [ "g2sec4_temp0", "namespacegrib2__all__tables__module.html#a9ed56310c55ea4bd91b46dae062ff315", null ], + [ "g2sec4_temp44", "namespacegrib2__all__tables__module.html#a9b4376b4abe34c007f575b8e544d3ba0", null ], + [ "g2sec4_temp48", "namespacegrib2__all__tables__module.html#a7e3b1ffda5f0a1234a39425a26d81b1d", null ], + [ "g2sec4_temp8", "namespacegrib2__all__tables__module.html#ad54b7e506841ab1d50bf89b39334430b", null ], + [ "g2sec5_temp0", "namespacegrib2__all__tables__module.html#ac71701de1f47f704dbdfb648fac19530", null ], + [ "g2sec5_temp2", "namespacegrib2__all__tables__module.html#abb9391b2ef03d619ffbb1eca9b55c664", null ], + [ "g2sec5_temp3", "namespacegrib2__all__tables__module.html#a02a58228da00cef6e052ac936b748263", null ], + [ "g2sec5_temp40", "namespacegrib2__all__tables__module.html#ac39a4db701fd56e63b2285713514fa76", null ], + [ "get_g2_fixedsurfacetypes", "namespacegrib2__all__tables__module.html#a3280b3edfc4db22a8c373662eca30b09", null ], + [ "get_g2_loctabversno", "namespacegrib2__all__tables__module.html#afcf3af13d5b9fa044b59da7ce51fab05", null ], + [ "get_g2_on388genproc", "namespacegrib2__all__tables__module.html#a01337aa68ede1097c736270824bffaba", null ], + [ "get_g2_on388origincenters", "namespacegrib2__all__tables__module.html#afcfd6b66a7eb88a71aee08ba63dfceba", null ], + [ "get_g2_ordofspcdiffvals", "namespacegrib2__all__tables__module.html#a306f773232def462c9dcc84b7612b739", null ], + [ "get_g2_prodstatus", "namespacegrib2__all__tables__module.html#ad34c2c50271cf55e57323fa82f12e79d", null ], + [ "get_g2_sec5packingmethod", "namespacegrib2__all__tables__module.html#af03e78d303af639b0311e96be2bc37d2", null ], + [ "get_g2_sigreftime", "namespacegrib2__all__tables__module.html#a1646f06c31a03be74a992a1de60469cf", null ], + [ "get_g2_statprocesstypes", "namespacegrib2__all__tables__module.html#a5184d4968a27f1a349608befd735533b", null ], + [ "get_g2_subcenters", "namespacegrib2__all__tables__module.html#a10947b2b8e872e5090def0a3f4e1e805", null ], + [ "get_g2_typeofaerosol", "namespacegrib2__all__tables__module.html#ad6f79e466077e8b6de6b501796c5f337", null ], + [ "get_g2_typeofcluster", "namespacegrib2__all__tables__module.html#a6dba348a5bddc07edf405d704d3bc7eb", null ], + [ "get_g2_typeofcompression", "namespacegrib2__all__tables__module.html#a7e4a12abeae82a4605cb60e68af24607", null ], + [ "get_g2_typeofdata", "namespacegrib2__all__tables__module.html#a4158dad47c775d41196cde17ee5ac293", null ], + [ "get_g2_typeofderivefcst", "namespacegrib2__all__tables__module.html#a290de96fd327fec7812b0d6e67cbcdf0", null ], + [ "get_g2_typeofensfcst", "namespacegrib2__all__tables__module.html#ae99e018c07efce0a8e50c56bf14da061", null ], + [ "get_g2_typeofgenproc", "namespacegrib2__all__tables__module.html#a0c2824e1961b2089872d885b98662e18", null ], + [ "get_g2_typeofintervals", "namespacegrib2__all__tables__module.html#a88838d93235dbb3dc82f45f2edcae606", null ], + [ "get_g2_typeoforigfieldvals", "namespacegrib2__all__tables__module.html#a43aafb243c395268f5cb8df0d743a9c3", null ], + [ "get_g2_typeofprecip", "namespacegrib2__all__tables__module.html#ace5972d1da91bd26615fc8257bdcaf99", null ], + [ "get_g2_typeofprob", "namespacegrib2__all__tables__module.html#aff9b7991a49d567d87672efcbd400cbf", null ], + [ "get_g2_typeoftimeintervals", "namespacegrib2__all__tables__module.html#a0d31ea8d64a7ad96a63f0899b82873c2", null ], + [ "get_g2_unitoftimerange", "namespacegrib2__all__tables__module.html#a93e13a2e958855047bb2132d35cd514d", null ], + [ "get_g2_versionno", "namespacegrib2__all__tables__module.html#ac6c81587f672224e2521124253a1293f", null ], + [ "maxfixedsurfacetypes", "namespacegrib2__all__tables__module.html#a4ab70056e9bf310f7d5d2b2d45e5c4b2", null ], + [ "maxgenproc", "namespacegrib2__all__tables__module.html#ab5cda0077cff603a0fcd20caa2e6c390", null ], + [ "maxlocver", "namespacegrib2__all__tables__module.html#a9fee5632dc49831859167989a8ca4ce6", null ], + [ "maxordofsptdiff", "namespacegrib2__all__tables__module.html#a9abd2f78e88f78133c56835d5191b841", null ], + [ "maxorigincenters", "namespacegrib2__all__tables__module.html#a9b2c442c46296e136cc9719ad36cb659", null ], + [ "maxprodstatus", "namespacegrib2__all__tables__module.html#a864bb3fdc242e97a3d65e6c5aaea7ce7", null ], + [ "maxreftime", "namespacegrib2__all__tables__module.html#a281fe6da658210d003986df44df08e88", null ], + [ "maxstatprocesstypes", "namespacegrib2__all__tables__module.html#ab3f23e6ff1eda90ec0d91c47b17bd918", null ], + [ "maxsubcen", "namespacegrib2__all__tables__module.html#a99c672fa099fee4e3094866899b3f8a7", null ], + [ "maxtypeofaerosol", "namespacegrib2__all__tables__module.html#aa77c7e55b75e808ebdceaa9e96d4fbe1", null ], + [ "maxtypeofcluster", "namespacegrib2__all__tables__module.html#acd11ade3f4e066846232c3b710735f8b", null ], + [ "maxtypeofcompression", "namespacegrib2__all__tables__module.html#a8780fc8d2318ee55f40964c55fb091dd", null ], + [ "maxtypeofdata", "namespacegrib2__all__tables__module.html#a81ccb544acc1d5538c77266dd34bc164", null ], + [ "maxtypeofderivefcst", "namespacegrib2__all__tables__module.html#a6f56515e50913f3536de65b61e43380d", null ], + [ "maxtypeofensfcst", "namespacegrib2__all__tables__module.html#afb0d64858b6ad99180444d4e8acb8242", null ], + [ "maxtypeofgenproc", "namespacegrib2__all__tables__module.html#ade3feb65c9d876ccdb9ef9eb3fe6fe8c", null ], + [ "maxtypeofintvls", "namespacegrib2__all__tables__module.html#aca61468245a26920e49aa4737c49f5fc", null ], + [ "maxtypeoforigfieldval", "namespacegrib2__all__tables__module.html#ac2e82e3ac9340c791f0f5a857e014e42", null ], + [ "maxtypeofpackingmethod", "namespacegrib2__all__tables__module.html#a6333d3f9dd9e8c051adb8d6ed31ba725", null ], + [ "maxtypeofprecip", "namespacegrib2__all__tables__module.html#a35628986ad32176299922fc7368409fa", null ], + [ "maxtypeofprob", "namespacegrib2__all__tables__module.html#aee1aa2e215b18e9cb55dcb20d31d9e86", null ], + [ "maxtypeoftimeintvls", "namespacegrib2__all__tables__module.html#a42f4964f39d1196a57c4394a271cc997", null ], + [ "maxunitoftimerange", "namespacegrib2__all__tables__module.html#adf11dd0546c0c874f193397496fe5191", null ], + [ "maxver", "namespacegrib2__all__tables__module.html#a7e3b3e88230076d60f152bd30ec7d3de", null ], + [ "on388_table0", "namespacegrib2__all__tables__module.html#ae3fa05187c1c3555612c74fb2beac9f7", null ], + [ "on388_tablea", "namespacegrib2__all__tables__module.html#a95e75d17a9843e5eadc41d60fb3f641a", null ], + [ "table1_0", "namespacegrib2__all__tables__module.html#ab8b7e39ae67d6ab3b4777541f78b245b", null ], + [ "table1_1", "namespacegrib2__all__tables__module.html#a48024af6b6986da2cd96d71c07519d68", null ], + [ "table1_2", "namespacegrib2__all__tables__module.html#ac2c1862104e1028e45499d196db293b2", null ], + [ "table1_3", "namespacegrib2__all__tables__module.html#a0772a2b23a8acc63d2f50379fef133ab", null ], + [ "table1_4", "namespacegrib2__all__tables__module.html#a77815af9e185c6dfa687acf0f5a3d8be", null ], + [ "table4_10", "namespacegrib2__all__tables__module.html#aff2b3835d1dc9289cbc743538f7e32d1", null ], + [ "table4_11", "namespacegrib2__all__tables__module.html#a1a9865342aa9362d62bd51e4fe03ea98", null ], + [ "table4_201", "namespacegrib2__all__tables__module.html#a4d8c0ab7d90e16ba1e7ba2fafb7e645d", null ], + [ "table4_233", "namespacegrib2__all__tables__module.html#a2dcfacd3fd77925c376c552399c30c14", null ], + [ "table4_3", "namespacegrib2__all__tables__module.html#a0c7692a08f88aa0e8d01a17bf029c702", null ], + [ "table4_4", "namespacegrib2__all__tables__module.html#acb8905414d65ea7198680280422781cf", null ], + [ "table4_5", "namespacegrib2__all__tables__module.html#aca9caa7edc2eb9c536751beb619ec7b2", null ], + [ "table4_6", "namespacegrib2__all__tables__module.html#a892a919ce9a9004401956189bda9228f", null ], + [ "table4_7", "namespacegrib2__all__tables__module.html#a3bc05af06028e90565b0403da1f27dd5", null ], + [ "table4_8", "namespacegrib2__all__tables__module.html#adc67dae3300336b4054a18a28dd387c4", null ], + [ "table4_9", "namespacegrib2__all__tables__module.html#a43fd72d4b1c07b3c945d2d950d1b3b7f", null ], + [ "table4_91", "namespacegrib2__all__tables__module.html#a914b8271dbe73018f9b45831a2f56c60", null ], + [ "table5_0", "namespacegrib2__all__tables__module.html#a63cbd073a2f47ffd034eb0fa92539228", null ], + [ "table5_1", "namespacegrib2__all__tables__module.html#a544179854d04ab2039cfb2bd5c42320a", null ], + [ "table5_40", "namespacegrib2__all__tables__module.html#a4390b46591268745d08b7250aaa62eeb", null ], + [ "table5_6", "namespacegrib2__all__tables__module.html#a0be606501cd5ef071762d41582162167", null ], + [ "tablec", "namespacegrib2__all__tables__module.html#a112a173dcef23d668ff230c27ec9b727", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup.js new file mode 100644 index 0000000..34081ff --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1fixed__surface__types_dup = +[ + [ "fixedsurfacetypeskey", "namespacegrib2__all__tables__module.html#ad710af69496d31e208df4283b6a27e05", null ], + [ "fixedsurfacetypesval", "namespacegrib2__all__tables__module.html#a3dfe0a772f741883bfd2942328b6d1ba", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup.js new file mode 100644 index 0000000..a91f13e --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1gen__proc_dup = +[ + [ "genprockey", "namespacegrib2__all__tables__module.html#a3a73bdbc23082a5b51ba3acfc151e02c", null ], + [ "genprocval", "namespacegrib2__all__tables__module.html#a3d070ceb2bc9a4d6259530b5bd19125c", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup.js new file mode 100644 index 0000000..0c002e6 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1local__table__vers__no_dup = +[ + [ "locverskey", "namespacegrib2__all__tables__module.html#ac7c23d737c399a0cf91d825a1b7105b8", null ], + [ "locversval", "namespacegrib2__all__tables__module.html#ac506ecea79c0712525cd55624312608f", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup.js new file mode 100644 index 0000000..b72f391 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1order__of__sptdiff__vals_dup = +[ + [ "ordofsptdiffkey", "namespacegrib2__all__tables__module.html#a78d47b642803810f7b2b5ac417fb2c9b", null ], + [ "ordofsptdiffvals", "namespacegrib2__all__tables__module.html#a06c126f5c8d8ea181d2eea821a71fb82", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup.js new file mode 100644 index 0000000..4b12a85 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1origin__centers_dup = +[ + [ "origincenterskey", "namespacegrib2__all__tables__module.html#a00d0956429433167cd5a4d8059aaa318", null ], + [ "origincentersval", "namespacegrib2__all__tables__module.html#a6c167e9d1022898279d1d204864bb54d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup.js new file mode 100644 index 0000000..c8e8a65 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1prod__status_dup = +[ + [ "prodstatuskey", "namespacegrib2__all__tables__module.html#a25925706e0342beb4ba710d771ab2294", null ], + [ "prodstatusval", "namespacegrib2__all__tables__module.html#a1df3f9ef5a208b20ea9ab252a398175d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup.js new file mode 100644 index 0000000..646a66d --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1sigreftime_dup = +[ + [ "sigrefkey", "namespacegrib2__all__tables__module.html#a978b3234ee9d1e27a2cf083382f46d4a", null ], + [ "sigrefval", "namespacegrib2__all__tables__module.html#abb0bb5391268f2aa80fb79216b9d8827", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup.js new file mode 100644 index 0000000..bdd68da --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1statistical__processing__types_dup = +[ + [ "statprocesstypeskey", "namespacegrib2__all__tables__module.html#aa9f8b5b5907a2322595894f92733247f", null ], + [ "statprocesstypesval", "namespacegrib2__all__tables__module.html#a20bf6288447d78ca2ef0a0c5ca5df8cc", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup.js new file mode 100644 index 0000000..009f83c --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1subcenters_dup = +[ + [ "subcenkey", "namespacegrib2__all__tables__module.html#a2cacdc6be0e495d9378296d1d5f21a15", null ], + [ "subcenval", "namespacegrib2__all__tables__module.html#a19efcbaf2e1ebcefee1969d11f9a8990", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup.js new file mode 100644 index 0000000..bba9bd5 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__aerosol_dup = +[ + [ "typeofaerosolkey", "namespacegrib2__all__tables__module.html#ad3896ae7bfc83dcde44e70548726f694", null ], + [ "typeofaerosolval", "namespacegrib2__all__tables__module.html#a9bb1ed3dc6a0880401622cf460d55214", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup.js new file mode 100644 index 0000000..8d01226 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__cluster_dup = +[ + [ "typeofclusterkey", "namespacegrib2__all__tables__module.html#a1ca1b35d9f9f80c5a3f4855794db4371", null ], + [ "typeofclusterval", "namespacegrib2__all__tables__module.html#a9ae8362d72a21dd4f116aa833429dfb6", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup.js new file mode 100644 index 0000000..4fb330b --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__compression_dup = +[ + [ "typeofcompressionkey", "namespacegrib2__all__tables__module.html#a73e670f34fbe1a59529789d39255df5f", null ], + [ "typeofcompressionvals", "namespacegrib2__all__tables__module.html#a01947ff38f313317c8299020181315fc", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup.js new file mode 100644 index 0000000..25a0f5e --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__data_dup = +[ + [ "typeofdatakey", "namespacegrib2__all__tables__module.html#a66bf5082b9e8058b2863d509d9be2297", null ], + [ "typeofdataval", "namespacegrib2__all__tables__module.html#ae5b23da94d631fbc8b006961cc5262e4", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup.js new file mode 100644 index 0000000..0a8984c --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__derive__fcst_dup = +[ + [ "typeofderivefcstkey", "namespacegrib2__all__tables__module.html#a2a276ca0ad6e6bf47b494657d1fe3d2c", null ], + [ "typeofderivefcstval", "namespacegrib2__all__tables__module.html#ab480a49178459432f35f0f5c5a7ebd4e", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup.js new file mode 100644 index 0000000..f71423a --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__ens__fcst_dup = +[ + [ "typeofensfcstkey", "namespacegrib2__all__tables__module.html#a408b0918d51d8dea762dde9ab37cc1c9", null ], + [ "typeofensfcstval", "namespacegrib2__all__tables__module.html#a523fc226b781bcf6b80961ccca349e79", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup.js new file mode 100644 index 0000000..8916ce2 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__gen__proc_dup = +[ + [ "typeofgenprockey", "namespacegrib2__all__tables__module.html#a94e82be712915069148bc00d8ca3b646", null ], + [ "typeofgenprocval", "namespacegrib2__all__tables__module.html#a1aa6dead3825ded6ed93b9e269caf3c9", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup.js new file mode 100644 index 0000000..026f560 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__intervals_dup = +[ + [ "typeofintervalskey", "namespacegrib2__all__tables__module.html#a83f4372604c38fdc56c3cc950364cbe2", null ], + [ "typeofintervalsval", "namespacegrib2__all__tables__module.html#af781c237b5d61e74ed9901849f3c565d", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup.js new file mode 100644 index 0000000..937053c --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__orig__field__vals_dup = +[ + [ "typeoforigfieldvals", "namespacegrib2__all__tables__module.html#acb1dd209125ed2a334be404bdd239bb6", null ], + [ "typeoforigfieldvalskey", "namespacegrib2__all__tables__module.html#a0805ab7195cd723307d4197aad8032df", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup.js new file mode 100644 index 0000000..9bb3c0b --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__packingmethod_dup = +[ + [ "packingmethodkey", "namespacegrib2__all__tables__module.html#a663a07a67e3052442d2944c9e5008c0f", null ], + [ "packingmethodvals", "namespacegrib2__all__tables__module.html#a7cf9958f54f8fad74e6b56b40d5caa2b", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup.js new file mode 100644 index 0000000..19ac4ba --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__precip_dup = +[ + [ "typeofprecipkey", "namespacegrib2__all__tables__module.html#a9b582733daace6acf28f20d678b070f8", null ], + [ "typeofprecipval", "namespacegrib2__all__tables__module.html#ae32f626dc9f61b8267a300488b98a962", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup.js new file mode 100644 index 0000000..82c7a5b --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__prob_dup = +[ + [ "typeofprobkey", "namespacegrib2__all__tables__module.html#abac97f1f82ae5a970952b67ef91cf769", null ], + [ "typeofprobval", "namespacegrib2__all__tables__module.html#ad0293a4ec8a85bb78d2d9e63dd4b896b", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup.js new file mode 100644 index 0000000..e0e2d03 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1type__of__time__intervals_dup = +[ + [ "typeoftimeintervalskey", "namespacegrib2__all__tables__module.html#a8a69798df6e5601b382f0c4952d28951", null ], + [ "typeoftimeintervalsval", "namespacegrib2__all__tables__module.html#a53621317f419ca9f751ddbaee1168545", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup.js new file mode 100644 index 0000000..45c6fe3 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1unit__of__time__range_dup = +[ + [ "unitoftimerangekey", "namespacegrib2__all__tables__module.html#a3a3f9f8404aff3174c10ac5470981cad", null ], + [ "unitoftimerangeval", "namespacegrib2__all__tables__module.html#a5add1f53a19d6b6f3a25cb380ce20315", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup.js b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup.js new file mode 100644 index 0000000..9ecfc06 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup.js @@ -0,0 +1,5 @@ +var namespacegrib2__all__tables__module_structgrib2__all__tables__module_1_1version__no_dup = +[ + [ "verskey", "namespacegrib2__all__tables__module.html#a93f459d9f88846a7ac83589ea0ab3e93", null ], + [ "versval", "namespacegrib2__all__tables__module.html#a41211f41aa524654c1defce9a94c5a70", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/namespacemembers.html b/ver-1.10.0/ver-1.10.0/namespacemembers.html new file mode 100644 index 0000000..c6f64af --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacemembers.html @@ -0,0 +1,356 @@ + + + + + + + +NCEPLIBS-g2tmpl: Module Members + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Here is a list of all documented module members with links to the modules they belong to:
    + +

    - g -

    + + +

    - m -

    + + +

    - o -

    + + +

    - t -

    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/namespacemembers_func.html b/ver-1.10.0/ver-1.10.0/namespacemembers_func.html new file mode 100644 index 0000000..b7ee2e2 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacemembers_func.html @@ -0,0 +1,200 @@ + + + + + + + +NCEPLIBS-g2tmpl: Module Members + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - g -

    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/namespacemembers_vars.html b/ver-1.10.0/ver-1.10.0/namespacemembers_vars.html new file mode 100644 index 0000000..930f2d6 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespacemembers_vars.html @@ -0,0 +1,250 @@ + + + + + + + +NCEPLIBS-g2tmpl: Module Members + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - m -

    + + +

    - o -

    + + +

    - t -

    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/namespaces.html b/ver-1.10.0/ver-1.10.0/namespaces.html new file mode 100644 index 0000000..82584b0 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespaces.html @@ -0,0 +1,127 @@ + + + + + + + +NCEPLIBS-g2tmpl: Modules List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Modules List
    +
    +
    +
    Here is a list of all documented modules with brief descriptions:
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/namespaces_dup.js b/ver-1.10.0/ver-1.10.0/namespaces_dup.js new file mode 100644 index 0000000..f3690e5 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/namespaces_dup.js @@ -0,0 +1,4 @@ +var namespaces_dup = +[ + [ "grib2_all_tables_module", "namespacegrib2__all__tables__module.html", "namespacegrib2__all__tables__module" ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/nav_f.png b/ver-1.10.0/ver-1.10.0/nav_f.png new file mode 100644 index 0000000..72a58a5 Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/nav_f.png differ diff --git a/ver-1.10.0/ver-1.10.0/nav_g.png b/ver-1.10.0/ver-1.10.0/nav_g.png new file mode 100644 index 0000000..2093a23 Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/nav_g.png differ diff --git a/ver-1.10.0/ver-1.10.0/nav_h.png b/ver-1.10.0/ver-1.10.0/nav_h.png new file mode 100644 index 0000000..33389b1 Binary files /dev/null and b/ver-1.10.0/ver-1.10.0/nav_h.png differ diff --git a/ver-1.10.0/ver-1.10.0/navtree.css b/ver-1.10.0/ver-1.10.0/navtree.css new file mode 100644 index 0000000..33341a6 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/navtree.css @@ -0,0 +1,146 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 250px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:url("splitbar.png"); + background-size:100%; + background-repeat:repeat-y; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/ver-1.10.0/ver-1.10.0/navtree.js b/ver-1.10.0/ver-1.10.0/navtree.js new file mode 100644 index 0000000..1e272d3 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/navtree.js @@ -0,0 +1,546 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +var navTreeSubIndices = new Array(); +var arrowDown = '▼'; +var arrowRight = '►'; + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +var loadTriggered = false; +var readyTriggered = false; +var loadObject,loadToRoot,loadUrl,loadRelPath; + +$(window).on('load',function(){ + if (readyTriggered) { // ready first + navTo(loadObject,loadToRoot,loadUrl,loadRelPath); + showRoot(); + } + loadTriggered=true; +}); + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + if (loadTriggered) { // load before ready + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + } else { // ready before load + loadObject = o; + loadToRoot = toroot; + loadUrl = hashUrl(); + loadRelPath = relpath; + readyTriggered=true; + } + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ + + + + + + +NCEPLIBS-g2tmpl: process_4dot2.c File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    process_4dot2.c File Reference
    +
    +
    + +

    4dot2 +More...

    +
    #include <stdio.h>
    +#include <stdlib.h>
    +#include <string.h>
    +#include <ctype.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + +

    +Macros

    #define MXFNLEN   120
     Max fn length. More...
     
    #define MXFNLEN   120
     Max fn length. More...
     
    #define MXG2MNEM   16
     Define the maximum length of a mnemonic in GRIB2 Code Table 4.2. More...
     
    #define MXG2MNEMP4   ( MXG2MNEM + 4)
     Define the maximum length of a mnemonic in GRIB2 Code Table 4.2. More...
     
    #define NUMALLOC   2500
     Allocate internal memory for table entries in chunks of 25000. More...
     
    + + + + +

    +Typedefs

    typedef int f77int
     On certain operating systems, the FORTRAN compiler appends an underscore to subprogram names in its object namespace. More...
     
    + + + + + + + + + + + + + + + + +

    +Functions

    void close_4dot2 (f77int *iret)
     This subroutine should be called one time at the end of the application program in order to free all allocated memory. More...
     
    int compar (const struct TableEntry *pte1, const struct TableEntry *pte2)
     Define the internal comparison function for use with qsort and bsearch. More...
     
    void open_and_read_4dot2 (char *filename, f77int *iret)
     Opens and reads the GRIB2 Code Table 4.2 into an internal memory structure. More...
     
    void search_for_4dot2_entry (char nemo[MXG2MNEM], f77int *locflg, f77int *disc, f77int *catg, f77int *parm, f77int *iret)
     Searches for a specified mnemonic within the previously-opened GRIB2 Code Table 4.2 and returns the corresponding product discipline, parameter category and parameter number. More...
     
    void sort_and_write_4dot2 (char *filename, f77int *iret)
     Sorts the contents of GRIB2 Code Table 4.2 within the internal memory structure and writes the output to the file specified by filename. More...
     
    + + + + + + + +

    +Variables

    size_t nentry = 0
     Number of entries. More...
     
    struct TableEntry * pe0 = NULL
     Table entry. More...
     
    +

    Detailed Description

    +

    4dot2

    +
    Author
    Jeff Ator
    +
    Date
    Feb 2010
    + +

    Definition in file process_4dot2.c.

    +

    Macro Definition Documentation

    + +

    ◆ MXFNLEN [1/2]

    + +
    +
    + + + + +
    #define MXFNLEN   120
    +
    + +

    Max fn length.

    + +

    Definition at line 23 of file process_4dot2.c.

    + +
    +
    + +

    ◆ MXFNLEN [2/2]

    + +
    +
    + + + + +
    #define MXFNLEN   120
    +
    + +

    Max fn length.

    + +

    Definition at line 23 of file process_4dot2.c.

    + +
    +
    + +

    ◆ MXG2MNEM

    + +
    +
    + + + + +
    #define MXG2MNEM   16
    +
    + +

    Define the maximum length of a mnemonic in GRIB2 Code Table 4.2.

    + +

    Definition at line 13 of file process_4dot2.c.

    + +
    +
    + +

    ◆ MXG2MNEMP4

    + +
    +
    + + + + +
    #define MXG2MNEMP4   ( MXG2MNEM + 4)
    +
    + +

    Define the maximum length of a mnemonic in GRIB2 Code Table 4.2.

    + +

    Definition at line 17 of file process_4dot2.c.

    + +
    +
    + +

    ◆ NUMALLOC

    + +
    +
    + + + + +
    #define NUMALLOC   2500
    +
    + +

    Allocate internal memory for table entries in chunks of 25000.

    + +

    Definition at line 20 of file process_4dot2.c.

    + +
    +
    +

    Typedef Documentation

    + +

    ◆ f77int

    + +
    +
    + + + + +
    typedef int f77int
    +
    + +

    On certain operating systems, the FORTRAN compiler appends an underscore to subprogram names in its object namespace.

    +

    Therefore, on such systems, a matching underscore must be appended to any C language references to the same subprogram names so that the linker can correctly resolve such references across the C <-> FORTRAN interface at link time. In order to ensure that the C <-> FORTRAN interface works properly (and portably!), the default size of an "INTEGER" declared in FORTRAN must be identical to that of an "int" declared in C. If this is not the case (e.g. some FORTRAN compilers, most notably AIX via the -qintsize= option, allow the sizes of INTEGERs to be definitively prescribed outside of the source code itself!), then the following conditional directive (or a variant of it) can be used to ensure that the size of an "int" in C remains identical to that of an "INTEGER" in FORTRAN.

    + +

    Definition at line 50 of file process_4dot2.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ close_4dot2()

    + +
    +
    + + + + + + + + +
    void close_4dot2 (f77intiret)
    +
    + +

    This subroutine should be called one time at the end of the application program in order to free all allocated memory.

    +
    Parameters
    + + +
    iretReturn code: 0 = normal return.
    +
    +
    + +

    Definition at line 342 of file process_4dot2.c.

    + +

    References pe0.

    + +
    +
    + +

    ◆ compar()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int compar (const struct TableEntry * pte1,
    const struct TableEntry * pte2 
    )
    +
    + +

    Define the internal comparison function for use with qsort and bsearch.

    +
    Parameters
    + + + +
    pte1TableEntry1
    pte2TableEntry2
    +
    +
    +
    Returns
    0 if they are the same.
    + +

    Definition at line 84 of file process_4dot2.c.

    + +

    Referenced by search_for_4dot2_entry(), and sort_and_write_4dot2().

    + +
    +
    + +

    ◆ open_and_read_4dot2()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void open_and_read_4dot2 (char * filename,
    f77intiret 
    )
    +
    + +

    Opens and reads the GRIB2 Code Table 4.2 into an internal memory structure.

    +

    In order for the search_for_4dot2_entry() function to be used, the table must be in sorted order with respect to the mnemonic and according to the criteria of the compar() function. If this has not already been done, it can be done by calling the sort_and_write_4dot2() function prior to calling the search_for_4dot2_entry() function.

    +
    Parameters
    + + + +
    filenameLocation of table file on filesystem; directory prefixes or other local filesystem notation is allowed up to 120 total characters.
    iretReturn code:
      +
    • 0 normal return
    • +
    • -1 input filename was more than 120 characters
    • +
    • -2 table file could not be opened
    • +
    • -3 memory allocation error
    • +
    +
    +
    +
    + +

    Definition at line 113 of file process_4dot2.c.

    + +

    References MXFNLEN, nentry, NUMALLOC, and pe0.

    + +

    Referenced by sort_params_grib2_tbl().

    + +
    +
    + +

    ◆ search_for_4dot2_entry()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void search_for_4dot2_entry (char nemo[MXG2MNEM],
    f77intlocflg,
    f77intdisc,
    f77intcatg,
    f77intparm,
    f77intiret 
    )
    +
    + +

    Searches for a specified mnemonic within the previously-opened GRIB2 Code Table 4.2 and returns the corresponding product discipline, parameter category and parameter number.

    +

    A binary search algorithm is used.

    +

    In order for this function to be used, the table must already be in sorted order with respect to the mnemonic and according to the criteria of the compar() function. If this has not already been done, it can be done by calling the sort_and_write_4dot2() function prior to calling this function.

    +
    Parameters
    + + + + + + + +
    nemoMnemonic (of up to 16 characters in length) to search for within table.
    locflgVersion of mnemonic to be returned, in case of duplication within table:
      +
    • 0 international version (default)
      +
    • +
    • 1 local version
      +
    • +
    +
    discProduct discipline
    +
    catgParameter category
    +
    parmParameter number
    +
    iretReturn code:
    +
      +
    • 0 normal return
      +
    • +
    • -1 nemo not found within table for specified locflg version
      +
    • +
    +
    +
    +
    + +

    Definition at line 284 of file process_4dot2.c.

    + +

    References compar(), MXG2MNEM, nentry, and pe0.

    + +
    +
    + +

    ◆ sort_and_write_4dot2()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void sort_and_write_4dot2 (char * filename,
    f77intiret 
    )
    +
    + +

    Sorts the contents of GRIB2 Code Table 4.2 within the internal memory structure and writes the output to the file specified by filename.

    +

    The output file will be in a format suitable for subsequent reading via the open_and_read_4dot2() function, so that this function does not need to be called again prior to calling search_for_4dot2_entry().

    +
    Parameters
    + + + +
    filenameFilename to which to write the sorted output. Directory prefixes or other local filesystem notation is allowed up to 120 total characters.
    iretReturn code:
      +
    • 0 normal return
    • +
    • -1 filename was more than 120 characters
    • +
    • -2 filename could not be opened
    • +
    +
    +
    +
    + +

    Definition at line 199 of file process_4dot2.c.

    + +

    References compar(), MXFNLEN, MXG2MNEMP4, nentry, and pe0.

    + +

    Referenced by sort_params_grib2_tbl().

    + +
    +
    +

    Variable Documentation

    + +

    ◆ nentry

    + +
    +
    + + + + +
    size_t nentry = 0
    +
    + +

    Number of entries.

    + +

    Definition at line 65 of file process_4dot2.c.

    + +

    Referenced by open_and_read_4dot2(), search_for_4dot2_entry(), and sort_and_write_4dot2().

    + +
    +
    + +

    ◆ pe0

    + +
    +
    + + + + +
    struct TableEntry* pe0 = NULL
    +
    + +

    Table entry.

    + +

    Definition at line 62 of file process_4dot2.c.

    + +

    Referenced by close_4dot2(), open_and_read_4dot2(), search_for_4dot2_entry(), and sort_and_write_4dot2().

    + +
    +
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/process__4dot2_8c.js b/ver-1.10.0/ver-1.10.0/process__4dot2_8c.js new file mode 100644 index 0000000..293c455 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/process__4dot2_8c.js @@ -0,0 +1,16 @@ +var process__4dot2_8c = +[ + [ "MXFNLEN", "process__4dot2_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692", null ], + [ "MXFNLEN", "process__4dot2_8c.html#adcb9ca74c59f88b5a3d6bd10c8095692", null ], + [ "MXG2MNEM", "process__4dot2_8c.html#a8b1a673bb7455ba2eee49d8fb521f3a9", null ], + [ "MXG2MNEMP4", "process__4dot2_8c.html#afc878039e3b684ccbee0b09d3728d9eb", null ], + [ "NUMALLOC", "process__4dot2_8c.html#a761b93a9b0cea663191152eb12d55ccb", null ], + [ "f77int", "process__4dot2_8c.html#a5c4dfc0f91864103ff0e0e94eb361822", null ], + [ "close_4dot2", "process__4dot2_8c.html#afe7898eb18503a1c68d07703f40ced75", null ], + [ "compar", "process__4dot2_8c.html#a8c7a1f1e806a2ba338de65da418431c8", null ], + [ "open_and_read_4dot2", "process__4dot2_8c.html#add8c6eeb0488ac4f8151dd33d13101eb", null ], + [ "search_for_4dot2_entry", "process__4dot2_8c.html#a36793a517e6e09e3ec17fbec5f1e3a98", null ], + [ "sort_and_write_4dot2", "process__4dot2_8c.html#ae7dec29e33a953e88c870eba778d1492", null ], + [ "nentry", "process__4dot2_8c.html#a79c2b98a28219018e41885beb0c784f7", null ], + [ "pe0", "process__4dot2_8c.html#a297eeddc898582329f52e49d4b30700e", null ] +]; \ No newline at end of file diff --git a/ver-1.10.0/ver-1.10.0/process__4dot2_8c_source.html b/ver-1.10.0/ver-1.10.0/process__4dot2_8c_source.html new file mode 100644 index 0000000..8c17622 --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/process__4dot2_8c_source.html @@ -0,0 +1,355 @@ + + + + + + + +NCEPLIBS-g2tmpl: process_4dot2.c Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    NCEPLIBS-g2tmpl +  1.10.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    process_4dot2.c
    +
    +
    +Go to the documentation of this file.
    1 
    +
    6 #include <stdio.h>
    +
    7 #include <stdlib.h>
    +
    8 #include <string.h>
    +
    9 #include <ctype.h>
    +
    10 
    +
    13 #define MXG2MNEM 16
    +
    14 
    +
    17 #define MXG2MNEMP4 ( MXG2MNEM + 4)
    +
    18 
    +
    20 #define NUMALLOC 2500
    +
    21 
    +
    23 #define MXFNLEN 120
    +
    24 
    +
    31 #ifdef UNDERSCORE
    +
    32 #define open_and_read_4dot2 open_and_read_4dot2_
    +
    33 #define sort_and_write_4dot2 sort_and_write_4dot2_
    +
    34 #define search_for_4dot2_entry search_for_4dot2_entry_
    +
    35 #define close_4dot2 close_4dot2_
    +
    36 #endif
    +
    37 
    +
    47 #ifdef F77_INTSIZE_8
    +
    48 typedef long f77int;
    +
    49 #else
    +
    50 typedef int f77int;
    +
    51 #endif
    +
    52 
    +
    54 struct TableEntry {
    +
    55  char mnemonic[MXG2MNEMP4];
    +
    56  int discipline;
    +
    57  int category;
    +
    58  int parameter;
    +
    59 };
    +
    60 
    +
    62 struct TableEntry *pe0 = NULL;
    +
    63 
    +
    65 size_t nentry = 0;
    +
    66 
    +
    67 /* Prototypes. */
    +
    68 void open_and_read_4dot2(char *, f77int *);
    +
    69 void sort_and_write_4dot2(char *, f77int *);
    +
    70 /* void search_for_4dot2_entry(char *, f77int *, f77int *, f77int *, f77int *, f77int *); */
    +
    71 int compar(const struct TableEntry *, const struct TableEntry *);
    +
    72 void close_4dot2(f77int *);
    +
    73 
    +
    83 int
    +
    84 compar(const struct TableEntry *pte1, const struct TableEntry *pte2)
    +
    85 {
    +
    86  return strcmp(pte1->mnemonic, pte2->mnemonic);
    +
    87 }
    +
    88 
    +
    89 /*
    +
    90 ** Define the remaining subprograms which will be called by user applications.
    +
    91 */
    +
    92 
    +
    112 void
    +
    113 open_and_read_4dot2(char *filename, f77int *iret)
    +
    114 {
    +
    115 
    +
    116  struct TableEntry *pra;
    +
    117 
    +
    118  char lfn[MXFNLEN+1], str[81], cflag, cub = '_';
    +
    119 
    +
    120  size_t i;
    +
    121 
    +
    122  FILE *pfn;
    +
    123 
    +
    124 /*
    +
    125 ** Copy the input filename into a local variable and check it for validity.
    +
    126 ** This is especially important in case the filename was passed in as a
    +
    127 ** string literal by the calling program or else doesn't have a trailing
    +
    128 ** NULL character.
    +
    129 */
    +
    130  for (i = 0; (! isspace(filename[i]) && ! iscntrl(filename[i])); i++) {
    +
    131  if (i == MXFNLEN) {
    +
    132  *iret = (f77int) -1;
    +
    133  return;
    +
    134  }
    +
    135  lfn[i] = filename[i];
    +
    136  }
    +
    137  lfn[i] = '\0';
    +
    138 
    +
    139 /*
    +
    140 ** Open the file.
    +
    141 */
    +
    142  if ((pfn = fopen(lfn, "r")) == NULL) {
    +
    143  *iret = (f77int) -2;
    +
    144  printf("Can't open input file %s\n",lfn);
    +
    145  return;
    +
    146  }
    +
    147 
    +
    148 /*
    +
    149 ** Read the file contents into an internal memory structure. Memory will be
    +
    150 ** allocated as needed for NUMALLOC entries at a time.
    +
    151 */
    +
    152  while (fgets(str, 80, pfn) != NULL) {
    +
    153  if (str[0] != '!') { /* ignore comment lines */
    +
    154  if ((nentry % NUMALLOC) == 0) {
    +
    155 /*
    +
    156 ** Allocate additional memory.
    +
    157 */
    +
    158  pra = realloc(pe0, (NUMALLOC * sizeof(struct TableEntry)));
    +
    159  if (pra == NULL) {
    +
    160  *iret = (f77int) -3;
    +
    161  return;
    +
    162  }
    +
    163  pe0 = pra;
    +
    164  }
    +
    165  sscanf(str, "%d%d%d%*3c%c%*c%s",
    +
    166  &pe0[nentry].discipline, &pe0[nentry].category,
    +
    167  &pe0[nentry].parameter, &cflag,
    +
    168  pe0[nentry].mnemonic);
    +
    169  strncat(pe0[nentry].mnemonic, &cub, 1);
    +
    170  strncat(pe0[nentry].mnemonic, &cflag, 1);
    +
    171  nentry++;
    +
    172  }
    +
    173  }
    +
    174 
    +
    175 /*
    +
    176 ** Close the file.
    +
    177 */
    +
    178  fclose (pfn);
    +
    179 
    +
    180  *iret = (f77int) 0;
    +
    181 }
    +
    182 
    +
    198 void
    +
    199 sort_and_write_4dot2(char *filename, f77int *iret)
    +
    200 {
    +
    201 #define MXFNLEN 120
    +
    202 
    +
    203  char lfn[MXFNLEN+1], str[MXG2MNEMP4], cflag;
    +
    204 
    +
    205  size_t i;
    +
    206 
    +
    207  FILE *pfn;
    +
    208 
    +
    209 /*
    +
    210 ** Copy the filename into a local variable and check it for validity.
    +
    211 ** This is especially important in case the filename was passed in as a
    +
    212 ** string literal by the calling program or else doesn't have a trailing
    +
    213 ** NULL character.
    +
    214 */
    +
    215  for (i = 0; (! isspace(filename[i]) && ! iscntrl(filename[i])); i++) {
    +
    216  if (i == MXFNLEN) {
    +
    217  *iret = (f77int) -1;
    +
    218  return;
    +
    219  }
    +
    220  lfn[i] = filename[i];
    +
    221  }
    +
    222  lfn[i] = '\0';
    +
    223 
    +
    224 /*
    +
    225 ** Open the output file.
    +
    226 */
    +
    227  if ((pfn = fopen(lfn, "w")) == NULL) {
    +
    228  *iret = (f77int) -2;
    +
    229  printf("Can't open output file %s\n",lfn);
    +
    230  return;
    +
    231  }
    +
    232 
    +
    233 /*
    +
    234 ** Sort the entries within the internal memory structure.
    +
    235 */
    +
    236  qsort(pe0, nentry, sizeof(struct TableEntry),
    +
    237  (int (*) (const void *, const void *)) compar);
    +
    238 
    +
    239 /*
    +
    240 ** Write the sorted entries to the output file.
    +
    241 */
    +
    242  for (i = 0; i < nentry; i++) {
    +
    243  strcpy(str, pe0[i].mnemonic);
    +
    244  cflag = str[strlen(str)-1];
    +
    245  str[strlen(str)-2] = '\0';
    +
    246  fprintf(pfn, "%4d%4d%6d %c %s\n",
    +
    247  pe0[i].discipline, pe0[i].category,
    +
    248  pe0[i].parameter, cflag, str);
    +
    249  }
    +
    250 /*
    +
    251 ** Close the file.
    +
    252 */
    +
    253  fclose (pfn);
    +
    254 
    +
    255  *iret = (f77int) 0;
    +
    256 }
    +
    257 
    +
    283 void
    + +
    285  f77int *disc, f77int *catg, f77int *parm,
    +
    286  f77int *iret)
    +
    287 {
    +
    288  unsigned short n = 0, n2 = 0;
    +
    289 
    +
    290  long llf;
    +
    291 
    +
    292  struct TableEntry key, *pbs;
    +
    293 
    +
    294  size_t ipt;
    +
    295 
    +
    296 /*
    +
    297 ** Make a local copy of nemo. Mnemonics may consist of any combination of
    +
    298 ** alphanumeric, underscore and dash characters.
    +
    299 */
    +
    300  while ( (n < MXG2MNEM) &&
    +
    301  ((isalnum((int) nemo[n]) ||
    +
    302  (nemo[n] == '_') || (nemo[n] == '-'))) ) {
    +
    303  key.mnemonic[n2++] = nemo[n++];
    +
    304  }
    +
    305 
    +
    306 /*
    +
    307 ** Append an underscore followed by the locflg in order to generate the
    +
    308 ** mnemonic to search for.
    +
    309 */
    +
    310  key.mnemonic[n2++] = '_';
    +
    311  llf = (long) *locflg;
    +
    312  if (llf != 1) llf = 0; /* default to using international entry unless
    +
    313  local is specified */
    +
    314  sprintf(&key.mnemonic[n2], "%ld", llf); /* trailing null will be automatically
    +
    315  appended by sprintf */
    +
    316 
    +
    317 /*
    +
    318 ** Search for the mnemonic in the Code Table and return appropriate output values.
    +
    319 */
    +
    320  pbs = bsearch(&key, pe0, nentry, sizeof(struct TableEntry),
    +
    321  (int (*) (const void *, const void *)) compar);
    +
    322  if (pbs == NULL) {
    +
    323  *iret = (f77int) -1;
    +
    324  }
    +
    325  else {
    +
    326  *iret = (f77int) 0;
    +
    327  ipt = pbs - pe0;
    +
    328  *disc = (f77int) pe0[ipt].discipline;
    +
    329  *catg = (f77int) pe0[ipt].category;
    +
    330  *parm = (f77int) pe0[ipt].parameter;
    +
    331  }
    +
    332 
    +
    333 }
    +
    334 
    +
    341 void
    + +
    343 {
    +
    344  free (pe0);
    +
    345  *iret = (f77int) 0;
    +
    346 }
    +
    struct TableEntry * pe0
    Table entry.
    Definition: process_4dot2.c:62
    +
    void search_for_4dot2_entry(char nemo[MXG2MNEM], f77int *locflg, f77int *disc, f77int *catg, f77int *parm, f77int *iret)
    Searches for a specified mnemonic within the previously-opened GRIB2 Code Table 4....
    +
    int f77int
    On certain operating systems, the FORTRAN compiler appends an underscore to subprogram names in its o...
    Definition: process_4dot2.c:50
    +
    #define NUMALLOC
    Allocate internal memory for table entries in chunks of 25000.
    Definition: process_4dot2.c:20
    +
    size_t nentry
    Number of entries.
    Definition: process_4dot2.c:65
    +
    #define MXG2MNEM
    Define the maximum length of a mnemonic in GRIB2 Code Table 4.2.
    Definition: process_4dot2.c:13
    +
    int compar(const struct TableEntry *, const struct TableEntry *)
    Define the internal comparison function for use with qsort and bsearch.
    Definition: process_4dot2.c:84
    +
    #define MXFNLEN
    Max fn length.
    Definition: process_4dot2.c:23
    +
    void open_and_read_4dot2(char *, f77int *)
    Opens and reads the GRIB2 Code Table 4.2 into an internal memory structure.
    +
    void sort_and_write_4dot2(char *, f77int *)
    Sorts the contents of GRIB2 Code Table 4.2 within the internal memory structure and writes the output...
    +
    #define MXG2MNEMP4
    Define the maximum length of a mnemonic in GRIB2 Code Table 4.2.
    Definition: process_4dot2.c:17
    +
    void close_4dot2(f77int *)
    This subroutine should be called one time at the end of the application program in order to free all ...
    +
    +
    + + + + diff --git a/ver-1.10.0/ver-1.10.0/resize.js b/ver-1.10.0/ver-1.10.0/resize.js new file mode 100644 index 0000000..e1ad0fe --- /dev/null +++ b/ver-1.10.0/ver-1.10.0/resize.js @@ -0,0 +1,140 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).on('load',resizeHeight); +} +/* @license-end */