Pod pojmem Vstupy se rozumí množina dat, jejichž zpracováním lze získat požadované výstupy; tak to lze alespoň dovodit z významu slova "vstupy, vstupní data". To však jsou např. všechna data všech databází zpracovávaných informačním systémem. Z logiky věci a s ohledem na praktické provozování systému lze data v databázích kategorizovat na
data relativně stabilní, s velmi malou až žádnou frekvencí změn, přičemž změny těchto dat jsou ve výhradní kompetenci provozovatele systému nebo dokonce autora (např. data týkající se konkrétní instalace, změny dat plynoucích ze změn zákona apod)
data relativně stabilní, s očekávanou malou frekvencí změn, přičemž tyto změny jsou ve výhradní kompetenci zadavatele (např. číselníky způsobů použití vod, ale i konfigurace vodohospodářské sítě apod)
data s relativně velkou četností změn (periodické i neperiodické) ve výhradní kompetenci zadavatele (např. měsíční objemy na trasách, plánované pravidelné i neplánované jednorázové analýzy vzorků vod apod).
V praxi a mezi lidem počítačově uživatelským se pod pojmem vstupy rozumí téměř vždy třetí uvedená kategorie dat. Protože jde u skupinu dat s nejzávažnějším dopadem na korektnost výstupů, je tato kapitola věnována právě jim.
Poznámka 1: Aktualizace prvních dvou skupin dat je v popisovaném vodohospodářském informačním systému řešena přímým vstupem provozovatele do jednotlivých databází se samozřejmou kontrolou na navazující nebo předcházející data a zajištění toho, co některé databázové systémy nazývají referenční integritou a práci s daty v kaskádě. Jde o záležitost rutinní, běžnou a teoreticky i odborně nezajímavou, proto se jimi práce nadále nezabývá.
Poznámka 2: Jako "zadavatelé" se v popisovaném systému rozumí vodohospodáři podniků, v nichž se sleduje chování vodohospodářské sítě. Jsou rovněž hlavními "uživateli" informačních výstupů. Pod pojmem "provozovatel" se rozumí konkrétní pracoviště (příp. jeho konkrétní pracovník), na jehož technice a v prostředí jeho databázového systému je popisovaný informační systém nainstalován.
V kapitole "Základní sledované veličiny" byl podán povšechný přehled o sledování objemů, koncentrací a množství látek. Nyní budou diskutovány některé aspekty s ohledem na konkrétní databázový model. Kapitola je členěna následovně:
Operace s objemy vod
Základním vstupem jsou informace o objemech vod v jednotlivých trasách vodohospodářské sítě. Operace s těmito daty jsou popsány v samostatné podkapitole "Operace s objemy vod".
Operace s látkovým znečištěním vod
Nejostřeji sledovanými informacemi jsou založena na datech o látkovém znečištění vod. Je zřejmé, že korektní data o objemech diskutovaná shora je nutným předpokladem. Operace s daty o látkovém znečištění jsou popsány v samostatné podkapitole "Operace s látkovým znečištěním vod".
Základním vstupem jsou informace o objemech vod v jednotlivých trasách vodohospodářské sítě. Jde tedy o aktualizaci databáze OBJEMY. Připomeňme její definici:
OBJEMY.DBF |
|||||
---|---|---|---|---|---|
Ident. | Typ | Délka | Des. | Význam | Příklad |
KODPZ | C | 2 | 0 | Kód podniku zodpovědného za zdrojový uzel | 01 |
KODZ | C | 4 | 0 | Kód zdroje jakožto uzlu v tomto podniku | 0192 |
KODPC | C | 2 | 0 | Kód podniku zodpovědného za cílový uzel | 27 |
KODC | C | 4 | 0 | Kód cíle jakožto uzlu v tomto podniku | 1191 |
DATUM | D | 8 | 0 | Datum, ke kterému (od minulého odečtu) je objem zadáván | 31.01.1999 |
OBJEM | N | 8 | 0 | Hodnota objemu vody v [m3] vtékající do trasy | 1000 |
ZTRATA | N | 8 | 2 | Procento aktuálních ztrát na trase za dané období | 20,00 |
INDIKACE | C | 1 | 0 | Indikace toho, jak byl objem získán | A |
Index | Indexový výraz | ||||
KLIC | KODPZ+KODZ+KODPC+KODC+DTOS(DATUM) | ||||
DATUM | DTOS(DATUM)+KODPZ+KODZ+KODPC+KODC |
Příklad hodnot naplněné databáze:
KODPZ | KODZ | KODPC | KODC | DATUM | OBJEM | ZTRATA | INDIKACE |
01 | 0192 | 27 | 1191 | 31.01.1999 | 1000 | 0,00 | A |
01 | 0192 | 27 | 1191 | 28.02.1999 | 1000 | 0,00 | A |
01 | 0192 | 27 | 1191 | 31.03.1999 | 1500 | 0,00 | D |
01 | 0192 | 27 | 1191 | 30.04.1999 | 1300 | 0,00 | D |
01 | 0192 | 27 | 1191 | 31.05.1999 | 1600 | 0,00 | A |
Jde "jen" o to, zadávat průběžně pro každou trasu objem, který trasou protekl od minulého zadání. Toto zadávání objemů je však jedním z největších problémů v celém systému.
Poznámka: Samo zjištění objemu vodohospodářem na konkrétní trase je významným problémem, avšak pro samotného. Příčiny jsou diskutovány v kapitole 5 - zmiňme jen častou nemožnost instalace vodoměrů, výsledky namátkových měření nepřenositelných v čase, velký rozptyl kvalifikovaného odhadu apod. Popisovaný informační systém bere hodnotu, zadanou vodohospodářem (a zjištěnou jakýmkoliv způsobem) za jedinou možnou a nediskutovatelnou (samozřejmě na pokyn vodohospodáře změnitelnou).
Zmíněný problém spočívá v tom, že:
Vždy existují trasy, které vodohospodář ohodnotit objemem prostě nemůže, aniž by nad získáváním údaje strávil neúnosný čas nebo vydal neúnosné finanční prostředky.
Některé trasy jsou čas od času (nebo od jisté doby trvale) uzavřeny.
Jednou zadaná data je možno měnit (např. zpětným zpřesněním odhadu).
Zadaných objemových dat může být libovolný počet, nejméně však jedna měsíčně.
Nejmenší jednotkou požadovaných výstupních informací je jeden měsíc.
Jednotkou požadovaných souhrnných informací je jeden (kalendářní) rok.
Body 5 a 6 předurčují model vodohospodářské sítě jako model statický; lze na něj pohlížet jako na soustavu statických "snímků" uspořádaných měsíc po měsíci. Nejde tedy o klasický dynamický model podle např. [3]. Proto lze problematiku zpracování objemů redukovat na zpracování objemů v jednom měsíci. Tato redukce je popsána v bezprostředně následujícím odstavci "Měsíční objemy". Bod 3 lze řešit opakovanou redukcí na měsíční objemy po změně dat. Pod 2 lze automatizovat indikací v trasách: objemy v indikovaných trasách jsou vždy generovány jako nulové, pokud nejsou explicitně zadány vodohospodářem. Teprve po všech těchto dílčích krocích lze přistoupit k řešení bodu 1; to je popsáno dále v odstavci "Dopočty nezadaných objemů".
S ohledem na bod 4 se před zpracováním objemů za jeden měsíc provede relační operace (viz kapitola "Logická organizace báze dat")
OBJEMY(*) - OBJEMY(*: INDIKACE='P') + OP(*)
kde symbol * zastupuje všechny atributy relace OBJEMY (tj. "všechny sloupce" databáze objemů) a relace OP se vytvoří následujícím algoritmem:
Algoritmus 1:
Vytvoř prázdnou relaci OP se stejnou množinou atributů jako OBJEMY.
Zjisti datum D odpovídající poslednímu dni požadovaného měsíce požadovaného roku.
Pro všechny trasy T aplikuj následující kroky.
Jestliže pro trasu T existuje v OBJEMY prvek s datem D, pokračuj krokem 9.
Jestliže pro trasu T existuje v OBJEMY prvky s daty DG > D a současně prvky s daty DL < D, přičemž měsíc alespoň jednoho z DL, DG je roven měsíci D, zařaď do OP prvek s datem D, indikací P a objemem lineárně interpolovaným v <max(DL);min(DG)> a pokračuj krokem 9.
Jestliže pro trasu T existuje v OBJEMY prvky s daty DL < D, přičemž měsíc alespoň jednoho z DL je roven měsíci D, zařaď do OP prvek s datem D, indikací P a objemem rovným "konstantnímu prodloužení" objemu v max(DL), a pokračuj krokem 9.
Jestliže pro trasu T existuje v OBJEMY prvky s daty DG > D, přičemž měsíc alespoň jednoho z DG je roven měsíci D, zařaď do OP prvek s datem D, indikací P a objemem rovným "konstantnímu prodloužení dopředu" objemu v min(DG), a pokračuj krokem 9.
Nezařazuj do OP pro trasu T a měsíc data D nic.
Jestliže nejsou takto zpracovány všechny trasy, pokračuj další trasou T a krokem 4.
Po provedení algoritmu 1 pro všechny měsíce doposud zadané stačí substituovat databázi OBJEMY databází
S OBJEM | trasa,měsíc,rok (OBJEMY(*))
tj. databází se stejnou strukturou, v níž jsou pro každou trasu sečteny objemy v jednotlivých měsících jednotlivých let. Operace S je korektní, protože na OBJEMY byla aplikována operace uvedená před popisem algoritmu 1 a tudíž obsahuje pro každou trasu a každý měsíc alespoň jeden objem (typu "k datu") a vždy objem "k poslednímu dni měsíce".
Poznámka 1: Celý tento odstavec se týká jednoho "statického snímku" vodohospodářské sítě ve stavu ke konci daného měsíce získaného podle předchozího odstavce. Všechna zmiňovaná objemová data jsou data právě pro tento stav, tj. za daný měsíc.
Poznámka 2: Výchozím stavem je taková databáze OBJEMY, ve které za daný měsíc nejsou ohodnoceny všechny trasy sítě. Cílovým stavem je databáze doplněná tak, že již všechny trasy ohodnoceny jsou. Pro rozlišení, jakým způsobem byly hodnoty objemu získány, slouží atribut INDIKACE. Hodnoty získané dopočtem zde mají indikaci 'D'.
Mějme trasu T Î TRASY. Podle definice grafu je tato trasa zobrazena zobrazením incidence F na [UZ,T, UC,T], kde UZ,T, UC,T Î UZLY. Definujme D(U)
D(U) = {TÎTRASY | F(T)=[Y,U] Ů Y,U Î UZLY}
jako množinu všech tras, jimž je uzel U cílovým uzlem (tedy jako množinu tras, které "vstupují" do uzlu U). Obdobně definujme V(U)
V(U) = {TÎTRASY | F(T)=[U,Y] Ů U,Y Î UZLY}
jako množinu všech tras, jimž je uzel U zdrojovým uzlem (tedy jako množinu tras, které "vystupují" z uzlu U). Použijme dále následujících označení:
N(A) ... počet prvků množiny A
O(T) ... objem vody vstupující do trasy T
OD(U) ... objem vody vstupující do uzlu U
OV(U) ... objem vody vystupující z uzlu U
Z(T) ... procento ztrát na trase T
Z(U) ... procento ztrát v uzlu U
Je proto
OV(U) = S O (T ) | T Î V(U)
a obdobně
OD(U) = S O (T ) . (1+Z(T)/100) | T Î D(U)
Ze zákona o zachování hmoty plyne
OV(U) = OD(U) - Z(U)
pro každý uzel U. Jde v podstatě o Kirchoffovu rovnici pro uzly modifikované ztrátami; v "čisté" Kirchoffově rovnici by se ztráty objevily jako odvod vody do fiktivního uzlu ZTRÁTY.
Principielně by bylo možno sestavit soustavu tolika (lineárních) rovnic, kolik je uzlů v síti, pro tolik neznámých, kolik je tras s nezadaným objemem. Nehledě na počet rovnic (pro popisovaný vodohospodářský subsystém okolo 1000) brání takovému postupu výpočtu nezadaných objemů zejména
fakt, že ztráty v uzlech jsou sice dány jako standardně předpokládané ztráty, ale zadáním objemů pro všechny trasy vstupující a vystupující z uzlu je požadován výpočet skutečných aktuálních ztrát v uzlu
to, že jednoznačné řešení vyžaduje přesně tolik nezadaných objemů, kolik je rovnic (tj. kolik je uzlů); většinou je však soustava přeurčená.
Je zřejmé, že korektní výpočet je úzce svázán s konfigurací vodohospodářské sítě a s určením minima tras, pro které vodohospodáři objem zadávat musí (pro ostatní trasy objemy zadávat mohou). Pro určování nezadaných objemů byl proto zvolen jiný postup než přímý výpočet; tento postup zároveň dovolí odhalit kritická místa v konfiguraci sítě.
Poznámka: Logiku vysvětlíme na zjednodušeném modelu - takovém, kde ani na trasách ani v uzlech nejsou ztráty. Aplikace ztrát však je evidentní a vyplyne z výkladu.
Rozeberme nejprve, jaké mohou logicky nastat případy částečného ohodnocení tras objemy z hlediska každého jednotlivého konkrétního uzlu nebo trasy.
U1. Jsou známy objemy všech tras do uzlu vstupujících i vystupujících (na obrázku tučně, v barvě zeleně):
Rozdíl součtu objemů vstupujících a objemů vystupujících určuje aktuální ztráty. Tyto ztráty mohou být i záporné (tj. objem vody v uzlu se zvětšuje - např. je-li uzlem A vodní plocha, pak zvětšení objemu srážkovou činností nemusí být zanedbatelný).
U2. Jsou známy objemy všech tras do uzlu vstupujících i vystupujících (na obrázku tučně, v barvě zeleně) kromě jediné (na obrázku tence, v barvě červeně):
Neznámý objem je jednoznačně vypočitatelný (viz však níže případ H1).
U3. Jsou známy objemy některých tras do uzlu vstupujících nebo vystupujících (na obrázku tučně, v barvě zeleně) a některých ne (na obrázku tence, v barvě červeně):
Je zřejmé, že v tomto případě neznámé objemy určit nelze.
H1. Nastane "dvojnásobný" případ U1 pro následující konfiguraci:
Existuje osm různých možností řešení této situace, z nichž jen tři jsou jednoznačné. Po řadě konzultací s vodohospodáři se tato situace řeší jedním ze třech jednoznačných výpočtů, a to určením aktuální ztráty na trase. Na základě uzlu A pomocí U2 se zjistí množství vody do trasy vstupující a stejným způsobem na základě uzlu B množství vody z trasy vystupující. Rozdíl těchto hodnot je aktuální ztrátou trasy. Stejně jako v případě uzlu může být ztráta i záporná.
H2. Nastane "dvojnásobný" případ U1, avšak vázaný přes případ U3 pro následující konfiguraci:
Existují principielně tři řešení. Z nich bylo - opět po konzultacích s vodohospodáři - zvoleno toto řešení: nejprve se pomocí U2 spočte objem v trase CA, poté stejně v trase AB, a nakonec se zjistí aktuální ztráta v uzlu A pomocí U1.
Každý další případ je převoditelný na U1 až U3, H1 až H2.
Nyní tedy lze uvést způsob výpočtu použitý pro dopočet nezadaných objemů. Výchozím stavem je "nedoplněná" databáze objemů. Provede se tedy nejprve operace
OBJEMY(*) - OBJEMY(*: INDIKACE='D')
která odstraní event. dříve dopočtené hodnoty (viz rovněž poznámka 2 v úvodu této podkapitoly). Při výpočtu se opakovaně zjišťují počty doposud zjištěných a nezjištěných objemů. Používá se k tomu pomocná databáze zjištěná následujícím způsobem:
Algoritmus 2:
* Podprogram na základě stavu objemů zjistí počty zadaných
a nezadaných
* tras v jednotlivch uzlech (do STUPUZL). Použije jako pracovní *
select ;
KODPZ as KODP, KODZ as KOD, ;
0 as CELKVST, ;
0 as ZADVST, ;
0 as OBJVST, ;
count (KODZ) as CELKVYST, ;
sum (iif (empty (INDIKACE), 0, 1)) as ZADVYST, ;
sum (iif (empty (INDIKACE), 0, OBJEM)) as OBJVYST ;
from (OBJEMY) ;
into table (M_TEMP2) ;
group by KODP, KOD ;
union ;
select ;
KODPC as KODP, KODC as KOD, ;
count (KODC) as CELKVST, ;
sum (iif (empty (INDIKACE), 0, 1)) as ZADVST, ;
sum (iif (empty (INDIKACE), 0, OBJEM-OBJEM*ZTRATA/100)) as
OBJVST, ;
0 as CELKVYST, ;
0 as ZADVYST, ;
0 as OBJVYST ;
from (OBJEMY) ;
group by KODP, KOD
select ;
KODP, KOD, ;
sum (CELKVST) as CELKVST, ;
sum (ZADVST) as ZADVST, ;
sum (OBJVST) as OBJVST, ;
sum (CELKVYST) as CELKVYST, ;
sum (ZADVYST) as ZADVYST, ;
sum (OBJVYST) as OBJVYST, ;
sum (CELKVST) - sum (ZADVST) as CHYBIVST, ;
sum (CELKVYST) - sum (ZADVYST) as CHYBIVYST, ;
sum (CELKVST) - sum (ZADVST) + sum (CELKVYST) - sum (ZADVYST)
as CHYBICELK ;
from (M_TEMP2) ;
into table (STUPUZL) ;
group by KODP, KOD
Identifikátory databáze STUPUZL mají tedy následující význam:
CELKVST |
Celkový počet tras vstupujících do uzlu |
ZADVST | Počet vstupujících tras, pro které je znám objem |
OBJVST | Známý objem, který do uzlu vstupuje |
CELKVYST | Celkový počet tras vystupujících z uzlu |
ZADVYST | Počet vystupujících tras, pro které je znám objem |
OBJVYST | Známý objem, který z uzlu vystupuje |
CHYBIVST | Počet tras vstupujících do uzlu, pro něž není znám objem |
CHYBIVYST | Počet tras vystupujících z uzlu, pro něž není znám objem |
CHYBICELK | Celkový počet tras incidujících s uzlem, pro něž není znám objem |
Nyní lze uvést algoritmus použitý pro dopočet chybějících objemů (k operaci ® viz poznámku dole); odvolává se přitom na počty tras a objemy vstupující a vystupující do a z uzlů uložených v databázi STUPUZL:
Algoritmus 3:
Proveď algoritmus 2. Pak prováděj následující kroky tak dlouho, dokud je alespoň jednou proveden dopočet ®. Jestliže není proveden ani jednou, pokračuj krokem 5.
Pro všechny trasy s nezadaným objemem, pro jejichž vstupní uzly platí CHYBICELK=1 a pro jejichž výstupní uzly platí CHYBICELK=0 nebo CHYBICELK>1, proveď OBJVST-OBJVYST ® objem trasy. Bylo-li provedeno alespoň jednou, pokračuj krokem 1, jinak krokem 3.
Pro všechny trasy s nezadaným objemem, pro jejichž výstupní uzly platí CHYBICELK=1 a pro jejichž vstupní uzly platí CHYBICELK=0 nebo CHYBICELK>1, proveď OBJVYST-OBJVST ® objem trasy. Bylo-li provedeno alespoň jednou, pokračuj krokem 1, jinak krokem 4.
Pro všechny trasy s nezadaným objemem, pro jejichž vstupní uzly platí CHYBICELK=1 a pro jejichž výstupní uzly rovněž platí CHYBICELK=1, proveď A = (OBJVST - OBJVYST)VST ® objem trasy, B = (OBJVYST - OBJVST)VYST je objem trasou vstupující do jejího výstupního uzlu (=odtok z trasy) a A-B je tedy aktuální ztráta na trase. Bylo-li provedeno alespoň jednou, pokračuj krokem 1, jinak krokem 5.
Jsou-li nyní objemy ohodnoceny všechny trasy sítě, algoritmus končí úspěchem. Ne-li, končí neúspěchem.
Poznámka: Operací ® je myšlen dopočet objemu z uzlu vystupujícího danou trasou, přičemž se bere ohled na standardní ztráty v uzlu a na trase, případně se dopočte i ztráta trasy. Do dopočtené trasy přitom přiřadí indikaci "D".
Z algoritmu 3 je zřejmé, že jeho úspěch nebo neúspěch závisí na konfiguraci sítě a na tom, pro které trasy je objem znám při vstupu do algoritmu. V případě úspěchu je ohodnocení objemy hotovo. Případ neúspěchu je využíván před rutinním započetím používání vodohospodářského informačního systému. Dovoluje totiž určit trasy kritické z hlediska zadávání objemů vodohospodáři podniků. Vodohospodáři pak musí buď zajistit provedení kvalifikovaného odhadu pro (většinou jen některé) nedopočtené trasy, nebo od počátku změnit množinu jimi ohodnocovaných tras tak, aby algoritmus 3 končil úspěchem.
Poznámka: Algoritmus 3 by mohl být nazván metodou protlačování, nasávání a vyrovnání. Nejprve se voda "protlačí" do jediné neznámé výstupní trasy. Když není co protlačovat, zkouší se "nasávat" z jediné neznámé vstupní trasy. A když není ani co nasávat, zkouší se "vyrovnávat" rozdíl mezi protlačeným na jedné a nasátým na druhé straně.
V každém případě je při současném rutinním provozování zajištěno organizačně i jinak, že výsledkem operací nad objemy vod v trasách je úplné ohodnocení tras sítě objemy.
Ohodnocením, jehož základním cílem je sledovat množství znečištění vypouštěné právním subjektem do vodních toků, ale i přenášené jiným právním subjektům, je především samo množství dané látky vztažené k nějakému časovému období. Toto množství však v řadě případů prakticky nelze měřit přímo. Určuje se proto zprostředkovaně výpočtem z objemu vod a látkové koncentrace. Problematika ohodnocení objemy je diskutována v předchozí podkapitole.
Informace o požadavcích zákona i konkrétní způsob výpočtu množství na základě objemů a látkové koncentrace je podán v kapitole "Základní sledované veličiny" (viz). Zde tedy jen zopakování podstatného:
Vzorky vod se odebírají v lokalitách vzorkování, které leží buď na trase sítě nebo v jejím uzlu. Tyto vzorky se analyzují předepsanými postupy, výsledkem analýz je hodnota látková koncentrace těch látek, pro něž se analýza provádí.
Je-li lokalita vzorkování v uzlu vodohospodářské sítě, vztahuje se současně ke všem trasám sítě, které z uzlu vystupují, není-li na některé trase samotné lokalita vzorkování trasy.
Je-li lokalita vzorkování na trase sítě, vztahuje se k této trase a ve spojení s objemem na trase dovoluje určit, jaké množství dané látky bylo trasou dopraveno do jejího koncového uzlu.
Ze zákona je dáno, kde lokality vzorkování být musí (např. na výtoku odpadní vody z podniku do povrchového toku, případně do kanalizace). Podniky však zajímají i např. přenášené objemy znečištění na jejich území jinými podniky (toto množství znečištění mohou odečíst od vlastních pokut). Stanovují si tedy další lokality vzorkování, které však nemusí být přesně na trase v místě katastrální hranice, dokonce ani ne na "přechodové" trase samotné. Vyvstává pak požadavek určení koncentrace i množství znečištění pokud možno ve všech trasách vodohospodářské sítě.
Pokus o toto stanovení je analogický metodě protlačování, nasávání a vyrovnání uvedené v předchozí podkapitole o operacích nad objemy. Proto uvedeme způsob určení jen heslovitě. Je přitom užito symbolů U pro uzel sítě, T pro trasu sítě, M pro množství látky, m pro látkovou koncentraci stanovenou dle zákona a V pro objem vody jako nosiče znečištění. Určení se dělá postupně pro všechny látky, na něž byly vzorky vod analyzovány. Uvedené symboly se vztahují k jedné konkrétně určované látce.
Nejprve se spočtou množství M pro ty trasy, na nichž přímo leží lokality vzorkování a je tedy látkové znečištění známo přesně: M = m . V (stejně to platí pro trasy, které mají za počáteční uzel s lokalitou vzorkování a přebírají tedy jeho koncentraci).
Poté se znečištění "protlačí" do těch tras sítě, které jsou jako jediné neohodnocené koncentrací vzhledem ke svému počátečnímu uzlu U, přičemž uzel U je takový, ve kterém se nemění kvalita vody. Mějme jednu takovou trasu T. Množství látky dopravené do uzlu U jeho vstupními trasami je rovno Mvst = S mi . Vi pro i probíhající vstupní trasy uzlu U, množství znečištění odvedené výstupními trasami se známým ohodnocením koncentrací (tj. všemi výstupními trasami až na jedinou určovanou T) je analogicky Mvýst = S mi . Vi pro i probíhající výstupní trasy uzlu U kromě T. Množství látky v trase T je pak MT = Mvst - Mvýst. Koncentrace látky na trase je pak mT = M / V.
Následuje pokus o zjištění znečištění "nasátím" z těch tras sítě, které jsou jako jediné neohodnocené koncentrací vzhledem ke svému koncovému uzlu U, přičemž uzel U je takový, ve kterém se nemění kvalita vody. Mějme jednu takovou trasu T. Množství látky dopravené do uzlu U jeho vstupními trasami se známým ohodnocením koncentrací (tj. všemi vstupními trasami až na jedinou určovanou T) je rovno Mvst = S mi . Vi pro i probíhající vstupní trasy uzlu U kromě T, množství znečištění odvedené výstupními trasami je analogicky Mvýst = S mi . Vi pro i probíhající výstupní trasy uzlu U. Množství látky v trase T je pak MT = Mvýst - Mvst. Koncentrace látky na trase je pak mT = M / V.
Kroky 2 a 3 se opakují tak dlouho, pokud je co "protlačovat" a "nasávat".
Odlišný je další krok, kterým ještě není "vyrovnání". Kroky 2 až 4 se opakují analogicky pro ty uzly, z nichž vychází (resp. do nichž vstupuje) několik tras neohodnocených koncentrací. Množství znečištění se proporcionálně rozdělí podle množství objemů na jednotlivých neohodnocených trasách, tj. předpokládá se u nich stejná koncentrace. Protože tento předpoklad podle konzultací s vodohospodáři nemusí být za každé situace korektní, je možno krok 5 neprovádět.
Krok "vyrovnání" je v případě látkového množství nutno nazírat takto: analogicky kroku 2 se spočte množství, které by mělo do trasy vstupovat, analogicky kroku 3 se spočte množství, které by mělo z trasy vystupovat. Jsou-li množství rovná, je určení úspěšné. Nejsou-li rovna, znamená to, že na trase došlo k naředění nebo naopak zahuštění, určení končí neúspěchem, provozovatel obdrží zprávu o všech takových trasách a ve spolupráci s příslušným vodohospodářem učiní patřičné rozhodnutí: buď explicitně určí koncentraci, nebo taková trasa zůstane neohodnocena danou látkou.
Je zřejmé, že ne všechna ohodnocení koncentrací a látkovým množstvím jsou možná. Způsob stanovení resp. nestanovení je pak indikován v příslušné databázi a v informačních výstupech.