Załącznik nr 5 do SIWZ Dokumentacja projektowa Systemu Hydrologii 2, zadania 2012 Zakres funkcjonalno techniczny Opracował: Zespół Ośrodka Systemu Hydrologii
Zawartość Dokumentacja projektowa Systemu Hydrologii 2, zadania 2012... 1 Zakres funkcjonalno techniczny... 1 1. Wstęp... 4 2. Moduł agregacji... 4 2.1. Wybór danych... 4 2.2. Tworzenie i modyfikowanie agregacji... 4 2.3 Realizowane agregacje... 7 3. Moduł zadań... 8 3.1. Koncepcja... 8 3.2. Grupowanie zadań... 9 3.3. Zarządzanie zadaniami... 10 3.4. Realizowane zadania... 10 4. Obiekty SH... 13 4.1. Grupowanie właściwości... 13 Typ WODOWSKAZ... 13 Typ GRUNTÓWKA... 15 Typ METEO... 17 Typ PRZEKRÓJ... 17 Typ ZBIORNIK... 18 2
Kontekst i potrzeby projektu System Hydrologii jest podstawowym oprogramowaniem informatycznym i bazą danych Instytutu Meteorologii i Gospodarki Wodnej dedykowanym hydrologii operacyjnej, historycznej, modelowaniu hydrologicznemu oraz badaniom i pracom rozwojowym w hydrologii. Podstawowe zadanie SH1 to zapewnienie optymalnych narzędzi pracy hydrologom operacyjnym, historycznym i hydrologom modelarzom w aspekcie jakości, wydajności, ergonomii i szybkości. Z tego powodu wszelkie prace związane z utrzymaniem i rozwojem systemu SH1 posiadają jako cel nadrzędny wypełnienie powyżej zdefiniowanego zadania. System Hydrologii został wdrożony do pracy w IMGW na początku 2005 roku. Rozwój technologii informatycznych i infrastruktury technicznej stanowiącej otoczenie SH1, wymusił w roku 2011 decyzję o stworzeniu nowej wersji systemu: System Hydrologii 2. W niniejszym drugim etapie realizacji systemu SH2, do wykonania pozostaje część administracyjna i zarządcza Systemu. Funkcjonalności, które będą realizowane przez nowy system SH2 będą wyłączone w systemie SH1, natomiast funkcjonalności, które nie są realizowane przez system SH2 będą w dalszym ciągu realizowane przez SH1 np. hydrologia historyczna. Ze względu na konieczność współistnienia systemów SH1 i SH2 i przenoszenia funkcjonalności z systemu SH1 do SH2 Zamawiający wymaga aby aplikacja SH2 była zgodna z dotychczasową technologią Systemu SH1. Zamawiający zamierza podobnie jak utrzymuje system SH1, utrzymywać również system SH2 własnymi siłami. Wykonawca udzieli jednie gwarancji na wykonane elementy systemu SH2. Zamawiający oczekuje, że Aplikacja SH2 będzie dostosowana do pracy z najnowszym system operacyjnym Windows (64 bit), najnowszym pakietem biurowym MS Office w oparciu o najnowsze środowisko Microsoft.Net Framework w wersji 4.0 (C#). Docelowo dążeniem Ośrodka Systemu Hydrologii jest doprowadzenie do przepisania całości aplikacji SH1 i będą się na to składać kolejne projekty uzupełniające nie będące przedmiotem niniejszego projektu. Zakres prac wymieniony w niniejszym dokumencie dotyczy przepisania istniejących modułów oprogramowania SH1, ewentualnie przepisania i wprowadzenia modyfikacji. Z uwagi na to dla potrzeb projektowych wykonania modułów oprogramowania SH2, możliwe jest posługiwanie się dokumentacją projektową i kodami źródłowymi systemu SH1. 3
1. Wstęp W ramach dalszego rozwoju SH2 tworzone mają być kolejne moduły i wprowadzane kolejne funkcjonalności zgodnie z ustaloną kolejnością: Agregacje, Zadania Obiekty SH 2. Moduł agregacji 2.1. Wybór danych Rezygnacja z serii danych obecnych w SH1 wymusza zmianę sposobu definiowana danych wejściowych do agregacji. Definicja danych wejściowych może być wykonana poprzez wybór szablonu konfiguracji Eksploratora danych. Informacjami pobieranymi z takiego szablonu używanymi w agregacji powinny być: lista operacji, na której ważna jest kolejność oraz zaznaczenie do pokazania na siatce danych (tylko zaznaczone operacje brane do agregacji, przypadek, w którym na liście zaznaczone są właściwości powinien generować błąd i agregacja nie powinna się wyliczać). przedział czasu specyfikacja czasu filtr atrybutów filtr wersji Pozostałe zawarte w szablonie informacje, w szczególności zaznaczenie na liście operacji do pokazania na wykresie, konfiguracja wykresów, ustawienia kolorowania danych, opcja pokazywania ostatnich n wyników, ustawienia autoodświeżania, itd. nie powinny mieć wpływu na agregację. 2.2. Tworzenie i modyfikowanie agregacji Rysunek 2. Tworzenie i edycja agregacji w SH1 przedstawia formatkę, za pomocą której agregacje są definiowane w systemie SH1. Jej wadą jest to, że jest taka sama bez względu na formułę agregująca, jedynie niektóre pola wyszarzają się jeśli nie są używane przy danej formule. Rysunek 1. Przykładowe wyniki agregacji w SH1 4
Rysunek 2. Tworzenie i edycja agregacji w SH1 Tworzenie i modyfikowanie agregacji powinno zostać wykonane w oparciu o wizard. Kolejne kroki definiowania i edycji agregacji powinny zawierać: A. wybór formuły agregacyjnej w listy dostępnych formuł, wybór kodu operacji (z istniejących operacji lub stworzenie nowej, w przypadku agregacji systemowych kod powinien być podpowiadany), nazwy i opisu B. wybór istniejącego szablonu konfiguracji Eksploratora danych, z możliwością jego podglądu i edycji C. dodatkowe ustawienia i. typ (usuwaj poprzednie w przedziale czasu, nadpisuj poprzednie ii. rzutowanie (początek przedziału, koniec przedziału), iii. domknięcie przedziału (lewy zamknięty, prawy zamknięty), iv. początek przedziału (godziny i minuty), v. przesunięcie czasowe (godziny i minuty), vi. precyzja, vii. minimalna ilość danych viii. uwzględnianie współczynnika redukcji D. definicję wyjścia zależną od typu agregacji (pojedynczy obiekt lub wszystkie obiekty z wejścia, parametr (o ile jest to możliwe podpowiadany) E. po wyliczeniu agregacji i zapisaniu danych w bazie powinna istnieć możliwość podejrzenia wyliczonych danych przy pomocy Eksploratora danych. W tym rozwiązaniu nie istnieje możliwość podglądu danych wyliczonych z agregacji przed ich zapisem do bazy. 5
Wskazane byłoby, żeby istniała możliwość wyświetlenia w Eksploratorze danych danych wejściowych wraz z wyjściowymi. Obecnie możliwy był tylko podgląd danych wyjściowych (Rysunek 1. Przykładowe wyniki agregacji w SH1). Poniżej poglądowo przedstawione zostały układy kolejnych kroków formatki wizard do tworzenia i edycji agregacji: Formuła: Agregacja jeden do jeden - suma Kod: Nazwa: Opis: Dalej Rysunek 3. Wizard dodawania i edycji agregacji krok 1. Szablon konfiguracji Eksploratora Danych: Otwórz wybrany szablon Wstecz Dalej Rysunek 4. Wizard dodawania i edycji agregacji krok 2. 6
Typ: Usuwaj poprzednie w przedziale czasu Klasa czasu: 2 tygodnie Rzutowanie: Początek przedziału: 00 00 Przesunięcie czasowe: 00 00 Przedział: Lewy domknięty Prawy domknięty Precyzja: Min. ilość 4 144 Wstecz Dalej Rysunek 5. Wizard dodawania i edycji agregacji krok 3. Zapisz agregację Wylicz i zapisz dane Obiekt: Parametr: Wstecz Rysunek 6. Wizard dodawania i edycji agregacji krok 5. (Formatka w dużym stopniu zależna od typu agregacji tylko w niektórych przypadkach potrzebne będzie określenie obiektu, czy parametru) 2.3 Realizowane agregacje Tabela 1 zawiera listę agregacji dostępnych w SH1 wraz z informacją o tym, czy dana agregacja powinna być realizowana w ramach prac nad SH2 (w szczególności agregacje oznaczone kolorem czerwonym nie będą realizowane). Tabela 1. Agregacje z SH1 realizowane w SH2 Agregacja dwa do jeden średnia dobowa z czujnika uzupełniona średnią wagową z obserwatora Agregacja dwa do jeden średnia dobowa z limnigrafu uzupełniona średnią wagową z obserwatora Agregacja jeden do jeden maksimum Nie będzie wykonywane w ramach prac nad SH2. Nie będzie wykonywane w ramach prac nad SH2. Funkcjonalność mają przejąć raporty. 7
Agregacja jeden do jeden - minimum Agregacja jeden do jeden - suma Agregacja jeden do jeden średnia Agregacja wiele do jeden maksimum Agregacja wiele do jeden minimum Agregacja wiele do jeden suma Agregacja wiele do jeden średnia Kompletacja (aproksymacja liniowa) Kompletacja wiele do jeden Opad wyliczany z krzywej sumowej Pojemność zbiornika ze stanów wody Przepływ wyliczany ze stanów wody Przepływ wyliczany ze stanów wody (inercyjna kontynuacja współczynnika redukcji) Rzędne wyliczane ze stanów wody Stan wody wyliczany z przepływu Stan wody wyliczany z rzędnych Suma opadów z dwóch deszczomierzy Funkcjonalność mają przejąć raporty. Definiowana, dodatkowo predefiniowane: Opad godzinowy, Opad dobowy Definiowana Kwestia nie rozstrzygnięta Kwestia nie rozstrzygnięta Kwestia nie rozstrzygnięta Definiowana Nie będzie wykonywana. Predefiniowana i systemowa Definiowana, jedna formuła do wyliczania opadu z deszczomierzy, Predefiniowana: Opad dziesięciominutowy Definiowana i predefiniowana Predefiniowana Predefiniowana Predefiniowana (niski priorytet) Predefiniowana (niski priorytet) Predefiniowana (niski priorytet) Jedna formuła do wyliczania opadu z deszczomierzy (patrz: Opad wyliczany z krzywej sumowej) 3. Moduł zadań 3.1. Koncepcja W odróżnieniu od podejścia stosowanego w SH1 koncepcja zadania w SH2 zakłada, że zawiera ona definicję czasu i sposobu uruchomienia, nie zawiera natomiast definicji wykonywanej czynności. Do zadania można jedynie podpiąć niezależny byt taki jak scenariusz, agregacja, itp. Z tego względu np. podpinana do zadania agregacja musi zostać stworzona przed wykorzystującym ją zadaniem, nie można stworzyć jej w locie. Dla wszystkich zadań z SH1, które mają być obecne w SH2 należy więc stworzyć struktury definiujące co jest do wykonania w zadaniu w ramach danego typu. 8
Rysunek 7. Formatka tworzenia i edycji zadania w SH1 Moduł zadań powinien w oparciu o typ podpiętego do danego zadania obiektu (agregacja, scenariusz, itd.) i jego identyfikator uruchamiać metodę z danego modułu (agregacja, scenariusz, itd.) odpowiedzialną za wykonanie czynności związanej z danym typem zadania. Nie powinien być stosowany istniejący w SH1 podział zadań na automatyczne i nieautomatyczne. W ustawieniach zadania będzie dostępna opcja automatyczne, ale co do typu będzie jeden zadanie. Dodatkowo z ustawień powinna zostać usunięta opcja start zadania. Zadania powinny być wykonywane w oparciu o scheduler zapewniający uruchamianie zadań zgodnie z zaplanowanym harmonogramem. Definicja harmonogramu powinna być elastyczna, tj. poza standardową definicją czasu uruchomienia zadania powinna umożliwiać nadawanie priorytetów poszczególnym zadaniom i ich grupom (zgodnie z priorytetami w SH1), definiowanie częstotliwości wykonywania zadania w zależności od pory dnia, dnia tygodnia itd. Również mechanizm uruchamiania zadań automatycznych z określeniem roli powinien być dostępny i działać analogicznie jak w SH1. Wskazane jest by scheduler działał jako usługa systemu Windows. 3.2. Grupowanie zadań Powinien zostać stworzony mechanizm grupowania zadań. Powstała w wyniku tego struktura drzewiasta powinna pozwalać na określanie sposobu wykonania zadań dla całej grupy, w szczególności kolejności ich uruchamiania, jeśli mają być wykonywane sekwencyjnie. Grupowanie zadań zastąpi mechanizm zadań wsadowych stosowany w SH1 (Rysunek 8. Lista zadań zadania wsadowego w SH1). 9
Rysunek 8. Lista zadań zadania wsadowego w SH1 Podobnie jak w mechanizmie stworzonym do grupowania raportów niemożliwe będzie przechowywanie w jednym węźle kolejnego węzła i pojedynczych zadań, tj. węzeł przechowuje albo kolejne węzły, albo zadania. Wybór ustawień dla grupy uniemożliwiał będzie wybór ustawień dla pojedynczego zadania z tej grupy. 3.3. Zarządzanie zadaniami Istnieje potrzeba stworzenia płaskiej listy zadań, umożliwiającej podgląd historii uruchamiania zadań oraz statusu ich wykonania. Istnieje również potrzeba stworzenia narzędzia umożliwiającego zarządzanie zadaniami automatycznymi (zatrzymanie zadania, wznowienie zadania, itp.), podgląd kolejności i statusu wykonania, podgląd kolejki zadań. 3.4. Realizowane zadania Tabela 2 zawiera listę zadań dostępnych w SH1, informację o tym czy funkcjonalność będzie realizowana w SH2 oraz opis sposobu jej realizacji. Tabela 2. Zestawienie typów zadań z SH1 wraz z informacją o sposobie realizacji funkcjonalności w SH2 Agregacja Omówione w punkcie 1. Archiwizacja danych (eksport + usunięcie danych z systemu) Powinien powstać byt definicja archiwizacji danych zawierający przepis na wybór danych jak w agregacjach i ścieżkę do zapisu pliku. 10
Archiwizacja książki logów Zadania wsadowe Kopiowanie plików Eksport danych Eksport danych do SYNTEL Uruchamianie programów zewnętrznych Import danych Import danych z masek Import plików SYNOP Generacja raportów Uruchomienie scenariusza Archiwizacja procesów Powinien powstać byt definicja archiwizacji książki logów zawierający przepis na wybór danych (logów) i ścieżkę do zapisu pliku. Realizowane za pomocą grupowania zadań Zadanie nie będzie realizowane Realizowane będzie za pomocą raportów Zadanie nie będzie realizowane Powinien powstać byt definicja uruchamiania programu zewnętrznego, lub definicja skryptu umożliwiające wprowadzenie dowolnego skryptu. Powinien powstać szablon typu definicja importu danych zawierający opcje z formatki importu. Zadanie nie będzie realizowane Powinien powstać byt zawierający opcje importu plików SYNOP z SH1, być może w części wspólnej połączony z importem danych. Realizowane przez moduł raporty. Realizowane przez moduł scenariusze. Nowy typ zadania nieobecny w SH1 Poniżej przedstawiono wygląd ustawień poszczególnych typów zadań z SH1 (poza zadaniami, które nie będą realizowane w SH2). 11
12
4. Obiekty SH Formatka do zarządzania obiektami powinna zapewniać dotychczasowe funkcjonalności. Powinny zostać wprowadzone zmiany dotyczące usprawnienia mechanizmu do zmian obowiązywania właściwości, tak by zachowywana zostawała historia zmian. 4.1. Grupowanie właściwości Powinny zostać wprowadzone zmiany umożliwiające grupowanie właściwości (jednopoziomowe grupy), tak by łatwiejsza była ich edycja i zarządzanie. Tabela właściwości powinna zyskać dodatkową kolumnę, w której przechowywana byłaby informacja o grupie. Po ustaleniu podziału właściwości na grupy jego zmiana będzie możliwa jedynie na bazie (nie będzie możliwości zmiany grup z poziomu SH2). Dodatkowo wprowadzone powinny zostać bramki umożliwiające edycję właściwości z poszczególnych grup. W przyszłości, kiedy nie będzie już konieczne współistnienie systemów SH1 i SH2 wskazana jest zmiana podejścia do właściwości, tak by przypisywane były one poszczególnym typom obiektów, a nie poszczególnym obiektom. Propozycja grupowania właściwości dla najważniejszych typów obiektów (wg dokumentu potrzeby_zmian_sh_koncepcja_sh2_v18_14012011_zadania_agregacje.docx): Typ WODOWSKAZ Dane podstawowe: Rodzaj stacji SH kod Nazwa profilu wodowskazowego Rzeka Rok rozpoczęcia/wznowienia obserwacji Rok likwidacji stacji Opis Typ I grupa - Właściwości fizjograficzne szerokość geograficzna, długość geograficzna, wysokość n.p.m., zlewnia, kilometr biegu rzeki, powierzchnia zlewni [km 2 ], rzędna zera wodowskazu, województwo, 13
gmina, stacja zbiorcza, stacja zbiorcza (ZDT) centrala telemetrii (RCT) Biuro Prognoz Hydrologicznych BPH. II grupa Stany i przepływy charakterystyczne stan ostrzegawczy, stan alarmowy, absolutne maksimum [cm] bez daty ważności, data wystąpienia absolutnego maksimum, bez daty ważności, absolutne minimum [cm] bez daty ważności, data wystąpienia absolutnego minimum, bez daty ważności, okres obliczeniowy stanów charakterystycznych, WWW [cm] najwyższa wielka woda, SWW [cm] średnia wielka woda, SSW [cm] średnia roczna woda, SNW [cm] średnia niska woda, NNW [cm] najniższa niska woda, SW grn [cm] granica górna średnich stanów wody, SW dln [cm] granica dolna średnich stanów wody, okres obliczeniowy przepływów charakterystycznych, WWQ [m 3 /s] najwyższy wysoki przepływ, SWQ [m 3 /s] średni wysoki przepływ, SSQ [m 3 /s] średni roczny przepływ, SNQ [m 3 /s] średni niski przepływ, NNQ [m 3 /s] najniższy niski przepływ, SQ grn [m 3 /s] granica górna przepływów średnich, SQ dln [m 3 /s] granica dolna przepływów średnich. III grupa Wartości przepływów maksymalnych prawdopodobnych i odpowiadające im rzędne okres obliczeniowy przepływów prawdopodobnych, Qmax 50% [m 3 /s], rzędna Qmax 50% [m], Qmax 20% [m 3 /s], 14
Rzędna Qmax 20% [m], Qmax 10% [m 3 /s], rzędna Qmax 10% [m], Qmax 5% [m 3 /s], rzędna Qmax 5% [m], Qmax 2% [m 3 /s], rzędna Qmax 2% [m], Qmax 1% [m 3 /s], rzędna Qmax 1% [m], Qmax 0,1% [m 3 /s], rzędna Qmax 0,1% [m]. IV grupa grupa identyfikatorów Identyfikator przekroju wodowskazowego. Identyfikator przekroju poprzecznego 2. Identyfikator przekroju poprzecznego 3. Identyfikator przekroju poprzecznego 4. Identyfikator profilu podłużnego. Identyfikator przekroju mostowego Identyfikator krzywej natężenia przepływu. V grupa grupa uwag Uwaga do tabel rocznikowych 1. Uwaga do tabel rocznikowych 2. Uwaga do tabel rocznikowych 3. Uwaga do tabel rocznikowych 4. Uwaga do tabel rocznikowych 5. Uwaga do tabel rocznikowych 6. VI grupa Stacje reprezentatywne Stacja opadowa. Typ GRUNTÓWKA Dane podstawowe: rodzaj stacji, SH kod, typ, 15
nazwa stacji, zlewnia, rok rozpoczęcia/wznowienia obserwacji, rok likwidacji stacji, Informacja o stanie studni. I grupa - Właściwości fizjograficzne szerokość geograficzna, długość geograficzna, głębokość studni, wysokość n.p.m., wysokość znaku mierniczego [cm], wysokość znaku mierniczego [n.p. Kr.], województwo, powiat, gmina, stacja zbiorcza (ZDT), centrala telemetrii (RCT), Biuro Prognoz Hydrologicznych BPH. II grupa Stany charakterystyczne absolutne maksimum [cm] bez daty ważności, data wystąpienia absolutnego maksimum, bez daty ważności, absolutne minimum [cm] bez daty ważności data wystąpienia absolutnego minimum, bez daty ważności, okres obliczeniowy stanów charakterystycznych miesięcznych, średni miesięczny (01) stan wody gruntowej dla stycznia z wielolecia, średni miesięczny (02) stan wody gruntowej dla lutego z wielolecia, średni miesięczny (03) stan wody gruntowej dla marca z wielolecia, średni miesięczny (04) stan wody gruntowej dla kwietnia z wielolecia, średni miesięczny (05) stan wody gruntowej dla maja z wielolecia, średni miesięczny (06) stan wody gruntowej dla czerwca z wielolecia, średni miesięczny (07) stan wody gruntowej dla lipca z wielolecia, średni miesięczny (08) stan wody gruntowej dla sierpnia z wielolecia, średni miesięczny (09) stan wody gruntowej dla września z wielolecia, średni miesięczny (10) stan wody gruntowej dla października z wielolecia, 16
średni miesięczny (11) stan wody gruntowej dla listopada z wielolecia, średni miesięczny (12) stan wody gruntowej dla grudnia z wielolecia. III grupa grupa uwag Uwaga do tabel rocznikowych wód podziemnych 1. Typ METEO Dane podstawowe: rodzaj stacji, SH kod, Rzeka właściwość do usunięcia, rok rozpoczęcia/wznowienia obserwacji, rok likwidacji stacji, opis, typ. I grupa - Właściwości fizjograficzne szerokość geograficzna, długość geograficzna, wysokość n.p.m., zlewnia, powierzchnia zlewni [km 2 ], województwo, gmina, stacja zbiorcza, stacja zbiorcza (ZDT), centrala telemetrii (RCT), Biuro Prognoz Hydrologicznych BPH. II grupa Opady charakterystyczne suma opadu 1%, maksymalna suma opadu dobowego, data wystąpienia maksymalnej sumy opadu, okres obliczeniowy. Typ PRZEKRÓJ rzeka, data pomiaru, 17
Id przekroju, rzędna zwierciadła, kilometr biegu rzeki. Nazwa wodowskazu Identyfikator stacji wodowskazowej Odległość od stacji wodowskazowej Współrzędne geograficzne brzegu lewego Współrzędne geograficzne brzegu prawego Typ ZBIORNIK Dane podstawowe: kod SH rzeka, opis. I grupa - Właściwości fizjograficzne szerokość geograficzna, długość geograficzna, wysokość n.p.m., zlewnia kilometr biegu rzeki, województwo, gmina, stacja zbiorcza, Biuro Prognoz Hydrologicznych BPH. II grupa Wartości Hydrotechniczne Pojemność całkowita zbiornika (mln m3) Pojemność użytkowa zbiornika (mln m3) Pojemność martwa (mln m3) Pojemność rezerwy (mln m3) Pojemność rezerwy forsowanej (mln m3) Odpływ dozwolony (mln m3) Odpływ dopuszczalny (mln m3) Rzędna maksymalnego piętrzenia (m n.p.m.) Rzędna rezerwy (m n.p.m.) Rzędna pojemności martwej (m n.p.m.) 18
Rzędna rezerwy forsowanej (m n.p.m.) III grupa Wartości charakterystyczne Największe powodzie I- max rzędna (m n.p.m.) Największe powodzie I- max odpływ (mln m3) Największe powodzie I- objętość (mln m3) Największe powodzie I- data Największe powodzie I- godzina Największe powodzie II - max rzędna (m n.p.m.) Największe powodzie II - max odpływ (mln m3) Największe powodzie II - objętość (mln m3) Największe powodzie II - data Największe powodzie II - godzina Największe powodzie III - max rzędna (m n.p.m.) Największe powodzie III - max odpływ (mln m3) Największe powodzie III - objętość (mln m3) Największe powodzie III - data Największe powodzie III - godzina IV grupa grupa identyfikatorów Krzywa napełnienia zbiornika 19