Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

22/02/2024

Дайджест ссылок

Горнопромышленная гидрогеология. Что-то расплодилось окологидрогеологических телеграмм-каналов и сообществ. Вот еще одно. Хорошее.
QGIS для начинающих. Видеоуроки от Василия Швалева. Вот прямо азы, зато бесплатно, а за настоящим «Qgis кунг-фу» — добро пожаловать на его платные курсы. Рекомендую — специалист хороший, берет недорого.
Открытый курс на котором научитесь основам работы в QGIS, даже если только сегодня открыли программу
Getting Started with MODFLOW. Книга под авторством Richard B. Winston, посвященная моделированию в Modflow с помощью ModelMuse. Надо отметить, что благодаря этой книге я почти перестал бояться интерфейса ModelMuse.
Numerical modeling of groundwater flow systems was once accessible only to modeling specialists in the hydrogeological community. Software such as MODFLOW—the most frequently used groundwater modeling program in the world—and associated graphical user interfaces (GUIs) have made modeling possible for most groundwater scientists. This book provides the bridge from understanding to implementing models by introducing the basics of MODFLOW version 6 and providing readers who have a working knowledge of groundwater flow with a guide through construction of their first groundwater model.
Несколько полезных для гидрогеологов библиотек на python: pastas, ttim и timml.

01/12/2023

Установка последней версии SagaGIS в QGIS

В профильном сообществе попросили написать гайд по установке актуальной версии SagaGIS в QGIS. Исполняю обещание. В принципе, в составе QGIS SagaGIS уже включён, но во-первых, это временное явление (вроде как в новых версиях решили исключить SagaGIS из ядра), а во-вторых, в составе установочного пакета QGIS поставляется какая-то уж очень древняя версия Saga — кажется 7-я, тогда как актуальная версия на момент написания заметки — 9.2. 
По пунктам, кратенько. Потом постараюсь добавить подробностей, когда будет больше свободного времени. 
  1. Скачиваем последнюю версию SagaGIS
  2. Распаковываем скачанный архив в какую-нибудь папку. Я предпочитаю OSGeo4W64\apps\, но можно любую другую.
  3. В QGIS отключаем плагин ядра SAGA GIS provider и скачиваем Processing Saga NextGen Provider. В Настройках последнего указываем путь к SagaGIS — куда мы его распаковали на предыдущем шаге. Закрываем QGIS. 
  4. В папке с SagaGIS лежит архив saga4qgis.zip, внутри которого есть инструкция, что надо делать с содержимым этого архива. Не буду повторять её, но суть такова: содержимое архива надо распаковать (удалив предварительно уже существующее) в папку     C:\Users\...\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\processing_saga_nextgen 
    Только не делайте это «в лоб», сперва найдите где конкретно лежит файл SagaNameDecorator.py и папка \description\ — удалите их и скопируйте на их место содержимое архива.
  5. В принципе всё готово, можно запускать QGIS и радоваться возможности работать с последней версией SagaGIS. Но есть еще одна маленькая хитрость, сильно облегчающая работу. Надо открыть файл SagaAlgorithm.py и заменить
elif isinstance(param, (QgsProcessingParameterString, QgsProcessingParameterField)):
                command += ' -{} "{}"'.format(param.name(), self.parameterAsString(parameters, param.name(), context))
на
elif isinstance(param, (QgsProcessingParameterString, QgsProcessingParameterField)):
                command += ' -{} "{:.10}"'.format(param.name(), self.parameterAsString(parameters, param.name(), context))
Для чего нужен последний пункт: дело в том, что инструменты SagaGIS, работающие с векторными исходниками, на входе принимают только shape файлы SHP. А те, в свою очередь, согласно стандарту не поддерживают имена полей длиннее 10 символов. Поэтому если вы попробуете подсунуть в SagaGIS на вход какой-нибудь Geopackage с именем поля 11 символов и больше, то в исходном варианте SagaAlgorithm.py вы получите ошибку. Мой же код автоматически обрезает имя поля по 10 символу и в результате формируется правильный shape-файл. 
К слову сказать, похожие улучшения можно вставлять и в другие Processing Provider плагины — они все сделаны более или менее похожим образом. Однако важно понимать, что если вы ухитрились создать в Geopackage несколько столбцов (полей) длинными именами, первые 10 символов которых побуквенно совпадают, то готовьтесь к удивительным глюкам.

