Пакет программ обслуживания модели

Главная / Програмная реалзиация /

Пакет программ-утилит обслуживания модели предназначен для работы с файлами данных модели на уровне логических файлов или узлов координатных сеток. Он включает следующие программы:

  • RINF.EXE — чтение информационной записи файла данных модели;
  • ZFL56.EXE — создание нового файла данных стандартной структуры и копирование в него выбранных логических файлов из какого-либо уже имеющегося файла данных;
  • COPMD.EXE — копирование логических файлов из одного файла данных в другой уже
  • имеющийся файл;
  • FL1.EXE — сравнение логических файлов поэлементно с указанной точностью;
  • PROFS.EXE — вывод рассчитанных параметров «шара» в узлах сетки, находящихся на одном вертикальном профиле (или во всех узлах одной долготной плоскости);
  • PTRUB.EXE — вывод рассчитанных параметров «трубки» в узлах сетки, находящихся на одной силовой линии (или во всех узлах одной долготной плоскости);
  • WRTIME.EXE — запись в метки времени логических файлов любого произвольного времени;
  • SETKA.EXE — расчет размерностей всех массивов в программе модели и коширот узлов сеток «шара» и «трубки» для заданных законов изменения шагов по кошироте (для перехода к другой пространственной сетке), а также создание нового файла данных MOD4 стандартной структуры для такой сетки;
  • NEWSETSH.EXE — интерполяция глобального распределения параметров «шара» из узлов одной координатной сетки в узлы другой, отличающейся коширотами и (или) долготами узлов;
  • NEWSETTR.EXE — интерполяция глобального распределения параметров «трубки» из узлов одной координатной сетки в узлы другой, отличающейся коширотами и (или) долготами оснований силовых линий.

Все программы пакета при работе используют информационную запись файлов данных (см.п.1.4.4.1) и автоматически (без перетрансляции) настраиваются на заданные в ней параметры: количество узлов по каждому измерению использованной при расчете координатной сетки, размеры и расположение логических файлов. Все программы пакета имеют однотипный пользовательский интерфейс и частично защищаются от ошибочных ответов пользователя на свои запросы.

Программа RINF.EXE

Программа RINF.EXE предназначена для чтения информационной записи файла данных модели стандартной структуры. Вызов ее из командной строки DOS производится командой (в квадратных скобках указаны необязательные параметры):

 RINF [ FileName  [ OutFile ] ] [ /D ]

где

 FileName - имя анализируемого файла данных модели;
 OutFile  - имя выходного файла для записи расшифровки содержимого информационной записи файла FileName;
 /D - управляющий ключ для получения "дампа" информационной записи.

Каждое из имен файлов может иметь длину до 50 символов (вместе с путем). Если в командной строке указан только один параметр, он понимается как имя файла данных модели. Если имя выходного файла не указано, создается файл со стандартным именем INFORM в текущей директории. Если в командной строк после имени программы нет ни одного параметра (или вызов производится просто нажатием Enter из оболочки Norton Commander при наведенном на файл RINF.EXE курсоре), программа просит ввести имя файла данных модели с клавиатуры (тоже до 50 символов). Если файла с указанным именем (введенным с клавиатуры или заданным параметром в командной строке) не существует, исполнение программы прерывается с выводом на терминал соответствующего сообщения.

Вывод результатов работы программы производится в текстовый файл на диск (с именем INFORM или заданным вторым параметром командной строки). Часть информации дополнительно выводится и на терминал.

Если не задан ключ /D, в файл на диск последовательно выводятся с пояснениями следующие параметры:

 - имя физического файла данных модели;
 - номер версии программы модели, создавшей этот файл;
 - таблица распределения логических файлов по физическим номерам (см. данные модели);
 - таблицы размещения логических файлов внутри файла данных модели 
   (по их физическим номерам) - массивы KDU(20) и KDF(20) (см. данные модели);
 - подробно описанные в п.1.4.4.1 параметры (по строкам вывода):
       KPART, KPARS, INT, INS;
       MDOR, NDF;
       DDOLGT, DDOLGS, DTETT, DTETS;
       RMIN, DH, NH, GAMMA, NTR;
       RMAXT, B, C;
       NZAPT, NZAPS, NZAPP, NZAPI, NADRT, NADRS, NADRP, NADRI;
       NL, KS (=NTPL*2), NI (=NTPL*INT), NR (=NTPL*KPART), ITS;
 - масcив NTSL(NL) - количества узлов на силовых линиях сетки
   "трубки";
 - масcив TETMS(ITS) - кошироты узлов сетки "шара";
 - масcив TETMT(NL2) - кошироты оснований силовых линий сетки
   "трубки";
 - масcив RADS(NH) - высоты узлов сетки "шара".

