346 SUBROUTINE w3fi63(MSGA,KPDS,KGDS,KBMS,DATA,KPTR,KRET)
634 INTEGER JSGN,JEXP,IFR,NPTS
635 REAL REALKK,FVAL1,FDIFF1
657 CALL fi631(msga,kptr,kpds,kret)
665 CALL fi632(msga,kptr,kpds,kret)
673 IF (iand(kpds(4),128).NE.0)
THEN
674 CALL fi633(msga,kptr,kgds,kret)
683 CALL fi634(msga,kptr,kpds,kgds,kbms,kret)
694 IF (kpds(18).EQ.1)
THEN
695 CALL fi635(msga,kptr,kpds,kgds,kbms,
DATA,kret)
696 IF (kptr(3).EQ.50)
THEN
730 call gbytec(msga,jsgn,kptr(9)+384,1)
731 call gbytec(msga,jexp,kptr(9)+385,7)
732 call gbytec(msga,ifr,kptr(9)+392,24)
736 ELSE IF (jexp.EQ.0.AND.ifr.EQ.0)
THEN
739 realkk = float(ifr) * 16.0 ** (jexp - 64 - 6)
740 IF (jsgn.NE.0) realkk = -realkk
750 call gbytec(msga,jsgn,kptr(9)+416,1)
751 call gbytec(msga,jexp,kptr(9)+417,7)
752 call gbytec(msga,ifr,kptr(9)+424,24)
756 ELSE IF (jexp.EQ.0.AND.ifr.EQ.0)
THEN
759 realkk = float(ifr) * 16.0 ** (jexp - 64 - 6)
760 IF (jsgn.NE.0) realkk = -realkk
764 CALL gbytec (msga,isign,kptr(9)+448,1)
765 CALL gbytec (msga,iscal2,kptr(9)+449,15)
776 CALL w3fi83 (
DATA,npts,fval1,fdiff1,
777 & iscal2,kpds(22),kpds,kgds)
847 SUBROUTINE fi631(MSGA,KPTR,KPDS,KRET)
862 CALL gbytec (msga,mgrib,i,32)
863 IF (mgrib.EQ.1196575042)
THEN
874 kptr(8) = kptr(9) + 32
875 CALL gbytec (msga,itotal,kptr(8),24)
877 ipoint = kptr(9) + itotal * 8 - 32
878 CALL gbytec (msga,i7777,ipoint,32)
879 IF (i7777.EQ.926365495)
THEN
883 kptr(8) = kptr(8) + 24
886 CALL gbytec (msga,kpds(18),kptr(8),8)
887 kptr(8) = kptr(8) + 8
896 CALL gbytec (msga,kptr(3),kptr(8),24)
899 CALL gbytec (msga,kpds(4),look,8)
900 kptr(8) = kptr(8) + kptr(3) * 8
902 IF (iand(kpds(4),128).NE.0)
THEN
904 CALL gbytec (msga,kptr(4),kptr(8),24)
905 kptr(8) = kptr(8) + kptr(4) * 8
910 IF (iand(kpds(4),64).NE.0)
THEN
912 CALL gbytec (msga,kptr(5),kptr(8),24)
916 kptr(8) = kptr(8) + kptr(5) * 8
919 CALL gbytec (msga,kptr(6),kptr(8),24)
922 kptr(8) = kptr(8) + kptr(6) * 8
925 CALL gbytec (msga,k7777,kptr(8),32)
926 match = kptr(2) + kptr(3) + kptr(4) + kptr(5) + kptr(6) + 4
927 IF (k7777.NE.926365495.OR.match.NE.kptr(1))
THEN
931 IF (kpds(18).EQ.0)
THEN
932 kptr(1) = kptr(2) + kptr(3) + kptr(4) + kptr(5) +
1004 SUBROUTINE fi632(MSGA,KPTR,KPDS,KRET)
1018 kptr(8) = kptr(9) + kptr(2) * 8 + 24
1021 CALL gbytec (msga,kpds(19),kptr(8),8)
1022 kptr(8) = kptr(8) + 8
1024 CALL gbytec (msga,kpds(1),kptr(8),8)
1025 kptr(8) = kptr(8) + 8
1028 CALL gbytec (msga,kpds(2),kptr(8),8)
1029 kptr(8) = kptr(8) + 8
1032 CALL gbytec (msga,kpds(3),kptr(8),8)
1033 kptr(8) = kptr(8) + 8
1037 kptr(8) = kptr(8) + 8
1040 CALL gbytec (msga,kpds(5),kptr(8),8)
1041 kptr(8) = kptr(8) + 8
1044 CALL gbytec (msga,kpds(6),kptr(8),8)
1045 kptr(8) = kptr(8) + 8
1048 CALL gbytec (msga,kpds(7),kptr(8),16)
1049 kptr(8) = kptr(8) + 16
1052 CALL gbytec (msga,kpds(8),kptr(8),8)
1053 kptr(8) = kptr(8) + 8
1056 CALL gbytec (msga,kpds(9),kptr(8),8)
1057 kptr(8) = kptr(8) + 8
1060 CALL gbytec (msga,kpds(10),kptr(8),8)
1061 kptr(8) = kptr(8) + 8
1064 CALL gbytec (msga,kpds(11),kptr(8),8)
1065 kptr(8) = kptr(8) + 8
1068 CALL gbytec (msga,kpds(12),kptr(8),8)
1069 kptr(8) = kptr(8) + 8
1072 CALL gbytec (msga,kpds(13),kptr(8),8)
1073 kptr(8) = kptr(8) + 8
1076 CALL gbytec (msga,kpds(14),kptr(8),8)
1077 kptr(8) = kptr(8) + 8
1080 CALL gbytec (msga,kpds(15),kptr(8),8)
1081 kptr(8) = kptr(8) + 8
1084 CALL gbytec (msga,kpds(16),kptr(8),8)
1085 kptr(8) = kptr(8) + 8
1090 IF (kpds(16).EQ.10)
THEN
1091 kpds(14) = kpds(14) * 256 + kpds(15)
1096 CALL gbytec (msga,kpds(17),kptr(8),16)
1097 kptr(8) = kptr(8) + 16
1100 CALL gbytec (msga,kpds(20),kptr(8),8)
1101 kptr(8) = kptr(8) + 8
1104 CALL gbytec (msga,kpds(21),kptr(8),8)
1105 kptr(8) = kptr(8) + 8
1106 IF (kptr(3).GT.25)
THEN
1108 CALL gbytec (msga,kpds(23),kptr(8),8)
1109 kptr(8) = kptr(8) + 8
1110 IF (kptr(3).GE.28)
THEN
1113 CALL gbytec (msga,isign,kptr(8),1)
1114 kptr(8) = kptr(8) + 1
1115 CALL gbytec (msga,idec,kptr(8),15)
1116 kptr(8) = kptr(8) + 15
1117 IF (isign.GT.0)
THEN
1123 IF (isiz.LE.12)
THEN
1125 CALL gbytec (msga,kpds(24),kptr(8)+8,8)
1127 CALL gbytec (msga,kpds(25),kptr(8)+16,8)
1129 kptr(8) = kptr(8) + isiz * 8
1132 CALL gbytec (msga,kpds(24),kptr(8)+8,8)
1134 CALL gbytec (msga,kpds(25),kptr(8)+16,8)
1136 kptr(8) = kptr(8) + 12 * 8
1140 mwdbit = bit_size(kpds)
1143 IF (mod(isiz,lw).NE.0) iter = iter + 1
1144 CALL gbytesc (msga,kpds(36),kptr(8),mwdbit,0,iter)
1145 kptr(8) = kptr(8) + isiz * 8
1150 IF (iand(kpds(4),128).NE.0)
THEN
1151 IF (iand(kpds(4),64).NE.0)
THEN
1152 IF (kpds(3).NE.255)
THEN
1153 IF (kpds(3).GE.21.AND.kpds(3).LE.26)
THEN
1155 ELSE IF (kpds(3).GE.37.AND.kpds(3).LE.44)
THEN
1157 ELSE IF (kpds(3).GE.61.AND.kpds(3).LE.64)
THEN
1160 IF (kpds(1).EQ.7)
THEN
1161 IF (kpds(3).GE.2.AND.kpds(3).LE.3)
THEN
1162 ELSE IF (kpds(3).GE.5.AND.kpds(3).LE.6)
THEN
1163 ELSE IF (kpds(3).EQ.8)
THEN
1164 ELSE IF (kpds(3).EQ.10)
THEN
1165 ELSE IF (kpds(3).GE.27.AND.kpds(3).LE.34)
THEN
1166 ELSE IF (kpds(3).EQ.50)
THEN
1167 ELSE IF (kpds(3).EQ.53)
THEN
1168 ELSE IF (kpds(3).GE.70.AND.kpds(3).LE.77)
THEN
1169 ELSE IF (kpds(3).EQ.98)
THEN
1170 ELSE IF (kpds(3).EQ.99)
THEN
1171 ELSE IF (kpds(3).GE.100.AND.kpds(3).LE.105)
THEN
1172 ELSE IF (kpds(3).EQ.126)
THEN
1173 ELSE IF (kpds(3).EQ.195)
THEN
1174 ELSE IF (kpds(3).EQ.196)
THEN
1175 ELSE IF (kpds(3).EQ.197)
THEN
1176 ELSE IF (kpds(3).EQ.198)
THEN
1177 ELSE IF (kpds(3).GE.200.AND.kpds(3).LE.237)
THEN
1185 ELSE IF (kpds(1).EQ.98)
THEN
1186 IF (kpds(3).GE.1.AND.kpds(3).LE.16)
THEN
1194 ELSE IF (kpds(1).EQ.74)
THEN
1195 IF (kpds(3).GE.1.AND.kpds(3).LE.12)
THEN
1196 ELSE IF (kpds(3).GE.21.AND.kpds(3).LE.26)
THEN
1197 ELSE IF (kpds(3).GE.61.AND.kpds(3).LE.64)
THEN
1198 ELSE IF (kpds(3).GE.70.AND.kpds(3).LE.77)
THEN
1207 ELSE IF (kpds(1).EQ.58)
THEN
1208 IF (kpds(3).GE.1.AND.kpds(3).LE.12)
THEN
1350 SUBROUTINE fi633(MSGA,KPTR,KGDS,KRET)
1366 kptr(8) = kptr(9) + (kptr(2)*8) + (kptr(3)*8) + 24
1367 nsave = kptr(8) - 24
1370 CALL gbytec (msga,kgds(19),kptr(8),8)
1371 kptr(8) = kptr(8) + 8
1374 CALL gbytec (msga,kgds(20),kptr(8),8)
1375 kptr(8) = kptr(8) + 8
1378 CALL gbytec (msga,kgds(1),kptr(8),8)
1379 kptr(8) = kptr(8) + 8
1382 IF (kgds(1).EQ.0)
THEN
1384 ELSE IF (kgds(1).EQ.1)
THEN
1386 ELSE IF (kgds(1).EQ.2.OR.kgds(1).EQ.5)
THEN
1388 ELSE IF (kgds(1).EQ.3)
THEN
1390 ELSE IF (kgds(1).EQ.4)
THEN
1398 ELSE IF (kgds(1).EQ.50)
THEN
1403 ELSE IF (kgds(1).EQ.201.OR.kgds(1).EQ.202.OR.
1404 & kgds(1).EQ.203.OR.kgds(1).EQ.204.OR.kgds(1).EQ.205)
THEN
1429 CALL gbytec (msga,kgds(2),kptr(8),16)
1430 kptr(8) = kptr(8) + 16
1432 CALL gbytec (msga,kgds(3),kptr(8),16)
1433 kptr(8) = kptr(8) + 16
1435 CALL gbytec (msga,kgds(4),kptr(8),24)
1436 kptr(8) = kptr(8) + 24
1437 IF (iand(kgds(4),8388608).NE.0)
THEN
1438 kgds(4) = iand(kgds(4),8388607) * (-1)
1441 CALL gbytec (msga,kgds(5),kptr(8),24)
1442 kptr(8) = kptr(8) + 24
1443 IF (iand(kgds(5),8388608).NE.0)
THEN
1444 kgds(5) = - iand(kgds(5),8388607)
1447 CALL gbytec (msga,kgds(6),kptr(8),8)
1448 kptr(8) = kptr(8) + 8
1450 CALL gbytec (msga,kgds(7),kptr(8),24)
1451 kptr(8) = kptr(8) + 24
1452 IF (iand(kgds(7),8388608).NE.0)
THEN
1453 kgds(7) = - iand(kgds(7),8388607)
1456 CALL gbytec (msga,kgds(8),kptr(8),24)
1457 kptr(8) = kptr(8) + 24
1458 IF (iand(kgds(8),8388608).NE.0)
THEN
1459 kgds(8) = - iand(kgds(8),8388607)
1462 CALL gbytec (msga,kgds(9),kptr(8),16)
1463 kptr(8) = kptr(8) + 16
1469 CALL gbytec (msga,kgds(10),kptr(8),16)
1470 kptr(8) = kptr(8) + 16
1472 CALL gbytec (msga,kgds(11),kptr(8),8)
1473 kptr(8) = kptr(8) + 8
1474 IF(kgds(1).EQ.205)
THEN
1476 CALL gbytec (msga,kgds(12),kptr(8),24)
1477 kptr(8) = kptr(8) + 24
1478 IF (iand(kgds(12),8388608).NE.0)
THEN
1479 kgds(12) = - iand(kgds(12),8388607)
1482 CALL gbytec (msga,kgds(13),kptr(8),24)
1483 kptr(8) = kptr(8) + 24
1484 IF (iand(kgds(13),8388608).NE.0)
THEN
1485 kgds(13) = - iand(kgds(13),8388607)
1491 CALL gbytec (msga,kgds(12),kptr(8),32)
1492 kptr(8) = kptr(8) + 32
1501 CALL gbytec (msga,kgds(2),kptr(8),16)
1502 kptr(8) = kptr(8) + 16
1504 CALL gbytec (msga,kgds(3),kptr(8),16)
1505 kptr(8) = kptr(8) + 16
1507 CALL gbytec (msga,kgds(4),kptr(8),24)
1508 kptr(8) = kptr(8) + 24
1509 IF (iand(kgds(4),8388608).NE.0)
THEN
1510 kgds(4) = - iand(kgds(4),8388607)
1513 CALL gbytec (msga,kgds(5),kptr(8),24)
1514 kptr(8) = kptr(8) + 24
1515 IF (iand(kgds(5),8388608).NE.0)
THEN
1516 kgds(5) = - iand(kgds(5),8388607)
1519 CALL gbytec (msga,kgds(6),kptr(8),8)
1520 kptr(8) = kptr(8) + 8
1522 CALL gbytec (msga,kgds(7),kptr(8),24)
1523 kptr(8) = kptr(8) + 24
1524 IF (iand(kgds(7),8388608).NE.0)
THEN
1525 kgds(7) = - iand(kgds(7),8388607)
1528 CALL gbytec (msga,kgds(8),kptr(8),24)
1529 kptr(8) = kptr(8) + 24
1530 IF (iand(kgds(8),8388608).NE.0)
THEN
1531 kgds(8) = - iand(kgds(8),8388607)
1534 CALL gbytec (msga,kgds(9),kptr(8),24)
1535 kptr(8) = kptr(8) + 24
1536 IF (iand(kgds(9),8388608).NE.0)
THEN
1537 kgds(9) = - iand(kgds(9),8388607)
1540 CALL gbytec (msga,kgds(10),kptr(8),8)
1541 kptr(8) = kptr(8) + 8
1543 CALL gbytec (msga,kgds(11),kptr(8),8)
1544 kptr(8) = kptr(8) + 8
1547 CALL gbytec (msga,kgds(12),kptr(8),32)
1548 kptr(8) = kptr(8) + 32
1558 CALL gbytec (msga,kgds(2),kptr(8),16)
1559 kptr(8) = kptr(8) + 16
1561 CALL gbytec (msga,kgds(3),kptr(8),16)
1562 kptr(8) = kptr(8) + 16
1564 CALL gbytec (msga,kgds(4),kptr(8),16)
1565 kptr(8) = kptr(8) + 16
1567 CALL gbytec (msga,kgds(5),kptr(8),8)
1568 kptr(8) = kptr(8) + 8
1570 CALL gbytec (msga,kgds(6),kptr(8),8)
1571 kptr(8) = kptr(8) + 8
1574 kptr(8) = kptr(8) + 18 * 8
1581 CALL gbytec (msga,kgds(2),kptr(8),16)
1582 kptr(8) = kptr(8) + 16
1584 CALL gbytec (msga,kgds(3),kptr(8),16)
1585 kptr(8) = kptr(8) + 16
1587 CALL gbytec (msga,kgds(4),kptr(8),24)
1588 kptr(8) = kptr(8) + 24
1589 IF (iand(kgds(4),8388608).NE.0)
THEN
1590 kgds(4) = - iand(kgds(4),8388607)
1593 CALL gbytec (msga,kgds(5),kptr(8),24)
1594 kptr(8) = kptr(8) + 24
1595 IF (iand(kgds(5),8388608).NE.0)
THEN
1596 kgds(5) = - iand(kgds(5),8388607)
1599 CALL gbytec (msga,kgds(6),kptr(8),8)
1600 kptr(8) = kptr(8) + 8
1602 CALL gbytec (msga,kgds(7),kptr(8),24)
1603 kptr(8) = kptr(8) + 24
1604 IF (iand(kgds(7),8388608).NE.0)
THEN
1605 kgds(7) = - iand(kgds(7),8388607)
1608 CALL gbytec (msga,kgds(8),kptr(8),24)
1609 kptr(8) = kptr(8) + 24
1610 IF (iand(kgds(8),8388608).NE.0)
THEN
1611 kgds(8) = - iand(kgds(8),8388607)
1614 CALL gbytec (msga,kgds(9),kptr(8),24)
1615 kptr(8) = kptr(8) + 24
1616 IF (iand(kgds(9),8388608).NE.0)
THEN
1617 kgds(9) = - iand(kgds(9),8388607)
1620 CALL gbytec (msga,kgds(10),kptr(8),8)
1621 kptr(8) = kptr(8) + 8
1623 CALL gbytec (msga,kgds(11),kptr(8),8)
1624 kptr(8) = kptr(8) + 8
1626 CALL gbytec (msga,kgds(12),kptr(8),24)
1627 kptr(8) = kptr(8) + 24
1628 IF (iand(kgds(12),8388608).NE.0)
THEN
1629 kgds(12) = - iand(kgds(12),8388607)
1632 CALL gbytec (msga,kgds(13),kptr(8),24)
1633 kptr(8) = kptr(8) + 24
1634 IF (iand(kgds(13),8388608).NE.0)
THEN
1635 kgds(13) = - iand(kgds(13),8388607)
1639 kptr(8) = kptr(8) + 8 * 8
1647 CALL gbytec (msga,kgds(2),kptr(8),16)
1648 kptr(8) = kptr(8) + 16
1650 CALL gbytec (msga,kgds(3),kptr(8),16)
1651 kptr(8) = kptr(8) + 16
1653 CALL gbytec (msga,kgds(4),kptr(8),24)
1654 kptr(8) = kptr(8) + 24
1655 IF (iand(kgds(4),8388608).NE.0)
THEN
1656 kgds(4) = - iand(kgds(4),8388607)
1659 CALL gbytec (msga,kgds(5),kptr(8),24)
1660 kptr(8) = kptr(8) + 24
1661 IF (iand(kgds(5),8388608).NE.0)
THEN
1662 kgds(5) = - iand(kgds(5),8388607)
1665 CALL gbytec (msga,kgds(6),kptr(8),8)
1666 kptr(8) = kptr(8) + 8
1668 CALL gbytec (msga,kgds(7),kptr(8),24)
1669 kptr(8) = kptr(8) + 24
1670 IF (iand(kgds(7),8388608).NE.0)
THEN
1671 kgds(7) = - iand(kgds(7),8388607)
1674 CALL gbytec (msga,kgds(8),kptr(8),24)
1675 kptr(8) = kptr(8) + 24
1677 CALL gbytec (msga,kgds(9),kptr(8),24)
1678 kptr(8) = kptr(8) + 24
1680 CALL gbytec (msga,kgds(10),kptr(8),8)
1681 kptr(8) = kptr(8) + 8
1683 CALL gbytec (msga,kgds(11),kptr(8),8)
1684 kptr(8) = kptr(8) + 8
1686 CALL gbytec (msga,kgds(12),kptr(8),24)
1687 kptr(8) = kptr(8) + 24
1688 IF (iand(kgds(12),8388608).NE.0)
THEN
1689 kgds(12) = - iand(kgds(12),8388607)
1692 CALL gbytec (msga,kgds(13),kptr(8),24)
1693 kptr(8) = kptr(8) + 24
1694 IF (iand(kgds(13),8388608).NE.0)
THEN
1695 kgds(13) = - iand(kgds(13),8388607)
1698 CALL gbytec (msga,kgds(14),kptr(8),24)
1699 kptr(8) = kptr(8) + 24
1700 IF (iand(kgds(14),8388608).NE.0)
THEN
1701 kgds(14) = - iand(kgds(14),8388607)
1704 CALL gbytec (msga,kgds(15),kptr(8),24)
1705 kptr(8) = kptr(8) + 24
1706 IF (iand(kgds(15),8388608).NE.0)
THEN
1707 kgds(15) = - iand(kgds(15),8388607)
1710 CALL gbytec (msga,kgds(16),kptr(8),16)
1711 kptr(8) = kptr(8) + 16
1717 IF (kgds(19).EQ.0.OR.kgds(19).EQ.255)
THEN
1718 IF (kgds(20).NE.255)
THEN
1720 kptr(8) = nsave + (kgds(20) - 1) * 8
1721 CALL gbytesc (msga,kgds(22),kptr(8),16,0,kgds(3))
1722 DO 910 j = 1, kgds(3)
1723 isum = isum + kgds(21+j)
1896 SUBROUTINE fi634(MSGA,KPTR,KPDS,KGDS,KBMS,KRET)
1914 LOGICAL*1 GRD21( 1369)
1916 LOGICAL*1 GRD23( 1369)
1917 LOGICAL*1 GRD25( 1368)
1918 LOGICAL*1 GRD26( 1368)
1922 LOGICAL*1 GRD50( 1188)
1924 LOGICAL*1 GRD61( 4186)
1926 LOGICAL*1 GRD63( 4186)
1929 DATA grd21 /1333*.true.,36*.false./
1930 DATA grd23 /.true.,36*.false.,1332*.true./
1931 DATA grd25 /1297*.true.,71*.false./
1932 DATA grd26 /.true.,71*.false.,1296*.true./
1935 & 7*.false.,22*.true.,14*.false.,22*.true.,
1936 & 14*.false.,22*.true.,14*.false.,22*.true.,7*.false.,
1938 & 6*.false.,24*.true.,12*.false.,24*.true.,
1939 & 12*.false.,24*.true.,12*.false.,24*.true.,6*.false.,
1941 & 5*.false.,26*.true.,10*.false.,26*.true.,
1942 & 10*.false.,26*.true.,10*.false.,26*.true.,5*.false.,
1944 & 4*.false.,28*.true., 8*.false.,28*.true.,
1945 & 8*.false.,28*.true., 8*.false.,28*.true.,4*.false.,
1947 & 3*.false.,30*.true., 6*.false.,30*.true.,
1948 & 6*.false.,30*.true., 6*.false.,30*.true.,3*.false.,
1950 & 2*.false.,32*.true., 4*.false.,32*.true.,
1951 & 4*.false.,32*.true., 4*.false.,32*.true.,2*.false.,
1953 & .false.,34*.true., 2*.false.,34*.true.,
1954 & 2*.false.,34*.true., 2*.false.,34*.true., .false.,
1957 DATA grd61 /4096*.true.,90*.false./
1958 DATA grd63 /.true.,90*.false.,4095*.true./
1959 DATA mask /128,64,32,16,8,4,2,1/
1962 IF (iand(kpds(4),64).EQ.64)
THEN
1966 kptr(8) = kptr(9) + (kptr(2)*8) + (kptr(3)*8) + (kptr(4)*8) + 24
1970 CALL gbytec (msga,kptr(11),kptr(8),8)
1971 kptr(8) = kptr(8) + 8
1975 CALL gbytec (msga,kptr(12),kptr(8),16)
1976 kptr(8) = kptr(8) + 16
1978 IF (kptr(12).EQ.0)
THEN
1980 ibits = (kptr(5) - 6) * 8 - kptr(11)
1982 IF (kpds(3).EQ.21.OR.kpds(3).EQ.22.OR.kpds(3).EQ.25.
1983 * or.kpds(3).EQ.61.OR.kpds(3).EQ.62)
THEN
1985 CALL fi634x(ibits,kptr(8),msga,kbms)
1986 IF (kpds(3).EQ.25)
THEN
1988 ELSE IF (kpds(3).EQ.61.OR.kpds(3).EQ.62)
THEN
1994 kbms(i+ibits) = .false.
1996 kptr(10) = kptr(10) + kadd
1998 ELSE IF (kpds(3).EQ.23.OR.kpds(3).EQ.24.OR.kpds(3).EQ.26.
1999 * or.kpds(3).EQ.63.OR.kpds(3).EQ.64)
THEN
2001 CALL fi634x(ibits,kptr(8),msga,kbms)
2002 IF (kpds(3).EQ.26)
THEN
2004 ELSE IF (kpds(3).EQ.63.OR.kpds(3).EQ.64)
THEN
2010 kbms(i+ibits) = .false.
2012 kptr(10) = kptr(10) + kadd - 1
2014 ELSE IF (kpds(3).EQ.50)
THEN
2022 kbms(kbits) = .false.
2024 CALL fi634x(kin,kptr(8),msga,kbms(kbits+1))
2029 kbms(kbits) = .false.
2036 CALL fi634x(kin,kptr(8),msga,kbms(kbits+1))
2042 CALL fi634x(ibits,kptr(8),msga,kbms)
2056 IF (kpds(3).EQ.255)
THEN
2058 j = kgds(2) * kgds(3)
2068 IF (kpds(3).EQ.21.OR.kpds(3).EQ.22)
THEN
2072 CALL fi637(j,kpds,kgds,kret)
2073 IF(kret.NE.0)
GO TO 820
2078 ELSE IF (kpds(3).EQ.23.OR.kpds(3).EQ.24)
THEN
2082 CALL fi637(j,kpds,kgds,kret)
2083 IF(kret.NE.0)
GO TO 820
2088 ELSE IF (kpds(3).EQ.25)
THEN
2092 CALL fi637(j,kpds,kgds,kret)
2093 IF(kret.NE.0)
GO TO 820
2098 ELSE IF (kpds(3).EQ.26)
THEN
2102 CALL fi637(j,kpds,kgds,kret)
2103 IF(kret.NE.0)
GO TO 820
2108 ELSE IF (kpds(3).GE.37.AND.kpds(3).LE.44)
THEN
2112 ELSE IF (kpds(1).EQ.7.AND.kpds(3).EQ.50)
THEN
2116 CALL fi637(j,kpds,kgds,kret)
2117 IF(kret.NE.0)
GO TO 890
2122 ELSE IF (kpds(3).EQ.61.OR.kpds(3).EQ.62)
THEN
2126 CALL fi637(j,kpds,kgds,kret)
2127 IF(kret.NE.0)
GO TO 820
2132 ELSE IF (kpds(3).EQ.63.OR.kpds(3).EQ.64)
THEN
2136 CALL fi637(j,kpds,kgds,kret)
2137 IF(kret.NE.0)
GO TO 820
2146 IF (kpds(1).EQ.7)
THEN
2147 IF (kpds(3).LT.100)
THEN
2148 IF (kpds(3).EQ.1)
THEN
2153 IF (kpds(3).EQ.2)
THEN
2157 ELSE IF (kpds(3).EQ.3)
THEN
2161 ELSE IF (kpds(3).EQ.4)
THEN
2165 ELSE IF (kpds(3).EQ.5)
THEN
2169 ELSE IF (kpds(3).EQ.6)
THEN
2173 ELSE IF (kpds(3).EQ.8)
THEN
2177 ELSE IF (kpds(3).EQ.10)
THEN
2181 ELSE IF (kpds(3).EQ.11)
THEN
2185 ELSE IF (kpds(3).EQ.12)
THEN
2189 ELSE IF (kpds(3).EQ.13)
THEN
2193 ELSE IF (kpds(3).EQ.14)
THEN
2197 ELSE IF (kpds(3).EQ.15)
THEN
2201 ELSE IF (kpds(3).EQ.16)
THEN
2205 ELSE IF (kpds(3).EQ.17)
THEN
2209 ELSE IF (kpds(3).EQ.18)
THEN
2213 ELSE IF (kpds(3).EQ.27.OR.kpds(3).EQ.28)
THEN
2217 ELSE IF (kpds(3).EQ.29.OR.kpds(3).EQ.30)
THEN
2221 ELSE IF (kpds(3).EQ.33.OR.kpds(3).EQ.34)
THEN
2225 ELSE IF (kpds(3).GE.37.AND.kpds(3).LE.44)
THEN
2229 ELSE IF (kpds(3).EQ.45)
THEN
2233 ELSE IF (kpds(3).EQ.53)
THEN
2237 ELSE IF (kpds(3).EQ.55.OR.kpds(3).EQ.56)
THEN
2241 ELSE IF (kpds(3).GE.67.AND.kpds(3).LE.71)
THEN
2245 ELSE IF (kpds(3).EQ.72)
THEN
2249 ELSE IF (kpds(3).EQ.73)
THEN
2253 ELSE IF (kpds(3).EQ.74)
THEN
2257 ELSE IF (kpds(3).GE.75.AND.kpds(3).LE.77)
THEN
2261 ELSE IF (kpds(3).EQ.83)
THEN
2265 ELSE IF (kpds(3).EQ.85.OR.kpds(3).EQ.86)
THEN
2269 ELSE IF (kpds(3).EQ.87)
THEN
2273 ELSE IF (kpds(3).EQ.88)
THEN
2277 ELSE IF (kpds(3).EQ.90)
THEN
2281 ELSE IF (kpds(3).EQ.91)
THEN
2285 ELSE IF (kpds(3).EQ.92)
THEN
2289 ELSE IF (kpds(3).EQ.93)
THEN
2293 ELSE IF (kpds(3).EQ.94)
THEN
2297 ELSE IF (kpds(3).EQ.95)
THEN
2301 ELSE IF (kpds(3).EQ.96)
THEN
2305 ELSE IF (kpds(3).EQ.97)
THEN
2309 ELSE IF (kpds(3).EQ.98)
THEN
2313 ELSE IF (kpds(3).EQ.99)
THEN
2318 ELSE IF (kpds(3).GE.100.AND.kpds(3).LT.200)
THEN
2319 IF (kpds(3).EQ.100)
THEN
2323 ELSE IF (kpds(3).EQ.101)
THEN
2327 ELSE IF (kpds(3).EQ.103)
THEN
2331 ELSE IF (kpds(3).EQ.104)
THEN
2335 ELSE IF (kpds(3).EQ.105)
THEN
2339 ELSE IF (kpds(3).EQ.106)
THEN
2343 ELSE IF (kpds(3).EQ.107)
THEN
2347 ELSE IF (kpds(3).EQ.110)
THEN
2351 ELSE IF (kpds(3).EQ.120)
THEN
2355 ELSE IF (kpds(3).EQ.122)
THEN
2359 ELSE IF (kpds(3).EQ.123)
THEN
2363 ELSE IF (kpds(3).EQ.124)
THEN
2367 ELSE IF (kpds(3).EQ.125)
THEN
2371 ELSE IF (kpds(3).EQ.126)
THEN
2375 ELSE IF (kpds(3).EQ.127)
THEN
2379 ELSE IF (kpds(3).EQ.128)
THEN
2383 ELSE IF (kpds(3).EQ.129)
THEN
2387 ELSE IF (kpds(3).EQ.130)
THEN
2391 ELSE IF (kpds(3).EQ.132)
THEN
2395 ELSE IF (kpds(3).EQ.138)
THEN
2399 ELSE IF (kpds(3).EQ.139)
THEN
2403 ELSE IF (kpds(3).EQ.140)
THEN
2408 ELSE IF (kpds(3).EQ.145)
THEN
2412 ELSE IF (kpds(3).EQ.146)
THEN
2416 ELSE IF (kpds(3).EQ.147)
THEN
2420 ELSE IF (kpds(3).EQ.148)
THEN
2424 ELSE IF (kpds(3).EQ.150)
THEN
2428 ELSE IF (kpds(3).EQ.151)
THEN
2432 ELSE IF (kpds(3).EQ.160)
THEN
2436 ELSE IF (kpds(3).EQ.161)
THEN
2440 ELSE IF (kpds(3).EQ.163)
THEN
2444 ELSE IF (kpds(3).EQ.170)
THEN
2448 ELSE IF (kpds(3).EQ.171)
THEN
2452 ELSE IF (kpds(3).EQ.172)
THEN
2456 ELSE IF (kpds(3).EQ.173)
THEN
2460 ELSE IF (kpds(3).EQ.174)
THEN
2464 ELSE IF (kpds(3).EQ.175)
THEN
2468 ELSE IF (kpds(3).EQ.176)
THEN
2472 ELSE IF (kpds(3).EQ.179)
THEN
2476 ELSE IF (kpds(3).EQ.180)
THEN
2480 ELSE IF (kpds(3).EQ.181)
THEN
2484 ELSE IF (kpds(3).EQ.182)
THEN
2488 ELSE IF (kpds(3).EQ.183)
THEN
2492 ELSE IF (kpds(3).EQ.184)
THEN
2496 ELSE IF (kpds(3).EQ.187)
THEN
2500 ELSE IF (kpds(3).EQ.188)
THEN
2504 ELSE IF (kpds(3).EQ.189)
THEN
2508 ELSE IF (kpds(3).EQ.190)
THEN
2512 ELSE IF (kpds(3).EQ.192)
THEN
2516 ELSE IF (kpds(3).EQ.193)
THEN
2520 ELSE IF (kpds(3).EQ.194)
THEN
2524 ELSE IF (kpds(3).EQ.195)
THEN
2528 ELSE IF (kpds(3).EQ.196)
THEN
2532 ELSE IF (kpds(3).EQ.197)
THEN
2536 ELSE IF (kpds(3).EQ.198)
THEN
2540 ELSE IF (kpds(3).EQ.199)
THEN
2544 ELSE IF (iand(kpds(4),128).EQ.128)
THEN
2548 ELSE IF (kpds(3).GE.200)
THEN
2549 IF (kpds(3).EQ.200)
THEN
2552 ELSE IF (kpds(3).EQ.201)
THEN
2555 ELSE IF (kpds(3).EQ.202)
THEN
2558 ELSE IF (kpds(3).EQ.203.OR.kpds(3).EQ.205)
THEN
2561 ELSE IF (kpds(3).EQ.204)
THEN
2564 ELSE IF (kpds(3).EQ.206)
THEN
2567 ELSE IF (kpds(3).EQ.207)
THEN
2570 ELSE IF (kpds(3).EQ.208)
THEN
2573 ELSE IF (kpds(3).EQ.209)
THEN
2576 ELSE IF (kpds(3).EQ.210)
THEN
2579 ELSE IF (kpds(3).EQ.211)
THEN
2582 ELSE IF (kpds(3).EQ.212)
THEN
2585 ELSE IF (kpds(3).EQ.213)
THEN
2588 ELSE IF (kpds(3).EQ.214)
THEN
2591 ELSE IF (kpds(3).EQ.215)
THEN
2594 ELSE IF (kpds(3).EQ.216)
THEN
2597 ELSE IF (kpds(3).EQ.217)
THEN
2600 ELSE IF (kpds(3).EQ.218)
THEN
2603 ELSE IF (kpds(3).EQ.219)
THEN
2606 ELSE IF (kpds(3).EQ.220)
THEN
2609 ELSE IF (kpds(3).EQ.221)
THEN
2612 ELSE IF (kpds(3).EQ.222)
THEN
2615 ELSE IF (kpds(3).EQ.223)
THEN
2618 ELSE IF (kpds(3).EQ.224)
THEN
2621 ELSE IF (kpds(3).EQ.225)
THEN
2624 ELSE IF (kpds(3).EQ.226)
THEN
2627 ELSE IF (kpds(3).EQ.227)
THEN
2630 ELSE IF (kpds(3).EQ.228)
THEN
2633 ELSE IF (kpds(3).EQ.229)
THEN
2636 ELSE IF (kpds(3).EQ.230)
THEN
2639 ELSE IF (kpds(3).EQ.231)
THEN
2642 ELSE IF (kpds(3).EQ.232)
THEN
2645 ELSE IF (kpds(3).EQ.233)
THEN
2648 ELSE IF (kpds(3).EQ.234)
THEN
2651 ELSE IF (kpds(3).EQ.235)
THEN
2654 ELSE IF (kpds(3).EQ.236)
THEN
2657 ELSE IF (kpds(3).EQ.237)
THEN
2660 ELSE IF (kpds(3).EQ.238)
THEN
2663 ELSE IF (kpds(3).EQ.239)
THEN
2666 ELSE IF (kpds(3).EQ.240)
THEN
2669 ELSE IF (kpds(3).EQ.241)
THEN
2672 ELSE IF (kpds(3).EQ.242)
THEN
2675 ELSE IF (kpds(3).EQ.243)
THEN
2678 ELSE IF (kpds(3).EQ.244)
THEN
2681 ELSE IF (kpds(3).EQ.245)
THEN
2684 ELSE IF (kpds(3).EQ.246)
THEN
2687 ELSE IF (kpds(3).EQ.247)
THEN
2690 ELSE IF (kpds(3).EQ.248)
THEN
2693 ELSE IF (kpds(3).EQ.249)
THEN
2696 ELSE IF (kpds(3).EQ.250)
THEN
2699 ELSE IF (kpds(3).EQ.251)
THEN
2702 ELSE IF (kpds(3).EQ.252)
THEN
2705 ELSE IF (kpds(3).EQ.253)
THEN
2708 ELSE IF (kpds(3).EQ.254)
THEN
2711 ELSE IF (iand(kpds(4),128).EQ.128)
THEN
2721 IF (kpds(1).EQ.34)
THEN
2722 IF (iand(kpds(4),128).EQ.128)
THEN
2731 IF (kpds(1).EQ.54)
THEN
2732 IF (iand(kpds(4),128).EQ.128)
THEN
2741 IF (kpds(1).EQ.58)
THEN
2742 IF (kpds(3).EQ.220.OR.kpds(3).EQ.221)
THEN
2751 IF (kpds(3).EQ.223)
THEN
2760 IF (iand(kpds(4),128).EQ.128)
THEN
2769 IF (kpds(1).EQ.74)
THEN
2770 IF (iand(kpds(4),128).EQ.128)
THEN
2777 IF (kpds(1).EQ.98)
THEN
2778 IF (kpds(3).GE.1.AND.kpds(3).LE.12)
THEN
2779 IF (kpds(3).GE.5.AND.kpds(3).LE.8)
THEN
2785 CALL fi637(j,kpds,kgds,kret)
2786 IF(kret.NE.0)
GO TO 810
2792 ELSE IF (kpds(3).GE.13.AND.kpds(3).LE.16)
THEN
2795 CALL fi637(j,kpds,kgds,kret)
2796 IF(kret.NE.0)
GO TO 810
2801 ELSE IF (iand(kpds(4),128).EQ.128)
THEN
2809 IF (iand(kpds(4),128).EQ.128)
THEN
2822 CALL fi637 (j,kpds,kgds,kret)
2823 IF(kret.NE.0)
GO TO 801
2851 j = kgds(2) * kgds(3)
2854 IF (kpds(3).EQ.211) kret = 0
2881 SUBROUTINE fi634x(NPTS,NSKP,MSGA,KBMS)
2884 LOGICAL*1 KBMS(NPTS)
2887 CALL gbytesc(msga,ichk,nskp,1,0,npts)
3055 SUBROUTINE fi635(MSGA,KPTR,KPDS,KGDS,KBMS,DATA,KRET)
3067 INTEGER,
ALLOCATABLE:: KSAVE(:)
3081 kptr(8) = kptr(9) + (kptr(2)*8) + (kptr(3)*8) + (kptr(4)*8)
3082 * + (kptr(5)*8) + 24
3085 CALL gbytec(msga,kptr(14),kptr(8),4)
3086 kptr(8) = kptr(8) + 4
3088 CALL gbytec(msga,kptr(15),kptr(8),4)
3089 kptr(8) = kptr(8) + 4
3090 kend = kptr(9) + (kptr(2)*8) + (kptr(3)*8) + (kptr(4)*8)
3091 * + (kptr(5)*8) + kptr(6) * 8 - kptr(15)
3095 CALL gbytec (msga,ksign,kptr(8),1)
3096 kptr(8) = kptr(8) + 1
3098 CALL gbytec (msga,kscale,kptr(8),15)
3099 kptr(8) = kptr(8) + 15
3100 IF (ksign.GT.0)
THEN
3108 call gbytec(msga,jsgn,kptr(8),1)
3109 call gbytec(msga,jexp,kptr(8)+1,7)
3110 call gbytec(msga,ifr,kptr(8)+8,24)
3111 kptr(8) = kptr(8) + 32
3121 ELSE IF (jexp.EQ.0.AND.ifr.EQ.0)
THEN
3124 refnce = float(ifr) * 16.0 ** (jexp - 64 - 6)
3125 IF (jsgn.NE.0) refnce = - refnce
3130 CALL gbytec (msga,kbits,kptr(8),8)
3131 kptr(8) = kptr(8) + 8
3141 IF (iand(kptr(14),1).EQ.0)
THEN
3145 CALL gbytec (msga,koctet,kptr(8),16)
3146 kptr(8) = kptr(8) + 16
3149 CALL gbytec (msga,kxflag,kptr(8),8)
3151 kptr(8) = kptr(8) + 8
3152 IF (iand(kxflag,16).EQ.0)
THEN
3159 IF (iand(kxflag,32).EQ.0)
THEN
3166 IF (iand(kxflag,64).EQ.0)
THEN
3175 CALL gbytec (msga,nr,kptr(8),16)
3176 kptr(8) = kptr(8) + 16
3179 CALL gbytec (msga,nc,kptr(8),16)
3180 kptr(8) = kptr(8) + 16
3183 CALL gbytec (msga,nrv,kptr(8),8)
3184 kptr(8) = kptr(8) + 8
3187 CALL gbytec (msga,nc1,kptr(8),8)
3188 kptr(8) = kptr(8) + 8
3191 CALL gbytec (msga,ncv,kptr(8),8)
3192 kptr(8) = kptr(8) + 8
3195 CALL gbytec (msga,nc2,kptr(8),8)
3196 kptr(8) = kptr(8) + 8
3199 CALL gbytec (msga,kphys1,kptr(8),8)
3200 kptr(8) = kptr(8) + 8
3203 CALL gbytec (msga,kphys2,kptr(8),8)
3204 kptr(8) = kptr(8) + 8
3207 IF (kbits.EQ.0)
THEN
3209 scal10 = 10.0 ** kpds(22)
3210 scal10 = 1.0 / scal10
3211 refn10 = refnce * scal10
3213 DO 210 i = 1, kentry
3222 knr = (kend - kptr(8)) / kbits
3229 nrbyte = kptr(6) - 11
3231 nrbits = nrbyte * 8 - kptr(15)
3233 kentry = nrbits / kbits
3235 ALLOCATE(ksave(kentry))
3243 IF (iand(kptr(14),8).EQ.0)
THEN
3245 IF (iand(kptr(14),4).EQ.0)
THEN
3247 IF (iand(kptr(14),1).EQ.0)
THEN
3250 ELSE IF (iand(kptr(14),1).NE.0)
THEN
3252 IF (kbds(17).EQ.0)
THEN
3254 IF (kbds(14).EQ.0)
THEN
3256 IF (kbds(16).EQ.0)
THEN
3259 ELSE IF (kbds(16).NE.0)
THEN
3263 ELSE IF (kbds(14).NE.0)
THEN
3265 IF (kbds(16).EQ.0)
THEN
3268 ELSE IF (kbds(16).NE.0)
THEN
3273 ELSE IF (kbds(17).NE.0)
THEN
3275 IF (kbds(14).EQ.0)
THEN
3277 IF (kbds(16).EQ.0)
THEN
3280 ELSE IF (kbds(16).NE.0)
THEN
3284 ELSE IF (kbds(14).NE.0)
THEN
3286 IF (kbds(16).EQ.0)
THEN
3289 ELSE IF (kbds(16).NE.0)
THEN
3296 ELSE IF (iand(kptr(14),4).NE.0)
THEN
3298 IF (iand(kptr(14),1).EQ.0)
THEN
3300 ELSE IF (iand(kptr(14),1).NE.0)
THEN
3302 IF (kbds(17).EQ.0)
THEN
3304 IF (kbds(14).EQ.0)
THEN
3306 IF (kbds(16).EQ.0)
THEN
3309 ELSE IF (kbds(16).NE.0)
THEN
3314 CALL fi636 (
DATA,msga,kbms,
3315 * refnce,kptr,kpds,kgds)
3317 ELSE IF (kbds(14).NE.0)
THEN
3319 IF (kbds(16).EQ.0)
THEN
3322 ELSE IF (kbds(16).NE.0)
THEN
3326 CALL fi636 (
DATA,msga,kbms,
3327 * refnce,kptr,kpds,kgds)
3330 ELSE IF (kbds(17).NE.0)
THEN
3332 IF (kbds(14).EQ.0)
THEN
3334 IF (kbds(16).EQ.0)
THEN
3337 ELSE IF (kbds(16).NE.0)
THEN
3341 ELSE IF (kbds(14).NE.0)
THEN
3343 IF (kbds(16).EQ.0)
THEN
3346 ELSE IF (kbds(16).NE.0)
THEN
3354 ELSE IF (iand(kptr(14),8).NE.0)
THEN
3356 IF (iand(kptr(14),4).EQ.0)
THEN
3358 IF (iand(kptr(14),1).EQ.0)
THEN
3361 ELSE IF (iand(kptr(14),1).NE.0)
THEN
3363 IF (kbds(17).EQ.0)
THEN
3365 IF (kbds(14).EQ.0)
THEN
3367 IF (kbds(16).EQ.0)
THEN
3370 ELSE IF (kbds(16).NE.0)
THEN
3374 ELSE IF (kbds(14).NE.0)
THEN
3376 IF (kbds(16).EQ.0)
THEN
3379 ELSE IF (kbds(16).NE.0)
THEN
3384 ELSE IF (kbds(17).NE.0)
THEN
3386 IF (kbds(14).EQ.0)
THEN
3388 IF (kbds(16).EQ.0)
THEN
3391 ELSE IF (kbds(16).NE.0)
THEN
3395 ELSE IF (kbds(14).NE.0)
THEN
3397 IF (kbds(16).EQ.0)
THEN
3400 ELSE IF (kbds(16).NE.0)
THEN
3407 ELSE IF (iand(kptr(14),4).NE.0)
THEN
3410 IF (iand(kptr(14),1).EQ.0)
THEN
3412 ELSE IF (iand(kptr(14),1).NE.0)
THEN
3414 IF (kbds(17).EQ.0)
THEN
3416 IF (kbds(14).EQ.0)
THEN
3418 IF (kbds(16).EQ.0)
THEN
3421 ELSE IF (kbds(16).NE.0)
THEN
3425 ELSE IF (kbds(14).NE.0)
THEN
3427 IF (kbds(16).EQ.0)
THEN
3430 ELSE IF (kbds(16).NE.0)
THEN
3435 ELSE IF (kbds(17).NE.0)
THEN
3437 IF (kbds(14).EQ.0)
THEN
3439 IF (kbds(16).EQ.0)
THEN
3442 ELSE IF (kbds(16).NE.0)
THEN
3446 ELSE IF (kbds(14).NE.0)
THEN
3448 IF (kbds(16).EQ.0)
THEN
3451 ELSE IF (kbds(16).NE.0)
THEN
3460 IF(
ALLOCATED(ksave))
DEALLOCATE(ksave)
3469 scal10 = 10.0 ** kpds(22)
3470 scal10 = 1.0 / scal10
3471 IF (kpds(3).EQ.23.OR.kpds(3).EQ.24.OR.kpds(3).EQ.26.
3472 * or.kpds(3).EQ.63.OR.kpds(3).EQ.64)
THEN
3473 IF (kpds(3).EQ.26)
THEN
3475 ELSE IF (kpds(3).EQ.63.OR.kpds(3).EQ.64)
THEN
3480 CALL gbytesc (msga,ksave,kptr(8),kbits,0,knr)
3481 kptr(8) = kptr(8) + kbits * knr
3484 DO 4001 i = 1, kentry
3486 DATA(i) = (refnce+float(ksave(ii))*scale)*scal10
3495 ELSE IF (kpds(3).EQ.21.OR.kpds(3).EQ.22.OR.kpds(3).EQ.25.
3496 * or.kpds(3).EQ.61.OR.kpds(3).EQ.62)
THEN
3497 CALL gbytesc (msga,ksave,kptr(8),kbits,0,knr)
3500 DO 4011 i = 1, kentry
3502 DATA(i) = (refnce + float(ksave(ii)) * scale) * scal10
3508 IF (kpds(3).EQ.25)
THEN
3510 ELSE IF (kpds(3).EQ.61.OR.kpds(3).EQ.62)
THEN
3515 lastp = kentry - kadd
3516 DO 4012 i = lastp+1, kentry
3517 DATA(i) =
DATA(lastp)
3520 CALL gbytesc (msga,ksave,kptr(8),kbits,0,knr)
3523 DO 500 i = 1, kentry
3525 DATA(i) = (refnce + float(ksave(ii)) * scale) * scal10
3539 call gbytec(msga,jsgn,kptr(8),1)
3540 call gbytec(msga,jexp,kptr(8)+1,7)
3541 call gbytec(msga,ifr,kptr(8)+8,24)
3542 kptr(8) = kptr(8) + 32
3549 ELSE IF (jexp.EQ.0.AND.ifr.EQ.0)
THEN
3552 realkk = float(ifr) * 16.0 ** (jexp - 64 - 6)
3553 IF (jsgn.NE.0) realkk = -realkk
3556 CALL gbytesc (msga,ksave,kptr(8),kbits,0,knr)
3558 DO 6000 i = 1, kentry
3559 DATA(i+1) = refnce + float(ksave(i)) * scale
3562 IF(
ALLOCATED(ksave))
DEALLOCATE(ksave)
3700 SUBROUTINE fi636 (DATA,MSGA,KBMS,REFNCE,KPTR,KPDS,KGDS)
3708 character(len=1) BMAP2(1000000)
3710 INTEGER KBIT,IFOVAL,ISOVAL
3711 INTEGER KPDS(*),KGDS(*)
3724 ibds = kptr(2) + kptr(3) + kptr(4) + kptr(5)
3732 CALL gbytec (msga,isign,jptr+32,1)
3733 CALL gbytec (msga,kbds(11),jptr+33,15)
3734 IF (isign.GT.0)
THEN
3735 kbds(11) = - kbds(11)
3740 call gbytec(msga,jsgn,kptr(8),1)
3741 call gbytec(msga,jexp,kptr(8)+1,7)
3742 call gbytec(msga,ifr,kptr(8)+8,24)
3745 ELSE IF (jexp.EQ.0.AND.ifr.EQ.0)
THEN
3748 refnce = float(ifr) * 16.0 ** (jexp - 64 - 6)
3749 IF (jsgn.NE.0) refnce = - refnce
3753 CALL gbytec(msga,kbds(13),jptr+80,8)
3757 CALL gbytec (msga,kbds(1),jptr,16)
3761 CALL gbytec (msga,kflag,jptr,8)
3763 IF (iand(kflag,32).NE.0)
THEN
3768 IF (iand(kflag,16).NE.0)
THEN
3773 IF (iand(kflag,64).NE.0)
THEN
3780 CALL gbytec (msga,kbds(2),jptr,16)
3784 CALL gbytec (msga,kbds(3),jptr,16)
3788 CALL gbytec (msga,kbds(4),jptr,16)
3796 IF (kbds(14).NE.0)
THEN
3798 jptr = jptr + (kbds(3) * 8)
3805 kbds(7) = kbds(9) + kbds(1) * 8 - 8
3808 kbds(8) = kbds(9) + kbds(2) * 8 - 8
3831 IF (kbds(14).EQ.0)
THEN
3833 IF (kgds(2).EQ.65535)
THEN
3834 IF (kgds(20).EQ.255)
THEN
3838 lp = kptr(9) + kptr(2)*8 + kptr(3)*8 + kgds(20)*8 - 8
3841 DO 2000 jz = 1, kgds(3)
3843 CALL gbytec (msga,number,lp,16)
3847 DO 1500 jq = 1, number
3849 CALL sbytec (bmap2,1,jt,1)
3851 CALL sbytec (bmap2,0,jt,1)
3858 IF (iand(kgds(11),32).EQ.0)
THEN
3873 CALL sbytec (bmap2,1,ij,1)
3875 CALL sbytec (bmap2,0,ij,1)
3888 scale2 = 2.0**kbds(11)
3889 scal10 = 10.0**kpds(22)
3891 DO 1000 i = 1, kptr(10)
3897 IF (kbds(14).NE.0)
THEN
3898 CALL gbytec (msga,kbit,kbds(6),1)
3900 CALL gbytec (bmap2,kbit,kbds(6),1)
3903 kbds(6) = kbds(6) + 1
3907 CALL gbytec (msga,ifoval,kbds(7),kbds(13))
3908 kbds(7) = kbds(7) + kbds(13)
3911 CALL gbytec (msga,kbds(15),kbds(5),8)
3912 kbds(5) = kbds(5) + 8
3919 IF (kbds(15).EQ.0)
THEN
3925 CALL gbytec (msga,isoval,kbds(8),kbds(15))
3926 kbds(8) = kbds(8) + kbds(15)
3928 DATA(i) = (refnce + (float(ifoval + isoval) *
3967 SUBROUTINE fi637(J,KPDS,KGDS,KRET)
3978 IF (iand(kpds(4),128).EQ.0)
RETURN
3982 IF (kgds(2).EQ.65535)
THEN
3986 i = kgds(2) * kgds(3)
3990 IF (kpds(3).GE.21.AND.kpds(3).LE.26)
THEN
3994 ELSE IF (kpds(3).GE.37.AND.kpds(3).LE.44)
THEN
3998 ELSE IF (kpds(3).EQ.50)
THEN
4002 ELSE IF (kpds(3).GE.61.AND.kpds(3).LE.64)
THEN
4009 ELSE IF (kpds(1).EQ.98)
THEN
4011 IF (kpds(3).GE.1.AND.kpds(3).LE.16)
THEN
4013 IF (kpds(3) .NE. 2)
THEN
4015 ELSEIF (i .NE. 10512)
THEN
4027 ELSE IF (kpds(1).EQ.74)
THEN
4029 IF (kpds(3).GE.25.AND.kpds(3).LE.26)
THEN
4040 ELSE IF (kpds(1).EQ.54)
THEN
4046 ELSE IF (kpds(1).EQ.34)
THEN
4052 ELSE IF (kpds(1).EQ.58)
THEN
4053 IF (kpds(3).GE.37.AND.kpds(3).LE.44)
THEN
4057 ELSE IF (kpds(3).GE.220.AND.kpds(3).LE.221)
THEN
4061 ELSE IF (kpds(3).EQ.223)
THEN
4072 ELSE IF (kpds(1).EQ.7)
THEN
4074 IF (kpds(3).GE.1.AND.kpds(3).LE.6)
THEN
4078 ELSE IF (kpds(3).EQ.8)
THEN
4082 ELSE IF (kpds(3).EQ.10)
THEN
4086 ELSE IF (kpds(3).GE.11.AND.kpds(3).LE.18)
THEN
4090 ELSE IF (kpds(3).GE.27.AND.kpds(3).LE.30)
THEN
4094 ELSE IF (kpds(3).GE.33.AND.kpds(3).LE.34)
THEN
4098 ELSE IF (kpds(3).GE.37.AND.kpds(3).LE.45)
THEN
4102 ELSE IF (kpds(3).EQ.53)
THEN
4106 ELSE IF (kpds(3).GE.55.AND.kpds(3).LE.56)
THEN
4110 ELSE IF (kpds(3).GE.67.AND.kpds(3).LE.77)
THEN
4114 ELSE IF (kpds(3).GE.85.AND.kpds(3).LE.88)
THEN
4118 ELSE IF (kpds(3).GE.90.AND.kpds(3).LE.99)
THEN
4122 ELSE IF (kpds(3).EQ.100.OR.kpds(3).EQ.101)
THEN
4126 ELSE IF (kpds(3).GE.103.AND.kpds(3).LE.107)
THEN
4130 ELSE IF (kpds(3).EQ.110)
THEN
4134 ELSE IF (kpds(3).EQ.120)
THEN
4138 ELSE IF (kpds(3).GE.122.AND.kpds(3).LE.130)
THEN
4142 ELSE IF (kpds(3).EQ.132)
THEN
4146 ELSE IF (kpds(3).EQ.138)
THEN
4150 ELSE IF (kpds(3).EQ.139)
THEN
4154 ELSE IF (kpds(3).EQ.140)
THEN
4158 ELSE IF (kpds(3).GE.145.AND.kpds(3).LE.148)
THEN
4162 ELSE IF (kpds(3).EQ.150.OR.kpds(3).EQ.151)
THEN
4166 ELSE IF (kpds(3).EQ.160.OR.kpds(3).EQ.161)
THEN
4170 ELSE IF (kpds(3).EQ.163)
THEN
4174 ELSE IF (kpds(3).GE.170.AND.kpds(3).LE.176)
THEN
4178 ELSE IF (kpds(3).GE.179.AND.kpds(3).LE.184)
THEN
4182 ELSE IF (kpds(3).EQ.187)
THEN
4186 ELSE IF (kpds(3).EQ.188)
THEN
4190 ELSE IF (kpds(3).EQ.189)
THEN
4194 ELSE IF (kpds(3).EQ.190.OR.kpds(3).EQ.192)
THEN
4198 ELSE IF (kpds(3).GE.193.AND.kpds(3).LE.199)
THEN
4202 ELSE IF (kpds(3).GE.200.AND.kpds(3).LE.254)
THEN