28/12/2022

Подборка гидрогеологических ссылок

Python code of "Analytical Groundwater Modeling". Репозиторий с кодом на Python из отличной книги «Аналитическое моделирование подземных вод: теория и приложения с использованием Python» Марка Баккера и Винсента Поста.
This repository contains the Python code of "Analytical Groundwater Modeling: Theory and Applications Using Python" by Mark Bakker and Vincent Post
The Groundwater Modeling Challenge. Для моделирования временных рядов уровней подземных вод могут применяться различные типы моделей, начиная от чисто статистических моделей (черный ящик) и заканчивая сосредоточенными концептуальными моделями (серый ящик) и моделями, основанными на процессах (белый ящик). Традиционно для решения проблем с грунтовыми водами преимущественно используются физически обоснованные распределенные модели. В последние годы повышенное внимание уделяется использованию моделей серого и черного ящиков. С помощью этого челенджа (термин «соревнование» тут не совсем подходит) предполагается получение различных моделей, применяемых для решения гидрогеологических задач и их сравнение. Предполагается, что любой желающий может скачать набор данных, сделать модель и загрузить её в репозиторий.
This repository contains all the information and materials for the Groundwater Time Series Modeling Challenge, as announced at the 2022 EGU General Assembly. We invite every interested groundwater modeler to model the five different hydraulic head time series found in the data folder, and send in their best possible simulated head time series.
The Water Cycle (PNG). Шикарный плакат в высоком разрешении, иллюстрирующий круговорот воды в природе.
EPANET Python Toolkit (EPyT). Библиотека Python для работы с известной программой для моделирования гидравлики в трубах.
The EPANET-Python Toolkit is an open-source software, originally developed by the KIOS Research and Innovation Center of Excellence, University of Cyprus which operates within the Python environment, for providing a programming interface for the latest version of EPANET, a hydraulic and quality modeling software created by the US EPA, with Python, a high-level technical computing software. The goal of the EPANET Python Toolkit is to serve as a common programming framework for research and development in the growing field of smart water networks.
Tupaccloud. Веб-интерфейс к MODFLOW6 от HatariLabs. Поковырялся немного, но так и не понял, как оно работает.
The least painful tool for groundwater modeling

21/01/2021

Дайджест ссылок

1st Groundwater Project Event. Скоро должна начаться первая онлайновая конференция от Groundwater Project. Спешите записаться.
The first ever Groundwater Project Event will be 100% online between the 3rd and 26th of February 2021. A series of meetings and discussions will be promoted, addressing relevant and innovative themes presented by the best references in hydrogeology in the world. The event will be broadcasted on the Groundwater Project YouTube channel and the public will be able to interact with the speakers through the live chat. All presentations will be broadcasted in English or with English subtitles.
https://courses.gisopencourseware.org/. Курсы по ГИС. В основном речь идет о qGIS.

A comprehensive list of specific Python packages for hydrogeology and groundwater modeling. Список утилит на Python-е для решения прикладных задач в гидрогеологии и геофильтрационного моделирования.
Development of open source software brings amazing new tools in all fields. In hydrogeology and groundwater modeling there is an increasing number of specific open source software and programming packages. We wanted to compile the latest libraries for Python related to hydrogeology, we asked for references and researched over the web to provide you the following list.
Lecture Notes. Лекции по гидрогеологии, геогидродинамике и геомиграции.
Some of the figures in these lecture notes are adapted from or inspired by illustrations in Dingman, S. Lawrence. Physical Hydrology. 2nd edition. Prentice-Hall, 2002.
Estimation of optimal complexity in groundwater models using cross-validation methods. Очень любопытная статья, в которой в частности идет речь об очень забавном феномене, который я сам неоднократно наблюдал на своем опыте (но никогда не пытался подвести под него теоретическую базу — да и куда мне, я больше практик): по мере увеличения сложности и «комплексности» модели, точность прогнозов, сделанных на её основе, сначала закономерно повышается, а потом начинает почему-то снижаться. Там приведен очень наглядный пример со степенными и линейными аппроксимациями в экселе.
The level of complexity that a groundwater model should have is an important and recurrent question for hydrogeologists. A few weeks ago an interesting discussion about this topic occurred on LinkedIn, with one of the main conclusions being that the optimal complexity should minimize predictive error/uncertainty by improving the fit to the existing observations, without overfitting them, as described in Figure 1. Understanding the meaning and implications of this figure is key for the modelling process. In that sense, I decided to implement two sets of models to illustrate how different degrees of complexity affect predictive error. We will also see how to estimate the optimal level of complexity in groundwater models utilizing cross-validation techniques commonly used by data scientists.
ModelMuse Videos. Видеоуроки по работе с ModelMuse (бесплатный пост-препроцессор для MODFLOW, если кто не знал). Программа очень мощная, но learning curve у нее просто запредельная.