Затем в файл выводятся даты и времена, к которым относятся распределения параметров в логических файлах (содержимое их меток времени. Сами метки находятся из таблиц распределения и размещения логических файлов и адресов меток: напр. NZAPT, NADRT — для файлов «трубки»).

На терминал при работе программы RINF выводятся таблица распределения логических файлов и даты и времена, к которым относятся распределения параметров в логических файлах.

Если же ключ /D задан, в файл выводится содержимое первых 4096 байт указанного входного файла, интерпретируемое как 1024 вещественных числа.

Программы ZFL56.EXE и COPMD.EXE

Программа ZFL56.EXE предназначена для создания нового файла данных стандартной структуры и копирования в него выбранных логических файлов из какого-либо уже имеющегося файла данных. Программа COPMD.EXE предназначена для копирования логических файлов из одного файла данных в другой уже имеющийся файл. Вызов их из командной строки DOS производится командами соответственно:

 ZFL56 [ InFile  [ OutFile ] ]
 COPMD [ InFile  [ OutFile ] ]

где

 InFile - имя файла данных модели, из которого нужно извлечь логические файлы;
 OutFile - имя файла данных, в который их нужно скопировать.

Каждое из этих имен может иметь длину до 50 символов (вместе с DOS-путем).

 - Если в командной строке указан только один параметр, он понимается как имя файла-источника. 
 - Если в командной строке после имени программы нет ни одного параметра (или вызов 
   производится просто нажатием Enter из оболочки Norton Commander), то программа 
   ZFL56.EXE в качестве файла-источника будет использовать файл MOD4 из текущей 
   директории, а программа COPMD.EXE попросит пользователя ввести имя 
   файла-источника с клавиатуры. 
 - Если файла с указанным именем не существует, исполнение программы прерывается 
   с выводом на терминал соответствующего сообщения. 
 - Если имя выходного файла не указано, программы просят ввести его с клавиатуры 
   (тоже до 50 символов). 
 - Если нужно скопировать один на другой логические файлы внутри одного файла данных, 
   следует вызвать программу COPMD.EXE, не указывая имя файла-назначения (с одним 
   параметром-именем или вообще без параметров). Тогда программа перед запросом об 
   имени файла-назначения спрашивает, не хотите ли вы копировать в тот же файл.

Если указанный файл-источник найден, программа читает его первые 4096 байт и интерпретирует их как 1024 4-байтовых элемента информационной записи. Проверяется, что это действительно файл данных модели: в элементах 1021 — 1023 должны находиться слова GLOBAL MODEL. Если это не так, исполнение программы прерывается с выводом на терминал соответствующего сообщения. Затем программа извлекает таблицу распределения логических файлов и выводит ее на терминал, прося пользователя ввести верхний (логический) номер файла для копирования. Если пользователь в ответ вводит «0» или логический номер, которому не соответствует никакой физический номер («0» в нижней строке таблицы распределения), исполнение программы прерывается. После этого программа COPMD.EXE так же точно читает информационную запись файла-цели и просит указать верхний номер файла, поверх которого нужно скопировать логический файл из источника. Программа ZFL56.EXE копирует логические файлы всегда на файл с тем же логическим номером, что и у источника. Если пользователь вводит правильный номер файла-источника, на терминал сразу выводится содержимое его метки времени (если она существует). Затем источник копируется по записям в выходной файл (программой COPMD.EXE — поверх старых данных, программа ZFL56.EXE создает новый физический файл данных стандартной структуры модели, корректируя его информационную запись после добавления каждого нового логического файла.). Вместе с логическим файлом копируется и его метка времени. По окончании копирования на терминал снова выводится таблица распределения логических файлов в файле-источнике, и программа просит ввести номер следующего файла для копирования. Если пользователь вводит номер уже скопированного файла, программа ZFL56.EXE не производит повторное копирование, а сообщает пользователю об ошибке и просит ввести другой номер. Для окончания работы программы нужно ввести «0».

Программа FL1.EXE

Программа FL1.EXE предназначена для сравнения логических файлов поэлементно с указанной относительной точностью. Вызов ее из командной строки DOS производится командой:

 FL1 [ File1  [ File2 ] ] [ -V | -"npar" ]

где

 File1 и File2  - имена файлов данных модели, из которых берутся логические файлы для сравнения;
 -V или -"npar" - управляющие ключи для исключения из сравнения некоторых параметров, 
                  подробно описанные ниже.

