· Рассмотрены существующие в методической литературе способы расчета ПДВ в виде методов равного квотирования и МРН-87. Данные методы не имеют целевой функции и дают некоторые частные решения поставленной задачи.
· Изучен программный комплекс ЭРА-Воздух и форматы хранения и передачи данных между его модулями.
· Разработана процедура автоматического считывания исходных данных и результатов из ПК ЭРА-Воздух для полного обеспечения задачи линейного программирования исходными данными.
· Разработана программа расчета ПДВ на основе симплекс метода.
· Решена практическая задача по расчету ПДВ для одного из крупных предприятий г. Кемерово как встроенными в ПК ЭРА-ВОЗДУХ методами (МРН-87, равное квотирование), так и с использованием симплекс метода.
· Показано, что использование оптимизационного метода расчета ПДВ позволяет обеспечить нормативное загрязнение атмосферы при больших суммарных выбросах. В случае технологической приемлемости такого решения предприятие может существенно снизить платежи за сверхнормативный выброс в атмосферу.
1. Методическое пособие по расчету, нормированию и контролю выбросов загрязняющих веществ в атмосферный воздух. - СПб.: НИИ Атмосфера МПР РФ, 2002.
2. ОНД-86. Методика расчета концентраций в атмосферном воздухе вредных веществ, содержащихся в выбросах предприятий. Л.: Гидрометеоиздат, 1987.
3. Постановление Правительства Российской Федерации N182 от 2 марта 2000 г. «О порядке установления и пересмотра экологических и гигиенических нормативов качества атмосферного воздуха, предельно допустимых уровней физических воздействий на атмосферный воздух и государственной регистрации вредных (загрязняющих) веществ и потенциально опасных веществ». М., 2000.
4. Постановление Правительства Российской Федерации от 2 марта 2000 г. N 183 «О нормативах выбросов вредных (загрязняющих) веществ в атмосферный воздух и вредных физических воздействий на него». М., 2000.
5. Федеральный Закон «Об охране окружающей среды». М., 2002.
6. Рязанов В.А. О критериях и методах обоснования максимально допустимых концентраций атмосферных загрязнений в СССР.- В кн.: Предельно допустимые концентрации атмосферных загрязнений. Вып.8. - М.: Медицина, 1964, с. 5-21.
7. Перечень и коды веществ, загрязняющих атмосферный воздух. СПб., 2000.
8. Беспамятнов Г.П., Кротов Ю.А. Предельно допустимые концентрации химических веществ в окружающей среде - Л.: «Химия», 1985.
9. Пинигин М.А. Значение вероятностного подхода при решении вопросов гигиенического регламентирования атмосферных загрязнений. В кн. ”Медицинские проблемы охраны окружающей среды”. М.: 1981, с.95-102.
10. Берлянд М.Е. Прогноз и регулирование загрязнения атмосферы. –Л.: Гидрометеоиздат, 1985, 272с.
11. Безуглая Э.Ю. Мониторинг состояния загрязнения атмосферы в городах. Л.: Гидрометеоиздат, 1986, 200с.
12. Безуглая Э.Ю., Ковалевский А.Г., Расторгуева Г.П. Особенности распределения промышленных примесей в атмосфере городов различных типов. Тр. ГГО, вып. 467, 1983, с.81-87.
13. Перечень методик выполнения измерений концентраций загрязняющих веществ в выбросах промышленных предприятий СПб., 2001.
14. Перечень документов по расчету выделений (выбросов) загрязняющих веществ в атмосферный воздух, действующих в 2001-2002 годах. СПб., 2001.
15. Инструкция по инвентаризации выбросов загрязняющих веществ в атмосферу. Л., 1990.
16. СанПиН 2.1.6.1032-01 «Гигиенические требования к обеспечению качества атмосферного воздуха населенных мест». М., 2001.
17. .Атмосферная турбулентность и моделирование распространения примесей /под.ред. Ньистадта Ф.Т.М., Ван-Допа Х.- Л.: Гидрометеоиздат, 1985,-350 c.
18. Пененко В.В., Алоян А.Е. Модели и методы для задач охраны окружающей среды. -Новосибирск.: Наука, 1985.-256с.
19. Постановление Совета Министров РСФСР. Об утверждении на 1991 год нормативов за выбросы загрязняющих веществ в природную среду и порядка их применения./9 января 1991г. N 13 /. Собрание постановлений правительства РСФСР. -М.: N9, 1991.
20. Hanna S.R. Review of Atmospheric Diffusion Models for Regulatory Application.- WMO Tecnical Notes, No.177, 1982-42p.
21. Методы анализа загрязнений воздуха./Дугов Ю.С., Беликов А.Б., Дьяков Г.А., Тульчинский В.М.-М.: Химия, 1984,-384 с.
22. Вольберг Н.Ш., Егорова Е.Д., Кузьмина Т.А. Метрологические характеристики фотометрических методов анализа загрязнения атмосферы. - Тр. ГГО, 1982, No 450.c.107-111.
23. Израэль Ю.А, Гасилина Н.К., Ровинский Ф.Я. Система наблюдений и контроля загрязнения природной среды в СССР.- Метеорология и гидрология, 1978, No 10, c.5-12.
24. Методика расчета нормативов допустимых выбросов загрязняющих веществ в атмосферу для групп источников. МРН-87. - М., Госкомгидромет, Институт прикладной геофизики. 1987. -30с.
25. Рекомендации по определению допустимых вкладов в загрязнение атмосферы выбросов загрязняющих веществ предприятиями с использованием сводных расчетов загрязнения воздушного бассейна города (региона) выбросами промышленности и автотранспорта. СПб., 1999.-97с.
26. Васильев Ф.П. Методы решения экстремальных задач. М: Наука, 1980.-518с.
ЗВ - загрязняющее (вредное) вещество
ИЗА - источник загрязнения атмосферы
ПДВ - предельно допустимый выброс (допустимый выброс)
СЗЗ - санитарно-защитная зона
ПДКр - максимальная разовая предельно допустимая концентрация загрязняющего вещества в атмосферном воздухе населенных мест
ПДКс - среднесуточная предельно допустимая концентрация загрязняющего вещества в атмосферном воздухе населенных мест
ОБУВ - ориентировочный безопасный уровень воздействия загрязняющих веществ в атмосферном воздухе населенных мест
ГВС - газовоздушная смесь
ГОУ - газоочистная установка
ОНД - общесоюзный нормативный документ
НМУ - неблагоприятные метеорологические условия
УПРЗА - унифицированная программа расчета загрязнения атмосферы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellAPI, ShlObj, StdCtrls, Buttons, CheckLst,Masks,inifiles,
ComCtrls,simplex, Menus;
const MyDecimalSeparator='.';
type
tsArray = array of string;
tExtArrayx2 = array of tExtArray;
TForm1 = class(TForm)
Edit1: TEdit;
GroupBox1: TGroupBox;
CheckListBox1: TCheckListBox;
Label1: TLabel;
BitBtn1: TBitBtn;
Button3: TButton;
Memo1: TMemo;
SpeedButton1: TSpeedButton;
CheckBox1: TCheckBox;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
dir_path:string;
IniFile: TIniFile;
implementation
{$R *.dfm}
//запись в ini файл
procedure SaveIni(s:string);
var
IniPath: string;
FileName: string;
begin
GetDir(0,IniPath);
FileName:=IniPath+'\sav.ini';
IniFile:=TIniFile.Create(FileName);
Inifile.WriteString('patch','dir',s);
IniFile.Free;
end;
//чтение ini файла
function ReadIni:string;
var
IniPath: string;
FileName: string;
s:string;
begin
GetDir(0,IniPath);
FileName:=IniPath+'\sav.ini';
IniFile:=TIniFile.Create(FileName);
ReadIni:=Inifile.ReadString('patch','dir',s);
IniFile.Free;
end;
//--------- Удаляет пробел или запятую с краёв строки --------------------------
Function DelSpaceAndCap(s:string):string;
begin
while pos(copy(s,1,1),' ')<>0 do delete(s,1,1);
while pos(copy(s,length(s),1),' ')<>0 do delete(s,length(s),1);
result:=s;
end;
//--------- вырезает из строки имя ---------------------------------------------
Function ReturnSubString(Var s:string):string;
var
position,i : integer;
begin
s:=DelSpaceAndCap(s);
position:=0;
for i:=1 to length(s)-1 do
if (pos(copy(s,i,1),' ')<>0) and (position=0) then
position:=i;
if position=0 then begin
result:=s;
s:='';
end else begin
result := DelSpaceAndCap(copy(s,1,position));
Delete(s,1,position);
s:=DelSpaceAndCap(s);
end;
end;
//вывод ограничений
//==============================================================================
procedure vv(a:real;mas:tExtArray; Sign: TOperation);
var
i:integer;
s,s2,s3:string;
begin
s:=floattostr(mas[0]);
for i:=1 to length(mas)-1 do
s:=s+'+'+floattostr(mas[i]);
if Sign=less then s2:=' < ';
if Sign=Greater then s2:=' > ';
if Sign=Equal then s2:=' = ';
form1.memo1.lines.Add(s+s2+floattostr(a));
end;
//==============================================================================
//==============================================================================
//замена в строке всех вхождений одной подстроки на другую
function StrReplace(Str, Str1, Str2 : string):string;
var
p, L : integer;
s:string;
begin
s:=str;
L:=length(str1);
repeat
p:=pos(str1, s);
if p>0 then begin
Delete(s,p,L);
insert(str2, s, P);
end;
until P = 0;
StrReplace:=s;
end;
//==============================================================================
//==============================================================================
//========================= считывание таблиц влияния таблиц источников на точки
procedure get_pointfunnel(s:string;countPoint:integer;countfunnel:integer;funnel_name:tsArray;funnel_m:tExtArray;
var pointfunnelx2:tExtArrayx2; var point_cf:tExtArray);
var
h:textfile;
k,m:integer;
s_temp,s_temp2,s_temp3:string;
flag:boolean;
begin
SetLength(PointFunnelx2,countPoint,countFunnel);
SetLength(point_cf,countPoint);
for k:=0 to countPoint-1 do begin
point_cf[k]:=0;
for m:=0 to countFunnel-1 do
PointFunnelx2[k,m]:=0;
end;
AssignFile(h,dir_path+'\RESULT\'+'10pd'+s+'.ppp');
reset(h);
for k:=1 to 22 do readln(h,s_temp);
s_temp:=StrReplace(s_temp,'|',' ');
s_temp2:=s_temp;
for m:= 0 to CountPoint-1 do begin //общий цикл
flag:=true;
while flag do begin
if ReturnSubString(s_temp2)='Фоновая' then begin
point_cf[m]:=strtofloat(copy(s_temp,pos('%',s_temp)-4,4));
end else begin
s_temp3:=ReturnSubString(s_temp);
s_temp3:=ReturnSubString(s_temp);
s_temp3:=ReturnSubString(s_temp);
for k:=1 to 6 do s_temp2:=ReturnSubString(s_temp);
//showmessage(s_temp2);
for k:=0 to countFunnel-1 do
if s_temp3=copy(funnel_name[k],8,4) then
PointFunnelx2[m,k]:=strtofloat(s_temp2);//*funnel_m[k];