78 character(len=20) :: subcenkey
109 character(len=20) :: verskey
149 character(len=20) :: locverskey
150 integer :: locversval
166 character(len=20) :: sigrefkey
183 character(len=20) :: prodstatuskey
184 integer :: prodstatusval
206 character(len=20) :: typeofdatakey
207 integer :: typeofdataval
227 character(len=30) :: typeofgenprockey
228 integer :: typeofgenprocval
275 character(len=30) :: unitoftimerangekey
276 integer :: unitoftimerangeval
298 character(len=80) :: fixedsurfacetypeskey
299 integer :: fixedsurfacetypesval
419 character(len=50) :: typeofensfcstkey
420 integer :: typeofensfcstval
435 character(len=50) :: typeofderivefcstkey
436 integer :: typeofderivefcstval
473 character(len=80) :: typeofclusterkey
474 integer :: typeofclusterval
487 character(len=80) :: typeofprobkey
488 integer :: typeofprobval
506 character(len=80) :: statprocesstypeskey
507 integer :: statprocesstypesval
549 character(len=80) :: typeoftimeintervalskey
550 integer :: typeoftimeintervalsval
569 character(len=80) :: typeofintervalskey
570 integer :: typeofintervalsval
593 character(len=80) :: typeofprecipkey
594 integer :: typeofprecipval
616 character(len=80) :: typeofaerosolkey
617 integer :: typeofaerosolval
754 character(len=50) :: typeoforigfieldvalskey
755 integer :: typeoforigfieldvals
776 character(len=50) :: ordofsptdiffkey
777 integer :: ordofsptdiffvals
788 character(len=50) :: typeofcompressionkey
789 integer :: typeofcompressionvals
800 character(len=50) :: packingmethodkey
801 integer :: packingmethodvals
820 character(len=50) :: origincenterskey
821 integer :: origincentersval
1051 character(len=30) :: genprockey
1052 integer :: genprocval
1206 character(len=*) :: key
1207 integer ::
value, n, ierr
1210 if (trim(
tablec(n)%subcenkey).eq.trim(key))
then
1211 value=
tablec(n)%subcenval
1215 print *,
'get_g2_subcenters key: ', key, &
1216 ' not found in ON-388 table C'
1230 character(len=*) :: key
1231 integer ::
value, n, ierr
1234 if (trim(
table1_0(n)%verskey).eq.trim(key))
then
1239 print *,
'get_g2_versionno key: ', key, &
1240 ' not found in table 1.0'
1254 character(len=*) :: key
1255 integer ::
value, n, ierr
1258 if (trim(
table1_1(n)%locverskey).eq.trim(key))
then
1263 print *,
'get_g2_loctabversno key: ', key, &
1264 ' not found in table 1.1'
1279 character(len=*) :: key
1280 integer ::
value, n, ierr
1283 if (trim(
table1_2(n)%sigrefkey).eq.trim(key))
then
1288 print *,
'get_g2_sigreftime key: ', key, &
1289 ' not found in table 1.2'
1303 character(len=*) :: key
1304 integer ::
value, n, ierr
1307 if (trim(
table1_3(n)%prodstatuskey).eq.trim(key))
then
1312 print *,
'get_g2_prodstatus key: ', key, &
1313 ' not found in table 1.3'
1327 character(len=*) :: key
1328 integer ::
value, n, ierr
1331 if (trim(
table1_4(n)%typeofdatakey).eq.trim(key))
then
1336 print *,
'get_g2_typeofdata key: ', key, &
1337 ' not found in table 1.4'
1351 character(len=*) :: key
1352 integer ::
value, n, ierr
1355 if (trim(
table4_3(n)%typeofgenprockey).eq.trim(key))
then
1360 print *,
'get_g2_typeofgenproc key}: ', key, &
1361 ' not found in table 4.3'
1375 character(len=*) :: key
1376 integer ::
value, n, ierr
1379 if (trim(
table4_4(n)%unitoftimerangekey).eq.trim(key))
then
1380 value=
table4_4(n)%unitoftimerangeval
1386 print *,
'get_g2_unitoftimerange key: ', key, &
1387 ' not found in table 4.4'
1401 character(len=*) :: key
1402 integer ::
value, n, ierr
1406 if (trim(
table4_5(n)%fixedsurfacetypeskey).eq.trim(key))
then
1407 value=
table4_5(n)%fixedsurfacetypesval
1412 value=
table4_5(66)%fixedsurfacetypesval
1413 print *,
'get_g2_fixedsurfacetypes key: ', trim(key),
value, &
1414 ' not found in table 4.5'
1431 character(len=*),
intent(in) :: key
1433 integer ::
value, ierr
1437 if (trim(
table4_10(n)%statprocesstypeskey).eq.key)
then
1442 print *,
'get_g2_statprocesstypes key: ', key, &
1443 ' not found in table 4.10'
1459 character(len=*) :: key
1460 integer ::
value, n, ierr
1463 if (trim(
table4_11(n)%typeoftimeintervalskey).eq.key)
then
1464 value=
table4_11(n)%typeoftimeintervalsval
1468 print *,
'get_g2_typeoftimeintervals key: ', key, &
1469 ' not found in table 4.11'
1484 character(len=*) :: key
1485 integer ::
value, n, ierr
1488 if (trim(
table4_91(n)%typeofintervalskey).eq.trim(key))
then
1494 if(trim(key).eq.
'')
then
1498 print *,
'get_g2_typeofintervals key: ', key, &
1499 ' not found in table 4.91'
1515 character(len=*) :: key
1516 integer ::
value, n, ierr
1519 if (trim(
table4_233(n)%typeofaerosolkey).eq.trim(key))
then
1525 if (trim(key).eq.
'')
then
1529 print *,
'get_g2_typeofaerosol key: ', key, &
1530 ' not found in table 4.233'
1545 character(len=*) :: key
1546 integer ::
value, n, ierr
1549 if (trim(
on388_table0(n)%origincenterskey).eq.trim(key))
then
1554 print *,
'get_g2_on388origincenters key: ', key, &
1555 ' not found in ON-388 - table 0'
1570 character(len=*) :: key
1571 integer ::
value, n, ierr
1574 if (trim(
on388_tablea(n)%genprockey).eq.trim(key))
then
1579 print *,
'get_g2_on388genproc key: ', key, &
1580 ' not found in ON-388 - table A'
1594 character(len=*) :: key
1595 integer ::
value, n, ierr
1598 if (trim(
table5_1(n)%typeoforigfieldvalskey).eq.trim(key))
then
1599 value=
table5_1(n)%typeoforigfieldvals
1604 print *,
'get_g2_typeoforigfieldvals key: ', key, &
1605 ' not found in table 5.1'
1620 character(len=*) :: key
1621 integer ::
value, n, ierr
1624 if (trim(
table5_6(n)%ordofsptdiffkey).eq.trim(key))
then
1629 print *,
'get_g2_ordofsptdiffvals key: ', key, &
1630 ' not found in table 5.6'
1645 character(len=*) :: key
1646 integer ::
value, n, ierr
1649 if (trim(
table5_40(n)%typeofcompressionkey).eq.trim(key))
then
1650 value=
table5_40(n)%typeofcompressionvals
1654 print *,
'get_g2_typeofcompression key: ', key, &
1655 ' not found in table 5.40'
1673 character(len=*) :: key
1674 integer ::
value, n, ierr
1677 if (trim(
table5_0(n)%packingmethodkey).eq.trim(key))
then
1678 value=
table5_0(n)%packingmethodvals
1682 print *,
'get_g2_sec5packingmethod key: ', key, &
1683 ' not found in table 5.0'
1699 integer :: listsec0(2)
1723 subroutine g2sec1(origin_key, subcen_key, vers_key, lvers_key, sigreftime_key, refyear_val, &
1724 refmon_val, refday_val, refhour_val, refmin_val, refsec_val, prodstatus_key, &
1725 typeofdata_key, listsec1)
1727 integer :: listsec1(13)
1728 integer :: refyear_val, refmon_val, refday_val, refhour_val, refmin_val, refsec_val
1729 character(len=*) :: origin_key, subcen_key, vers_key, lvers_key, &
1730 sigreftime_key, prodstatus_key, typeofdata_key
1732 integer(4) ::
value, ierr
1751 listsec1(6) = refyear_val
1752 listsec1(7) = refmon_val
1753 listsec1(8) = refday_val
1754 listsec1(9) = refhour_val
1755 listsec1(10) = refmin_val
1756 listsec1(11) = refsec_val
1759 listsec1(12) =
value
1762 listsec1(13) =
value
1788 gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, &
1789 unit_of_time_key, fcst_time, lvl_type1, scale_fac1, &
1790 scaled_val1, lvl_type2, scale_fac2, scaled_val2, &
1792 integer(4),
intent(in) :: icatg, iparm, hrs_obs_cutoff, min_obs_cutoff, &
1793 fcst_time, scale_fac1, scaled_val1, scale_fac2, scaled_val2
1796 character(len=*),
intent(in) :: typ_gen_proc_key, gen_proc_or_mod_key, &
1797 unit_of_time_key, lvl_type1, lvl_type2
1799 integer(4),
intent(inout) :: ipdstmpl0(15)
1802 integer(4) ::
value, ierr
1803 integer(4) :: bckgnd_gen_proc_id
1805 bckgnd_gen_proc_id=0
1807 ipdstmpl0(1) = icatg
1808 ipdstmpl0(2) = iparm
1811 ipdstmpl0(3) =
value
1813 ipdstmpl0(4) = bckgnd_gen_proc_id
1816 ipdstmpl0(5) =
value
1818 ipdstmpl0(6) = hrs_obs_cutoff
1819 ipdstmpl0(7) = min_obs_cutoff
1822 ipdstmpl0(8) =
value
1823 ipdstmpl0(9) = fcst_time
1826 ipdstmpl0(10) =
value
1827 ipdstmpl0(11) = scale_fac1
1828 ipdstmpl0(12) = scaled_val1
1831 ipdstmpl0(13) =
value
1833 ipdstmpl0(14) = scale_fac2
1834 ipdstmpl0(15) = scaled_val2
1889 subroutine g2sec4_temp8(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, &
1890 hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, &
1891 fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, &
1892 scale_fac2, scaled_val2, year_intvl, &
1893 mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, &
1894 num_time_range, stat_miss_val, type_of_stat_proc, &
1895 type_of_time_inc, stat_unit_time_key, &
1896 leng_time_range_stat, stat_unit_time_key_succ, &
1897 time_inc_betwn_succ_fld, ipdstmpl8)
1899 integer(4),
intent(in) :: icatg, iparm, hrs_obs_cutoff, min_obs_cutoff, fcst_time, &
1900 scale_fac1, scaled_val1, scale_fac2, scaled_val2
1901 integer(4),
intent(in) :: year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, &
1902 sec_intvl, num_time_range, stat_miss_val, &
1903 leng_time_range_stat, time_inc_betwn_succ_fld
1905 character(len=*),
intent(in) :: typ_gen_proc_key, gen_proc_or_mod_key, &
1906 unit_of_time_key, lvl_type1, lvl_type2, &
1907 type_of_stat_proc, type_of_time_inc, &
1908 stat_unit_time_key, stat_unit_time_key_succ
1910 integer(4) :: bckgnd_gen_proc_id
1912 integer(4),
intent(inout) :: ipdstmpl8(29)
1916 integer(4) ::
value, ierr
1918 bckgnd_gen_proc_id=0
1920 ipdstmpl8(1) = icatg
1921 ipdstmpl8(2) = iparm
1924 ipdstmpl8(3) =
value
1926 ipdstmpl8(4) = bckgnd_gen_proc_id
1929 ipdstmpl8(5) =
value
1931 ipdstmpl8(6) = hrs_obs_cutoff
1932 ipdstmpl8(7) = min_obs_cutoff
1935 ipdstmpl8(8) =
value
1936 ipdstmpl8(9) = fcst_time
1939 ipdstmpl8(10) =
value
1940 ipdstmpl8(11) = scale_fac1
1941 ipdstmpl8(12) = scaled_val1
1944 ipdstmpl8(13) =
value
1946 ipdstmpl8(14) = scale_fac2
1947 ipdstmpl8(15) = scaled_val2
1948 ipdstmpl8(16) = year_intvl
1949 ipdstmpl8(17) = mon_intvl
1950 ipdstmpl8(18) = day_intvl
1951 ipdstmpl8(19) = hour_intvl
1952 ipdstmpl8(20) = min_intvl
1953 ipdstmpl8(21) = sec_intvl
1955 ipdstmpl8(22) = num_time_range
1956 ipdstmpl8(23) = stat_miss_val
1959 ipdstmpl8(24) =
value
1962 ipdstmpl8(25) =
value
1967 ipdstmpl8(26) =
value
1969 ipdstmpl8(27) = leng_time_range_stat
1973 ipdstmpl8(28) =
value
1975 ipdstmpl8(29) = time_inc_betwn_succ_fld
2030 subroutine g2sec4_temp9(icatg, iparm, typ_gen_proc_key, gen_proc_or_mod_key, &
2031 hrs_obs_cutoff, min_obs_cutoff, unit_of_time_key, &
2032 fcst_time, lvl_type1, scale_fac1, scaled_val1, lvl_type2, &
2033 scale_fac2, scaled_val2, prob_num, tot_num_prob, type_of_prob, &
2034 scale_fac_lower_limit, scale_val_lower_limit, &
2035 scale_fac_upper_limit, scale_val_upper_limit, year_intvl, &
2036 mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, &
2037 num_time_range, stat_miss_val, type_of_stat_proc, &
2038 type_of_time_inc, stat_unit_time_key, &
2039 leng_time_range_stat, stat_unit_time_key_succ, &
2040 time_inc_betwn_succ_fld, ipdstmpl9)
2042 integer(4),
intent(in) :: icatg, iparm, hrs_obs_cutoff, min_obs_cutoff, fcst_time, &
2043 scale_fac1, scaled_val1, scale_fac2, scaled_val2, prob_num, tot_num_prob, &
2044 scale_fac_lower_limit, scale_fac_upper_limit
2045 integer(4),
intent(in) :: year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, &
2046 sec_intvl, num_time_range, stat_miss_val, &
2047 leng_time_range_stat, time_inc_betwn_succ_fld
2049 real,
intent(in) :: scale_val_lower_limit, scale_val_upper_limit
2051 character(len=*),
intent(in) :: typ_gen_proc_key, gen_proc_or_mod_key, &
2052 unit_of_time_key, lvl_type1, lvl_type2, type_of_prob, &
2053 type_of_stat_proc, type_of_time_inc, &
2054 stat_unit_time_key, stat_unit_time_key_succ
2056 integer(4) :: bckgnd_gen_proc_id
2058 integer(4),
intent(inout) :: ipdstmpl9(36)
2062 integer(4) ::
value, ierr
2064 bckgnd_gen_proc_id=0
2066 ipdstmpl9(1) = icatg
2067 ipdstmpl9(2) = iparm
2070 ipdstmpl9(3) =
value
2072 ipdstmpl9(4) = bckgnd_gen_proc_id
2075 ipdstmpl9(5) =
value
2077 ipdstmpl9(6) = hrs_obs_cutoff
2078 ipdstmpl9(7) = min_obs_cutoff
2081 ipdstmpl9(8) =
value
2082 ipdstmpl9(9) = fcst_time
2085 ipdstmpl9(10) =
value
2086 ipdstmpl9(11) = scale_fac1
2087 ipdstmpl9(12) = scaled_val1
2090 ipdstmpl9(13) =
value
2092 ipdstmpl9(14) = scale_fac2
2093 ipdstmpl9(15) = scaled_val2
2094 ipdstmpl9(16) = prob_num
2095 ipdstmpl9(17) = tot_num_prob
2098 ipdstmpl9(18) =
value
2100 ipdstmpl9(19) = scale_fac_lower_limit
2101 ipdstmpl9(20) = int(scale_val_lower_limit)
2102 ipdstmpl9(21) = scale_fac_upper_limit
2103 ipdstmpl9(22) = int(scale_val_upper_limit)
2105 ipdstmpl9(23) = year_intvl
2106 ipdstmpl9(24) = mon_intvl
2107 ipdstmpl9(25) = day_intvl
2108 ipdstmpl9(26) = hour_intvl
2109 ipdstmpl9(27) = min_intvl
2110 ipdstmpl9(28) = sec_intvl
2112 ipdstmpl9(29) = num_time_range
2113 ipdstmpl9(30) = stat_miss_val
2116 ipdstmpl9(31) =
value
2119 ipdstmpl9(32) =
value
2124 ipdstmpl9(33) =
value
2126 ipdstmpl9(34) = leng_time_range_stat
2130 ipdstmpl9(35) =
value
2132 ipdstmpl9(36) = time_inc_betwn_succ_fld
2164 scale_fac1_size, scale_val1_size, scale_fac2_size, &
2165 scale_val2_size, typ_gen_proc_key, &
2166 gen_proc_or_mod_key, hrs_obs_cutoff, min_obs_cutoff, &
2167 unit_of_time_key, fcst_time, lvl_type1, scale_fac1, &
2168 scaled_val1, lvl_type2, scale_fac2, scaled_val2, &
2170 integer(4),
intent(in) :: icatg, iparm, hrs_obs_cutoff, min_obs_cutoff, &
2171 scale_fac1_size, scale_fac2_size, &
2172 fcst_time, scale_fac1, scaled_val1, scale_fac2, scaled_val2
2173 real,
intent(in) :: scale_val1_size, scale_val2_size
2175 character(len=*),
intent(in) :: aer_type, typ_intvl_size, typ_gen_proc_key, &
2176 gen_proc_or_mod_key, unit_of_time_key, lvl_type1, lvl_type2
2178 integer(4),
intent(inout) :: ipdstmpl44(21)
2181 integer(4) ::
value, ierr
2182 integer(4) :: bckgnd_gen_proc_id
2184 bckgnd_gen_proc_id = 0
2186 ipdstmpl44(1) = icatg
2187 ipdstmpl44(2) = iparm
2190 ipdstmpl44(3) =
value
2193 ipdstmpl44(4) =
value
2194 ipdstmpl44(5) = scale_fac1_size
2195 ipdstmpl44(6) = int(scale_val1_size)
2196 ipdstmpl44(7) = scale_fac2_size
2197 ipdstmpl44(8) = int(scale_val2_size)
2200 ipdstmpl44(9) =
value
2202 ipdstmpl44(10) = bckgnd_gen_proc_id
2205 ipdstmpl44(11) =
value
2207 ipdstmpl44(12) = hrs_obs_cutoff
2208 ipdstmpl44(13) = min_obs_cutoff
2211 ipdstmpl44(14) =
value
2212 ipdstmpl44(15) = fcst_time
2215 ipdstmpl44(16) =
value
2216 ipdstmpl44(17) = scale_fac1
2217 ipdstmpl44(18) = scaled_val1
2220 ipdstmpl44(19) =
value
2222 ipdstmpl44(20) = scale_fac2
2223 ipdstmpl44(21) = scaled_val2
2290 scale_fac1_size, scale_val1_size, scale_fac2_size, &
2291 scale_val2_size, typ_gen_proc_key, gen_proc_or_mod_key, &
2292 hrs_obs_cutoff, min_obs_cutoff, &
2293 unit_of_time_key, fcst_time, lvl_type1, scale_fac1, &
2294 scaled_val1, lvl_type2, scale_fac2, scaled_val2, &
2296 mon_intvl, day_intvl, hour_intvl, min_intvl, sec_intvl, &
2297 num_time_range, stat_miss_val, type_of_stat_proc, &
2298 type_of_time_inc, stat_unit_time_key, &
2299 leng_time_range_stat, stat_unit_time_key_succ, &
2300 time_inc_betwn_succ_fld, ipdstmpl46)
2301 integer(4),
intent(in) :: icatg, iparm, hrs_obs_cutoff, min_obs_cutoff, &
2302 scale_fac1_size, scale_fac2_size, &
2303 fcst_time, scale_fac1, scaled_val1, &
2304 scale_fac2, scaled_val2
2305 integer(4),
intent(in) :: year_intvl, mon_intvl, day_intvl, hour_intvl, min_intvl, &
2306 sec_intvl, num_time_range, stat_miss_val, &
2307 leng_time_range_stat, time_inc_betwn_succ_fld
2309 real,
intent(in) :: scale_val1_size, scale_val2_size
2311 character(len=*),
intent(in) :: aer_type, typ_intvl_size, &
2313 gen_proc_or_mod_key, unit_of_time_key, lvl_type1, lvl_type2, &
2314 type_of_stat_proc, type_of_time_inc, &
2315 stat_unit_time_key, stat_unit_time_key_succ
2317 integer(4),
intent(inout) :: ipdstmpl46(35)
2320 integer(4) ::
value, ierr
2321 integer(4) :: bckgnd_gen_proc_id
2323 bckgnd_gen_proc_id=0
2325 ipdstmpl46(1) = icatg
2326 ipdstmpl46(2) = iparm
2329 ipdstmpl46(3) =
value
2332 ipdstmpl46(4) =
value
2333 ipdstmpl46(5) = scale_fac1_size
2334 ipdstmpl46(6) = nint(scale_val1_size)
2335 ipdstmpl46(7) = scale_fac2_size
2336 ipdstmpl46(8) = nint(scale_val2_size)
2339 ipdstmpl46(9) =
value
2341 ipdstmpl46(10) = bckgnd_gen_proc_id
2344 ipdstmpl46(11) =
value
2346 ipdstmpl46(12) = hrs_obs_cutoff
2347 ipdstmpl46(13) = min_obs_cutoff
2350 ipdstmpl46(14) =
value
2351 ipdstmpl46(15) = fcst_time
2354 ipdstmpl46(16) =
value
2355 ipdstmpl46(17) = scale_fac1
2356 ipdstmpl46(18) = scaled_val1
2359 ipdstmpl46(19) =
value
2361 ipdstmpl46(20) = scale_fac2
2362 ipdstmpl46(21) = scaled_val2
2363 ipdstmpl46(22) = year_intvl
2364 ipdstmpl46(23) = mon_intvl
2365 ipdstmpl46(24) = day_intvl
2366 ipdstmpl46(25) = hour_intvl
2367 ipdstmpl46(26) = min_intvl
2368 ipdstmpl46(27) = sec_intvl
2370 ipdstmpl46(28) = num_time_range
2371 ipdstmpl46(29) = stat_miss_val
2374 ipdstmpl46(30) =
value
2377 ipdstmpl46(31) =
value
2382 ipdstmpl46(32) =
value
2384 ipdstmpl46(33) = leng_time_range_stat
2388 ipdstmpl46(34) =
value
2390 ipdstmpl46(35) = time_inc_betwn_succ_fld
2427 scale_fac1_size, scale_val1_size, scale_fac2_size, &
2428 scale_val2_size, typ_intvl_wavelength, &
2429 scale_fac1_wavelength, scale_val1_wavelength, &
2430 scale_fac2_wavelength, scale_val2_wavelength, &
2431 typ_gen_proc_key, gen_proc_or_mod_key, &
2432 hrs_obs_cutoff, min_obs_cutoff, &
2433 unit_of_time_key, fcst_time, lvl_type1, scale_fac1, &
2434 scaled_val1, lvl_type2, scale_fac2, scaled_val2, &
2436 integer(4),
intent(in) :: icatg, iparm, hrs_obs_cutoff, min_obs_cutoff, &
2437 scale_fac1_size, scale_fac2_size, scale_fac1_wavelength, &
2438 scale_fac2_wavelength, &
2439 fcst_time, scale_fac1, scaled_val1, &
2440 scale_fac2, scaled_val2
2441 real,
intent(in) :: scale_val1_size, scale_val2_size, scale_val1_wavelength, &
2442 scale_val2_wavelength
2444 character(len=*),
intent(in) :: aer_type, typ_intvl_size, &
2445 typ_intvl_wavelength, typ_gen_proc_key, &
2446 gen_proc_or_mod_key, unit_of_time_key, lvl_type1, lvl_type2
2448 integer(4),
intent(inout) :: ipdstmpl48(26)
2451 integer(4) ::
value, ierr
2452 integer(4) :: bckgnd_gen_proc_id
2454 bckgnd_gen_proc_id=0
2456 ipdstmpl48(1) = icatg
2457 ipdstmpl48(2) = iparm
2460 ipdstmpl48(3) =
value
2463 ipdstmpl48(4) =
value
2464 ipdstmpl48(5) = scale_fac1_size
2465 ipdstmpl48(6) = nint(scale_val1_size)
2466 ipdstmpl48(7) = scale_fac2_size
2467 ipdstmpl48(8) = nint(scale_val2_size)
2470 ipdstmpl48(9) =
value
2471 ipdstmpl48(10) = scale_fac1_wavelength
2472 ipdstmpl48(11) = nint(scale_val1_wavelength)
2473 ipdstmpl48(12) = scale_fac2_wavelength
2474 ipdstmpl48(13) = nint(scale_val2_wavelength)
2477 ipdstmpl48(14) =
value
2479 ipdstmpl48(15) = bckgnd_gen_proc_id
2482 ipdstmpl48(16) =
value
2484 ipdstmpl48(17) = hrs_obs_cutoff
2485 ipdstmpl48(18) = min_obs_cutoff
2488 ipdstmpl48(19) =
value
2489 ipdstmpl48(20) = fcst_time
2492 ipdstmpl48(21) =
value
2493 ipdstmpl48(22) = scale_fac1
2494 ipdstmpl48(23) = scaled_val1
2497 ipdstmpl48(24) =
value
2499 ipdstmpl48(25) = scale_fac2
2500 ipdstmpl48(26) = scaled_val2
2514 character(len=*) :: key
2515 integer ::
value, n, ierr
2518 if (trim(
table4_6(n)%typeofensfcstkey).eq.trim(key))
then
2523 print *,
'get_g2_typeofensfcst key: ', key, &
2524 ' not found in table 4.6'
2538 character(len=*) :: key
2539 integer ::
value, n, ierr
2542 if (trim(
table4_7(n)%typeofderivefcstkey).eq.trim(key))
then
2543 value=
table4_7(n)%typeofderivefcstval
2547 print *,
'get_g2_typeofderivefcst key: ', key, &
2548 ' not found in table 4.7'
2575 integer(4),
intent(in) :: bin_scale_fac, dec_scale_fac, tlnumbits
2576 integer(4),
intent(out) :: ifield5(5)
2580 ifield5(2) = bin_scale_fac
2581 ifield5(3) = dec_scale_fac
2582 ifield5(4) = tlnumbits
2604 integer(4),
intent(inout) :: ifield5(16)
2605 integer(4),
intent(in) :: dec_scale_fac, bin_scale_fac
2609 ifield5(2) = bin_scale_fac
2610 ifield5(3) = dec_scale_fac
2633 integer(4),
intent(in) :: dec_scale_fac, bin_scale_fac
2634 character(*),
intent(in) :: order_of_sptdiff
2635 integer(4),
intent(out) :: ifield5(18)
2637 integer(4) ::
value, ierr
2641 ifield5(2) = bin_scale_fac
2642 ifield5(3) = dec_scale_fac
2676 type_of_compression, ifield5)
2678 integer(4),
intent(in) :: bin_scale_fac, dec_scale_fac, tlnumbits
2679 character(*),
intent(in) :: type_of_compression
2680 integer(4),
intent(inout) :: ifield5(7)
2683 integer(4) ::
value, ierr
2684 integer,
parameter :: MAX_NUMBIT=16
2687 ifield5(2) = bin_scale_fac
2688 ifield5(3) = dec_scale_fac
2689 ifield5(4) = tlnumbits
2710 character(len=*) :: key
2711 integer ::
value, n, ierr
2714 if (trim(
table4_8(n)%typeofclusterkey).eq.trim(key))
then
2719 print *,
'get_g2_typeofcluster key: ', key, &
2720 ' not found in table 4.8'
2734 character(len=*) :: key
2735 integer ::
value, n, ierr
2738 if (trim(
table4_9(n)%typeofprobkey).eq.trim(key))
then
2743 print *,
'get_g2_typeofprob key: ', key, &
2744 ' not found in table 4.9'
2758 character(len=*) :: key
2759 integer ::
value, n, ierr
2762 if (trim(
table4_201(n)%typeofprecipkey).eq.trim(key))
then
2767 print *,
'get_g2_typeofprecip key: ', key, &
2768 ' not found in table 4.201'
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...
subroutine g2sec4_temp46(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, 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, ipdstmpl46)
Returns the GRIB2 Section 4 Template 4.0 list.
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 g2sec4_temp9(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, prob_num, tot_num_prob, type_of_prob, scale_fac_lower_limit, scale_val_lower_limit, scale_fac_upper_limit, scale_val_upper_limit, 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, ipdstmpl9)
Returns the GRIB2 Section 4 Template 4.9 list for given keys PDT 4.9 - Probability forecasts at a hor...
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 ...