Каждое из имен файлов может иметь длину до 50 символов (с путем к файлу). Если имена отсутствуют, программа просит ввести их с клавиатуры (до 50 символов). Перед запросом второго имени программа спрашивает, не хотите ли вы сравнить два логических файла из одного и того же файла данных.

Программа проверяет существование указанных файлов данных, читает их первые 4096 байт и интерпретирует их как информационные записи. Проверяется, что это действительно файлы данных модели: в их элементах 1021 — 1023 должны находиться слова GLOBAL MODEL. Если это не так, исполнение программы прерывается с выводом на терминал соответствующего сообщения. Производится сравнение сеток, в которых насчитаны данные. Сетки сравниваются так же, как при начале счета (см.п.1.5.2), но не сравнивается общий размер файлов данных (элемент 83) и массив KDU (элементы 58 — 77) — файлы могут быть неполными и разного состава.

Затем программа выводит таблицу распределения логических файлов и просит ввести верхний (логический) номер логического файла для сравнения поочередно из обоих указанных файлов данных. Ввод «0» или отсутствующего логического файла прекращает выполнение программы. Проверяется, чтобы выбранные для сравнения логические файлы были одинакового размера (сравниваются соответствующие элементы массивов KDU). Если все правильно, программа просит ввести допустимое отклонение (различие значений параметров) в процентах, затем выводит на экран содержимое меток времени сравниваемых файлов и начинает сравнение. Процесс сравнения заключается в вычислении для указанного набора рассчитываемых параметров в каждой точке отношения разности значений в двух логических файлах к их полусумме. Для каждой точки находится наибольшее различие из всех указанных для сравнения параметров, и затем сравнивается с допустимым различием. Если отличие больше допустимого, в файл результатов (файл с именем POLE в текущей директории) записывается положение точки (долгота, коширота и номер узла по высоте — для параметров в узлах сетки «шара»; долгота, коширота основания линии и номер точки на линии от южного ее конца — для параметров в узлах сетки «трубки»), номер наиболее отличающегося параметра, относительное различие и сами различающиеся значения. Подсчитывается также количество точек с различием больше допустимого во всем логическом файле, и оно по окончании сравнения выводится на экран и в файл результатов. Затем программа снова выводит таблицу распределения файлов первого файла данных и просит ввести номер следующего логического файла для сравнения. Для окончания работы программы нужно ввести «0». Пример вывода программы в файл результатов приведен на рис.3.

Программа сама различает файлы с параметрами «шара», «трубки», интерполированными в ту или другую сторону и потенциала (по их физическим номерам). Часть параметров, записанных в логическом файле, можно исключить из сравнения, указав в командной строке при вызове номера исключаемых параметров со знаком «-«. Для параметров «шара» и «трубки» можно также исключить сразу все скорости ключом -V. Параметры командной строки отделяются друг от друга пробелами. Все параметры могут вводиться в любом порядке, заглавными или строчными буквами.

Программа PROFS.EXE

Программа PROFS.EXE предназначена для вывода рассчитанных параметров «шара» в узлах сетки, находящихся на одном вертикальном профиле или во всех узлах одной долготной плоскости. Вызов ее из командной строки DOS производится командой:

 PROFS [ FileName ]

где

 FileName - имя файла данных модели. Имя может иметь длину до 50 символов
            (с путем к файлу). Если имя отсутствует, программа просит ввести 
            его с клавиатуры (до 50 символов).

Программа проверяет существование указанного файла данных, читает его первые 4096 байт и интерпретирует их как информационную запись. Проверяется, что это действительно файл данных модели: в элементах 1021 — 1023 должны находиться слова GLOBAL MODEL. Если это не так, исполнение программы прерывается с выводом на терминал соответствующего сообщения. Затем программа выводит таблицу распределения логических файлов и просит ввести верхний (логический) номер логического файла, из которого нужно брать данные. Ввод «0» или отсутствующего логического файла прекращает выполнение программы. Потом программа просит ввести долготу и номер узла по кошироте. Если вместо номера узла ввести «0», то на экран будет выведен список коширот всех узлов «шара», и повторно программа попросит ввести долготу и номер узла по кошироте. Потом она запрашивает, какие именно параметры выводить. Можно вывести либо все концентрации, температуры и скорости сразу, либо любой набор из этих групп расчетных параметров по отдельности, а также отдельно функции ионизации и интерполированные из «трубки» ее параметры (если лог.файл с интерполированными параметрами имеется в указанном файле данных). Потом программа спрашивает, вывести ли вертикальный профиль выбранных параметров только в этом узле по кошироте или во всей долготной плоскости. Вывод осуществляется в файл с именем PROFSH в текущей директории.

