HLAVO is a hydrology modeling system focused on predicting groundwater table
dynamics from meteorological inputs and soil moisture profile measurements. The
repo combines data ingress pipelines, surface modeling (Richards/ParFlow) with
Kalman-filter assimilation, and deep vadose zone model generation from GIS into
MODFLOW 6 inputs, with runs/configs under runs/.
Hydrology modeling stack for the Uhelná locality: ingest meteo + soil moisture, assimilate in surface models, and build deep vadose zone MODFLOW 6 models from GIS sources.
DeepSensormicrochip_SWnotebooks_*
devhlavo/deep_model/GIS
composed/- communication of deep_model and kalman (surface model) in a parallel rundeep_model/- model of the deep vadoze zoneingress/- data ingress tools and serviceskalman/- surface model assimilation (using profile measurements)soil_parflow/- ParFlow based surface model (Richards)soil_py/- Pure Python minimalistic Richards' solver.
This is subproject of HLAVO repository living in deep_model/gpt_zone. Codex run within docker container
- Best code, is no code!
- prefere functional style with poor functions; idealy do not change objects after construction, all methods do calculations only reading the data in the class
- prefere high level code: numpy, pandas, xarray instead loops and native python sturctures (lists, dicts)
- use logging
- Use logging for debug outputs.
- use pathlib
- use attrs for dataclasses
- use attrs staticmethod/classmethod technique to construct from other data then is stored in the dataclass
- Be defensive, with strong checks, but only for the user input data.
- Do just basic asserts for consistency for function inputs.
- Can add more asserts if needed during debugging.
- NEVER resolve test errors by try blocks
- Use
tests/runscript to run pytest as it redirects merged stdin + stderr intopytest.logotherwise you may mis the actual output, which breaks your feedback loop.