
книги из ГПНТБ / Кастин, О. М. Система первичной обработки метеорологической информации
.pdfдельных процедур, об успешности работы системы ПООМИ и о путях дальнейшего ее совершенствования.
2.6.СОСТАВ СИСТЕМЫ ПООМИ
Вданном разделе приведен перечень процедур, составляющих си стему ПООМИ. Для удобства дальнейшего изложения каждой процедуре
пряовоѳно сокращенное название, а для облегчения чтения АЛГОЛхѳкста алгоритмов, приведенного в приложениях, названия большинст ва процедур выбраны совпадающими.с названиями соответствующих ал горитмов в приложениях. Процедуры, подробное рассмотрение которых не предполагается, снабжены в перечне некоторыми пояснениями.
1. SDT1Q |
- |
Сдвиг машинного слова А и |
п |
битов влево или |
впраго |
|||||||||
|
|
(разд. І.4.І). |
|
|
|
|
|
|
|
|
|
|||
2. TOOD |
- Побитное сравнение |
машинных |
слов |
А и В; |
вырабатывает |
|||||||||
|
|
ся значение true , если А и В тождественны побитно, и |
||||||||||||
|
|
значение false-в противном случае (разд. 1.4.2). |
|
|||||||||||
3. ТВОЕ |
- |
Выделение |
части машинного |
слова |
и преобразование |
вы |
||||||||
|
|
деленной части слова, рассматриваемой как двоичное це |
||||||||||||
4.DN0H |
|
лое |
число, |
Ктипу |
Integer |
(разд. 1.4.3). |
|
|
|
|||||
- |
Преобразование |
значения переменной типа Integer в дво |
||||||||||||
|
|
ичное целое число с размещением его о любого |
бита |
в |
||||||||||
|
|
слове (разд. 1.4.4). |
|
|
|
|
|
|
|
|||||
5. ТТЛ |
- |
Преобразование |
значения величины, |
представленной K S - |
||||||||||
|
|
символами |
в группе |
G , начиная |
с символа |
с |
номером |
|||||||
|
|
NS |
, в двоичное целое нормализованное |
число |
(с плава |
|||||||||
|
|
ющей запятой). Перевод в двоичную систему счисления |
||||||||||||
|
|
выполняется без учета признака буквенного |
|
регистра |
||||||||||
|
|
(разд. 3.1), т.е. переводимые символы считаются |
по |
|||||||||||
|
|
данными на цифровом регистре. Боли в преобразуемой |
|
|||||||||||
|
|
части группы имеются "непереводимые" символы |
(не |
яв |
||||||||||
|
|
ляющиеся цифрами), то результатом перевода являѳтоя |
||||||||||||
6. Rio |
|
отрицательное число (-1). |
|
|
|
|
|
|
|
|||||
- Переход к |
обработке |
строки |
текста |
о номером |
N T S : во |
|||||||||
|
|
ли |
NTS > кзNB |
(количество |
строк на буфере |
отрок |
|
|||||||
|
|
BOST'), то очередная строка выбирается на буфер отрок |
||||||||||||
|
|
из массива исходных данных (ів); |
если N T S |
< |
X S N B |
, |
||||||||
|
|
то обрабатываемая строка уже находится на буфере отрок |
||||||||||||
|
|
(разд. |
3.1). |
|
|
|
|
|
|
|
|
|
||
7. BPо |
- Выборка |
очередной группы из |
обрабатываемой |
строки |
|
|||||||||
|
|
текста |
с внесением возможных изменений |
в |
структуру |
20
8. ZPNX
9.
10.RAT
строки, если желаемая длина |
очередной |
группы |
( GDG |
) |
не соответствует фактической ее длине |
(раэд. |
3.2). |
|
|
Перенос одной строки текста |
с номером |
N T S с |
буфера |
|
строк в массив неопознанной информации PNL . При атом происходит изменение формата строки - вместо посимволь ного представления используется побайтное представле ние, аналогичное представлению телеграфной информации
в массиве I D (разд. 2.2). Перед |
занесением строки |
в |
||||
массив |
PNI проверяется, можно ли ее разместить. Если |
|||||
нет, |
то |
содержимое массива P N I |
переносится во |
внѳи- |
||
нюю память машины, массив очищается, а затем npoicxo'-N |
||||||
дит занесение |
строки в P N I . |
|
|
|
||
PZST Поиск заголовка сводки, содержащей сообщения одного |
|
|||||
из обрабатываемых системой ПООЫИ видов (разд. 4.1). |
|
|||||
Поиск |
и обработка аэрологических |
(сухопутных и |
судо |
|||
вых) |
сообщений |
(разд. 4.2). |
|
|
|
11.RST Поиск и обработка синоптических (сухопутных и судовых)
|
|
|
сообщений |
(разд. 4.3). |
|
|
12. |
FKMM Размещение- |
на ЫБ массивов макетов, заполняемых во вре |
||||
|
|
|
мя работы процедур R A T и R S S , и формирование катало |
|||
|
|
|
га массивов макетов КММ, содержащего информацию о каж |
|||
|
|
|
дом записываемом на ІІБ массиве макетов (вид информации, |
|||
|
|
|
длину массива, адрес массива на ЫБ, номер месяца |
и |
||
|
|
|
день месяца), необходимую для работы процедур сортиров |
|||
|
|
|
ки. |
|
|
|
I3.STAT |
|
- Контроль данных о геопотенциале |
изобарических поверх |
|||
|
|
|
ностей и температуре (статический контроль,разд.5.1.2). |
|||
14.SORTА |
- Сортировка |
макетов аэрологических сообщений ( ранд. |
||||
|
|
|
5.І.І). |
|
|
|
15.SORTS |
- Сортировка |
макетов синоптических сообщений (ра8д.5.2). |
||||
16.STORE |
- |
Размещение |
макетов сообщений после сортировки во внѳи- |
|||
|
|
|
нѳй памяти |
малины (разд. 5.І.І и |
5.2). |
|
Г?. STINT |
- |
Накопление |
и выдача статистической информации о под |
|||
|
|
|
вергавшихся обработке исходных данных,о работе проце |
|||
|
|
|
дур системы и их отдельных частей, а также о результа |
|||
|
|
|
тах обработки. |
|
|
|
18. PAS |
|
|
Построение |
словаря аэрологических станций (разд. |
6.2). |
19.PSS Построение словаря синоптических станций (разд. 6.3).
20.OUTINF - Выдача на АЦПУ первичной метеорологической информации,
размещенной в машине побайтно в коде UTK-2 (разд.2.2). 21. OUTBUFВыдача на АЦПУ содержимого буфера отрок, т.е. телеграф
ной информации, размещенной посимвольно (раэд. З.і).
21
22. OUTAM - Выдача на АЦПУ канатов аэрологических сообщений (сухо путных и судовых), размещенных на МЛ (прил. 4).
23. OUTSM - Выдача на АЦПУ макетов синоптических сообщений (сухо путных и судовых), размещенных на МЛ (прил. 5).
Выполнение каждой из приведенных выше процедур обработки не обязательно осуществляется отдельным модулем системы. Так, элемен ты процедуры STXNF присутствуют почти во всех модулях.
Перечисленные процедуры существенно различны как по сложности
и объему |
(от |
нескольких десятков до |
нескольких |
тысяч |
машинных |
команд), |
так |
и по степени общности |
относительно |
их использования |
при обработке различных видов метеорологической информации. Все
процедуры могут |
быть разделены на пять групп по их участию в про |
|
цессе переработки метѳоинформации: |
||
A. Процедуры работы |
с машинными словами U-4). |
|
Б. Процедуры |
преобразования текста (5-8). |
|
B. Процедуры анализа |
текста (9-п). |
Г.Процедуры сортировки и размещения информации (12-17).
Д.Вспомогательные процедуры (18-23).
Содержание некоторых процедур групп Б, В, Г и Д рассматривает ся в последующих разделах.
2.7. МАШИННАЯ ОРИЕНТАЦИЯ ОПИСАНИЯ АЛГОРИТМОВ СИСТЕМЫ
Алгоритмы системы ПООМИ описаны на языке АЛГОЛ-60 с использова нием рассмотренных в разд.І особенностей большой ЭВМ Гидрометцент ра СССР (длина машинного слова и объем оперативной памяти).особен
ностей АЛГОЛ-транслятора (представление |
переменных типа Boolean |
|
и возможность обращения к СП библиотеки |
операционной системы) |
и |
некоторых дополнительных средств (СП для |
работы с частями машинно |
го слова). Охарактеризуем кратко в связи с этим описания процедур
групп Б, |
В, Г и Д (раэд. |
2.6). |
|
|
|
|
|
|
В процедурах преобразования |
(Б) и анализа |
(В) текста |
дополни |
|||||
тельные (неалгольныѳ) средства используются минимально. |
Так, |
в |
||||||
процедурах RIß |
и Z P O |
машинно-зависимыми являются лишь |
операции |
|||||
выборки очередного телеграфного символа из плотно размещенного |
|
|||||||
массива |
исходных данных |
ID (раэд. 2.2) |
и занесения очередного |
|
||||
символа |
строки |
буфера B U S T |
в массив |
P N I |
(разд. 2.6, п. 8), |
|||
соответственно. |
В процедурах |
RAI и RST |
дополнительные |
сродства |
испольвованы при описании алгоритмов поиска номеров станций в сло варях номеров станций и при описании упаковки макетов аэрологичес ких (раэд. 4.2.6) и синоптических (разд. 4.3.2.5) сообщений и за
22
несения упакованных макетов в соответствующие массивы макетов.
Вописаниях процедур сортировки (Г) и вспомогательных процедур
(Д)особенности машины и транслятора используются существенно,так как эти процедуры выполняют обработку массивов данных, плотно раз мещенных в памяти машины: массивов уплотненных макетов, массивов исходной и неопознанной информации, массивов таблиц словарей но меров станций.
С точки зрения используемого при работе системы объема оператив ной памяти машины можно отметить следующее. Объем оперативной па мяти, используемой на этапе опознавания и раскодирования сообще ний, складывается из I2K, занимаемых программой и словарями, и па мяти, занимаемой массивами I D , UAli, M S M и P N J , размеры ко торых могут изменяться путем задания соответствующих значений па раметров системы DMID, DMA14 , DHSM и DPNI . На этапе сорти ровки общий объем используемой системой оперативной памяти состав ляет 48К. Это позволяет достаточно просто организовать алгоритм
-.сортировки и размещения во внешней памяти макетов сообщений в расчете на максимально возможное число аэрологических и синопти ческих сообщений.
3. ОРГАНИЗАЦИЯ РАБОТЫ С ТЕКСТОМ В СИСТЕМЕ ПООМИ
Необходимо отметить две важные особенности организации работы с текстом в рассматриваемой системе ПООМИ. Первая из них заключа ется в тон, что процедуры анализа текста (раэд. 4) не обращаются непосредственно к массиву исходных данных (разд. 2.2), а получают строки и слова (группы) через специально предназначенные для это го процедуры. Такая организация работы позволяет, с одной стороны, повысить гибкость системы за счет выделения ряда модулей, а с дру гой, более четко сформулировать функции каждого модуля.
Вторая особенность организации работы с текстом заключается в размещении каждого символа строки иди слова, выдаваемых процедура ми преобразования текста для дальнѳйиѳго анализа, в отдельном ма шинном слове. Это позволяет сделать описание алгоритма поиска,опо знания и раскодирования сообщений в большой степени манинно-неза-
висимым (разд. |
7). |
|
|
|
|
|
||
К группе процедур преобразования текста отнесены четыре проце |
||||||||
дуры: т і н , |
H i a . B |
P Q и |
Z P H X |
. Рассмотрим две |
из них - л і о и |
B P Q . |
||
|
|
3.1. ПОДГОТОВКА ОЧЕРЕДНОЙ СТРОКИ ТЕКСТА |
|
|||||
В функции процедуры |
н т |
входят: |
|
|
|
|||
- |
выборка и з |
массива исходных данных I D и |
размещение на |
буфе |
||||
ре строк |
в ш т |
очередной |
строки текста; |
|
|
|
||
- присвоение значений характеристик обрабатываемой строки со |
||||||||
ответствующим переменным; |
|
|
|
|
||||
- |
о р г а н и з а ц и я ц и р к у л я ц и и с т р о к н а B U S T ; |
|
и чтение |
|
||||
- проверка окончания анализа тёкота массива |
I D |
оче |
||||||
редной 8оны данных о МД-ОС; |
|
|
|
|
||||
- проверка окончания данных очередной МЛ-ОС и переход к обра |
||||||||
ботке |
следующей МЛ-ОС |
(при |
кыі > I); |
|
|
|
24
- окончание этапа поиска сообщений и переход к сортировке маке тов, если вся имеющаяся на МЛ-ОС информация уже проанализирована.
Рис.4. Организация ойраиоткн строк на BUST
Общая схема работы процедуры из массива I D и размещение на и 6. Перед выполнением процедуры
Ria |
показана на |
рис.Ь, |
а выборка |
B U S T |
очередной |
строки |
- на рис.5 |
Riß. должны |
быть |
' заданы |
Рис.З. Выборка но массива исходных данных и размещение на буфере очередной строки текста.
значения |
переменных N T S (номер обрабатываемой строки госта |
на |
B U S T ) |
и OBST (обработанная строка). В начальный момент перемен- |
ная ОВЙГ имеет значение |
false t а H T S |
- значение I, что оз |
начает отсутствие на B U S T |
обработанных |
строк и необходимость |
выборки и размещения на буфере первой строки текста. Количество находящихся на буфере строк является значением переменной K S N B .
Рис.О. Организация обращения к исходным ааішым МЛ-ОС (выборка символа). |
|
|||||||||||
Если при очередном обращении к Rio ' переменная |
OB S T |
имеет |
зна |
|||||||||
чение fal3£ |
, то при |
|
NTS > K S N B |
осуществляется |
выборка |
из |
ID |
|||||
и перенос на B U S T |
строки с номером |
N TS , а при |
N T S é K S N B |
про |
||||||||
исходит переход к ухе имеющейся на |
|
B U S T строке. |
Если |
при |
обра |
|||||||
щении к |
Ria переменная OB S T имеет |
значение |
true |
, то при |
N T S > |
|||||||
K S N B |
это приводит1к удалению с |
B U S T всех имевшихся |
на |
нем |
||||||||
строк« выборке из I D |
и размещению от начала |
B U S T |
строки |
|
текс |
|||||||
та, а при NTS sg K S N B |
происходит удаление с B U S T |
|
первых NTS -I |
|||||||||
отрок, |
подтягивание |
к началу B U S T |
остальных строк и выдача для |
|||||||||
дальнейшего |
анализа |
|
первой отроки |
буфера. |
|
|
|
|
|
|
||
Информацией для построения и размещения на |
B U S T |
очередной |
стро |
|||||||||
ки тѳкота олужит часть содержащейся в массиве |
I D |
последовательнос |
ти телеграфных знаков, не содержащая знаков "перевод строки" и за
канчивающаяся перед таким знаком. Строка на B U S T |
имеет вид |
і , |
|||||||
®1 * ®2 • ••• • eos |
» гдѳ |
ßi |
» a 2 • ••• •®as |
“ группы данной |
|||||
строки, |
а через |
1 |
обозначены характеристики |
строки: |
ss - |
коли |
|||
чество |
символов |
в строке, |
вз |
- количество |
букв в строке, аз- |
||||
количество групп в строке и |
PS |
- число переводов строки |
без |
||||||
единицы, предшествовавших началу данной строки. |
Еоли |
очередная |
отрока содержит более 10 групп иля 50 символов, то она разбивает
ся на |
нѳоколько отрок. |
Информацией для построения группы служит чаоть последователь |
|
ности |
телеграфных енаков, являющейся информацией для построения |
26
[ G U T - : 5 IM V 1
z i r
ымѵ МЛіЦ
ь J-*—г“ іэи »jru / |
И |
NGl»Ul:<0 |
||
'~ Г ^ |
---- |
|||
|
I-- ГПТГн |
-- ЧКЯЬй! 1 |
|
|
d e r |
Z J L . |
г — ' |
\Ü,GitM/ |
|
|G[S6*tj:>SIHv|-------^ д Т н У М ^ '^ Т )^—* jiq:sM»*| |
|«М+ВД.Ѵ |
|||
|
Пне.7. Процедура подготовки групп (BPG)
І'ііс .8 . Пг.ір/шлош«} длинной ір уічіы ( S G > GÜG)
строки, нѳ содержащая знаков "возврат каретки" и "пробел" и закан
чивающаяся перед |
каждый |
из ?тих знаков. Группа имеет |
вид |
SG, slt |
||||||||||||
s2 , |
|
... , sSQ |
, где |
s1, |
s2, |
... ,sSQ |
- символы |
|
данной |
|||||||
группы, а |
SG - |
количество символов |
в |
группе. Если |
|
группа |
содер |
|||||||||
жит |
более |
17 |
символов, |
она делится на несколько групп не |
|
более |
||||||||||
чем |
по |
17 |
символов |
в каждой. Под |
очередным символом |
группы |
пони |
|||||||||
мается |
значение, |
соответствующее |
очередному |
телеграфному |
|
знаку |
||||||||||
по коду МТК-2 |
(прил.і), |
если этот знак подан в цифровом регист |
||||||||||||||
ре, |
либо |
увеличенное на |
32 |
значение |
телеграфного |
знака, |
если |
|||||||||
он подан в буквенном регистре. |
Сами |
знаки перехода |
|
на |
буквенный |
|||||||||||
іли |
цифровой |
регистры в число символов группы не включаются. |
||||||||||||||
|
|
|
3.2. ПОДГОТОВКА ОЧЕРЕДНОЙ ГРУППЫ (СЛОВА) |
|
|
|
||||||||||
На пути следования метеорологической информации от наблюдателя |
||||||||||||||||
к потребителю происходят |
различного |
рода искажения, |
|
часть |
|
которых |
||||||||||
может |
быть |
замечена |
уже |
при передаче |
и |
исправлена |
телеграфистом |
|||||||||
по рекомендованному |
ВМО |
стандартному |
правилу |
("Е", |
"."). Исключе |
ние |
ошибочных групп, исправленных по указанному правилу, происхо |
|
дит |
на уровне опознавания и раскодирования конкретных видов сооб |
|
щений (разд. 4.2.3 и |
4 3.2.1). |
|
|
Функции процедуры |
BPG состоят в следующем: |
-возможное исправление искажений формы групп;
-контроль окончания обрабатываемой строки;
-обнаружение символа окончания сообщения
-смена строки текста (при этом происходит обращение к проце дуре RIG ).
Перед выполнением процедуры BFG должно быть задано значение желаемой длины группы (ава ), т.ѳ. количества символов S G в тре буемой группе. Максимальное значение G D Q равно б.
Обработка групп происходит следующим образом (рис.7). Если для очередной группы, определяемой значением переменной N S G (начало
следующей группы в находящейся на |
B U S T |
строке), справедливо |
нера |
|||
венство S G < |
GDG |
, то |
она переносится в глооальный массив |
G, |
||
иопольэуемый |
процедурами |
анализа |
текста |
(разд.4). Далее, если sa = |
GDtt , то проверяется |
окончание строки, т.ѳ. не является ли выбран |
|||
ная группа последней |
в строке (в этом |
случае переменной E S |
при |
|
сваивается значение |
true), и происходит выход из процедуры BPG. |
|||
При S G < 0DG |
производится попытка |
объединения данной |
группы |
|
с последующими. |
При |
объединении групп |
запоминается общая |
длина |
групп (два ), оказавшихся объединенными. Благодаря этому |
можно |
28
игнорировать произвѳдѳнноѳ объединение, полагая к б о = 0, |
если |
выданную процедурой B P G группу не удалось расшифровать при |
смыс |
ловой анализе в процедурах обработки метеорологических сообщений»
Рис.!). Исключение лишнего (краПнего) символа в группе.
В этом |
случае |
(KS&: = 0) сдвиг для выбора следующей группы |
про |
||
исходит |
не |
на все |
оказавшиеся |
объединенными группы, а |
на од |
ну группу, |
которую |
не удалось |
исправить. |
|
\0 . N S ,
4 KS .
Бели для рассматриваемой группы sa > пытка исключения лишнего символа (рис.9)
G D Q , то производится по или разбиения ее на дво
2У