28/09/2020

Дайджест ссылок

The Simple Online Groundwater Model. Простая Онлайновая Геофильтрационная Модель. В общем-то и добавить нечего. Для простых прикидочных расчетов очень даже удобно.
The Simple Online Groundwater Model (SOGWaM) is built for budding hydrogeology enthusiasts. It allows you to simulate and visualize groundwater flow, and to understand how system changes affect the flow field by developing and testing hypotheses.
Cadmapper. Онлайновый транслятор открытых данных OpenStreetMap, NASA и USGS в формат Autocad.
Architects and urban planners use Cadmapper to save hours of routine drawing. It transforms data from public sources such as OpenStreetMap, NASA, and USGS into neatly organized CAD files.
FloPyArcade. На базе MODFLOW уже игры пишут. Дожили до светлого дня.
FloPyArcade is a MODFLOW-powered groundwater arcade-type game. It builds on functionality of the library FloPy, which is a wrapper adding pre- and postprocessing options around MODFLOW as well as its related software.
Groundwater Learning Free of Charge. Очень полезное начинание от канадских коллег. Фактически, это онлайн-библиотека с бесплатными книгами и учебными пособиями по гидрогеологии. Насколько я знаю, к проекту уже присоединились русскоязычные авторы и переводчики. Искренне желаю им всяческих успехов.
The Groundwater Project, a non-profit organization, registered in Canada, is committed to contribute to advancement in education by creating and making available online free high-quality groundwater educational material for all. The Groundwater Project is led by Dr. John Cherry, recipient of the 2020 Stockholm Water Prize, and managed by a 11-member international Steering Committee and a larger and globally diverse Advisory Committee.
HatariChem. Онлайн утилита для рисования диаграмм химического состава воды.
We present our own webapp for the representation of the Piper Diagram, Stiff Diagram and Scholler Diagram. The webapp was developed in Python Django and it is entirely free for everyone. The main objective behind this webapp was to develop a user friendly and minimum requirement tool to create these water quality / hidrogeochemical diagrams.
Graphical Construction of Groundwater Flow Nets. Когда я учился в МГУ, нас тоже учили рисовать сетку потока подземных вод. Не думал, что этой теме можно аж целую книгу посвятить.
A groundwater flow net consists of two families of intersecting lines: equipotential lines, which connect locations of equal hydraulic head, and flow lines, which show paths of groundwater flow. Together, these two sets of lines provide a visual, two-dimensional representation of the groundwater conditions under steady state (that is, neither set of lines change with time).
Managing Interference Between Geothermal Installations. Расчет эффекта интерференции между геотермальными системами отопления/охлаждения.
There is an increasing interest in utilizing shallow ground and groundwater as a source for geothermal heating and cooling. Either open- or closed-loop systems can be used for heat exchange with the subsurface to supply heat pumps of buildings.
Environmental Modeling Solutions - Webinars. Серия вебинаров по актуальным гидрогеологическим темам.
How agriculture software for nutrient optimization can help to protect groundwater
According to a new report by the European Environment Agency (EEA), only 40% of the continent’s water bodies are compliant with the agency’s environmental standards set by the European directive on water, which was adopted in 2000. The directive offers a framework for the evaluation, management and improvement of water resources throughout Europe.