Программа PTRUB.EXE

Программа PTRUB.EXE предназначена для вывода рассчитанных параметров «трубки» в узлах сетки, находящихся на одной силовой линии или во всех узлах одной долготной плоскости. Вызов ее из командной строки DOS производится командой:

 PTRUB [ FileName ] [ /He ]

где

 FileName - имя файла данных модели;
 /He - управляющий ключ для включения в вывод концентрации и продольной скорости 
       ионов He+ (сегодня в модели не рассчитываются, но место для них в логических 
       файлах "трубки" зарезервировано).

Имя может иметь длину до 50 символов (с путем к файлу). Параметры командной строки регистронезависимы и могут вводиться в любом порядке. Если имя отсутствует, программа просит ввести его с клавиатуры (до 50 символов). Если не указан ключ /He, то по умолчанию n(He+) и Vq(He+) в вывод не включаются, зато для каждой точки в выходном файле указываются ее коширота и высота.

Программа проверяет существование указанного файла данных, читает его первые 4096 байт и интерпретирует их как информационную запись. Проверяется, что это действительно файл данных модели: в элементах 1021 — 1023 должны находиться слова GLOBAL MODEL. Если это не так, исполнение программы прерывается с выводом на терминал соответствующего сообщения. Затем программа выводит таблицу распределения логических файлов и просит ввести верхний (логический) номер логического файла, из которого нужно брать данные. Ввод «0» или отсутствующего логического файла прекращает выполнение программы. Потом программа просит ввести долготу и номер силовой линии. Если вместо номера силовой линии ввести «0», то в файл последовательно выводятся значения параметров в узлах всех силовых линий указанной долготной плоскости от приполюсной до приэкваториальной. Вывод осуществляется в файл с именем PTRUB в текущей директории.

Программы NEWSETSH.EXE и NEWSETTR.EXE

Программы NEWSETSH.EXE и NEWSETTR.EXE предназначены для интерполяции глобального распределения параметров соответственно «шара» и «трубки» из узлов одной координатной сетки в узлы другой, отличающейся коширотами и (или) долготами узлов. Вызов их из командной строки DOS производится командой:

 NEWSETSH [ InFile  [ OutFile ] ]
 NEWSETTR [ InFile  [ OutFile ] ]

где

 InFile - имя файла данных модели, из которого нужно извлечь логический файл 
          с данными для интерполяции;
 OutFile - имя файла данных, в который их нужно проинтерполировать.

Каждое из этих имен может иметь длину до 50 символов (с путем).

 - Если в командной строке указан только один параметр, он понимается как имя файла-источника.
 - Если имя выходного (или обоих) файла не указано, программа просит ввести недостающее 
    имя (имена) файла с клавиатуры (тоже до 50 символов).
 - Если файла с указанным именем (источника или назначения) не существует, исполнение 
   программы прерывается с выводом на терминал соответствующего сообщения.

Программа проверяет существование указанных файлов данных, читает их первые 4096 байт и интерпретирует их как информационные записи. Проверяется, что это действительно файлы данных модели: в элементах 1021 — 1023 должны находиться слова GLOBAL MODEL. Если это не так, исполнение программы прерывается с выводом на терминал соответствующего сообщения. Программа извлекает таблицы распределения логических файлов и выводит на терминал сначала таблицу файла-источника, прося пользователя ввести верхний (логический) номер файла с данными для интерполяции, а затем таблицу файла-цели, прося ввести верхний (логический) номер файла, поверх которого нужно записать логический файл с проинтерполированными данными. Если пользователь в ответ на какой-либо запрос вводит «0» или логический номер, которому не соответствует никакой физический номер («0» в нижней строке таблицы распределения), исполнение программы прерывается. Когда оба номера введены правильно, данные из логического файла-источника интерполируются по долготным плоскостям в выходной логический файл и записываются поверх старых данных. Массивы коширот узлов и шаг по долготе сеток источника и цели берутся из информационных записей. Проверяется совпадение высот узлов сеток, и при несовпадении исполнение программы прерывается. Логарифмы концентраций и значения всех остальных параметров линейно интерполируются по горизонтали в узлы выходной сетки из ближайших узлов входной. По окончании интерполяции в выходной файл копируется метка времени источника, и программа заканчивает работу.

Реклама