![](https://raw.githubusercontent.com/Chrismarsh/CHM/dev/docs/images/mesh.png)
# The Canadian Hydrological Model
The Canadian Hydrological Model (CHM) is a novel modular unstructured mesh based approach for hydrological modelling. It can move between spatial scale, temporal scale, and spatial extents. It is designed for developing and testing process representations for hydrological models.
<!-- MarkdownTOC autolink="true" -->
- [Usage](#usage)
- [Motivation](#motivation)
- [Design goals](#design-goals)
- [Publications](#publications)
- [Features](#features)
- [Spatial Scales](#spatial-scales)
- [Visualization](#visualization)
- [netCDF support](#netcdf-support)
- [Process representations](#process-representations)
- [Unstructured mesh](#unstructured-mesh)
- [Parallel computing](#parallel-computing)
- [Uncertainty analysis](#uncertainty-analysis)
- [Demonstration](#demonstration)
- [SnowCast](#snowcast)
- [Large extent](#large-extent)
- [Point scale](#point-scale)
- [Blowing snow](#blowing-snow)
<!-- /MarkdownTOC -->
# Usage
Details on how to use CHM, as well as more implimentation details, can be found in the [documentation](https://chm.readthedocs.io/en/dev/).
# Motivation
Modelling of hydrological processes at any scale is hampered by large uncertainties in parameters and forcing data, incomplete process representations (the scientific conceptualization of a phenomena codified numerically), and arbitrary process representation selections and linkages (collectively ‘model structure’). There is also consistent difficulty or an inability to easily test and estimate the uncertainty due to variations in model structure, parameter values, number of parameters, forcing data requirements, and spatial discretization requirements (collectively ‘model complexity’).
In this work, a new distributed model framework is presented that can examine a variety of process representations, process linkages and levels of model complexity. Algorithms can be easily interchanged, removed, and decoupled while preserving the underlying model framework. Thus, uncertainty propagation and subsequent feedbacks within the model structure can be quantified. Unstructured meshes represent the spatial heterogeneity of surface and sub-surface features in a computationally efficient manner and also decreases number of parameters and initial conditions. The parallel architecture allows for efficient uncertainty testing of parameter ranges. By utilizing unstructured meshes, fewer than 5% of the computational elements of high-resolution structured (raster) grids are usually necessary. This preserves surface and sub-surface heterogeneity but results in fewer parameters and initial conditions.
# Design goals
* Multi-scale, multi-physics, variable complexity and domain model
* Assessment of model structural, parameter, and data uncertainty
* Easily test multiple hypotheses, avoid rigid model structures
* Incorporate existing code
* Contribute to decision support systems
# Publications
The following publications provide an overview of CHM and its capabilities
- V. Vionnet, Marsh, C.B., B. Menounos, S. Gascoin, N.E. Wayand, J. Shea, K. Mukherjee, and J.W. Pomeroy. Multi-scale snowdrift-permitting modelling of mountain snowpack. The Cryosphere Discussions, 2020:1--43, 2020.
- Marsh, C.B., J.W. Pomeroy, and H.S. Wheater. The Canadian Hydrological Model (CHM) v1.0: a multi-scale, multi-extent, variable-complexity hydrological model – design and overview. Geoscientific Model Development, 13(1):225--247, 2020.
- Marsh, C.B, J. W. Pomeroy, R.J. Spiteri, and H.S Wheater. A Finite Volume Blowing Snow Model for Use With Variable Resolution Meshes. Water Resources Research, 56(2), 2020.
- Marsh, C.B, R. J. Spiteri, J.W. Pomeroy, and H.S. Wheater. Multi-objective unstructured triangular mesh generation for use in hydrological and land surface models. Computers & Geosciences, 119:49--67, 2018.
# Features
## Spatial Scales
CHM is applicable to multiple scales from the basin scale, to the provincial/state scale and beyond. It may also be applied at a single point-scale.
![](https://raw.githubusercontent.com/Chrismarsh/CHM/master/wiki/scale.png)
## Visualization
Output is in the vtu file format, allowing for visualization, analysis, and timeseries animation in [ParaView](https://www.paraview.org/). Date-time support has been added to ParaView via an filter ![vtk-paraview-datetimefilter](https://github.com/Chrismarsh/vtk-paraview-datetimefilter).
![](https://raw.githubusercontent.com/Chrismarsh/CHM/master/wiki/paraview.png)
## netCDF support
Input meterology may be either in a standard ASCII file, or as a netCDF file allowing for ease of use when using climate model outputs.
The below figure shows virtual stations that correspond to the center of the 2.5 km GEM numerical weather prediction output in netCDF format.
![](https://raw.githubusercontent.com/Chrismarsh/CHM/master/wiki/netcdf.png)
## Process representations
Process represetenation will be extented to include the entirety of the hydrological cycle. However, current representation includes mostly surface and cold regions processes
| Process | Module |
|---------|--------|
|Canopy |Open/forest (exp/log) (Pomeroy et al., 1998; Ellis et al., 2010)|
|Snowpack | 2-layer Snobal (Marks et al, 1999); Multi-layer Snowpack (Lehning et al., 1999); Various albedo e.g., CLASS (Verseghy 1991) |
|Soil | Frozen soil infiltration (Gray et al., 2001) |
|Mass redistribution | PBSM3D (Marsh et al, 2018 in review); Snowslide (Bernhardt 2010) |
Input meterology is spatially interpolated and down-scaled from the input station or virtual-station (e.g., from numerical weather prediction) to produce a spatially distributed driving dataset. There are a number of ways to downscale these meterology.
|Variable | Type|
| ------- | ------ |
|Air temperature | Linear lapse rates (measured, seasonal, constant, neutral stability) (Kunkel, 1989, Dodson et al., 1997)|
|Relative humidity | Linear lapse rates (measured, seasonal, constant) (Kunkel, 1989)|
| Horizontal wind | Topographic curvature (Liston, et al., 2006); Mason-Sykes (Mason and Sykes, 1979); uniform wind |
|Precipitation | Elevation based lapse (Thornton, 1997) |
| Precipitation Phase | Linear; Psychometric (Harder and Pomeroy, 2013); Threshold |
| Solar radiation | Terrain shadows (Marsh et al., 2011, Dozier and Frew, 1990); Clear sky transmittance (Burridge, 1975); Transmittance from observations; Cloud fraction estimates (Walcek, 1994); Direct/diffuse splitting (Iqbal, 19xx) |
| Longwave | T, RH based (Sicart et al., 2006); Constant (Marty et al., 2002) |
## Unstructured mesh
CHM uses an unstructured triangular mesh to representent the terrain. This mesh is generated by ![Mesher](https://github.com/Chrismarsh/mesher), a novel multi-objective unstructured mesh generation software that allows mesh generation to be generated from an arbitrary number of hydrologically important features while maintaining a variable spatial resolution. Triangle quality is guaranteed as well as a smooth graduation from small to large triangles. Including these additional features resulted in a better representation of spatial heterogeneity versus classic topography-only mesh generation while significantly reducing the total number of computational elements.
![](https://raw.githubusercontent.com/Chrismarsh/mesher/master/images/mesh.png)
## Parallel computing
In CHM, parallelism is currently implemented via the shared memory API OpenMP. As described above, modules may either be point-scale models that are applied to each triangle independently or require knowledge of the surrounding triangles. Mixing these two types of parallelism complicates the implementation of parallel code. To provide as much seamless parallelism as possible to the modules, each module declares the type of algorithm it is: data parallel or domain parallel. Data parallel
没有合适的资源?快使用搜索试试~ 我知道了~
加拿大水文模型源码文件
共382个文件
cpp:91个
hpp:88个
h:37个
需积分: 0 5 下载量 144 浏览量
2023-02-12
18:45:08
上传
评论
收藏 49.35MB ZIP 举报
温馨提示
加拿大水文模型 (CHM) 是一种基于模块化非结构化网格的新型水文建模方法。它可以在空间尺度、时间尺度和空间范围之间移动。它专为开发和测试水文模型的过程表示而设计。CHM适用于从流域尺度到省/州尺度乃至更大的多个尺度。它也可以应用于单点尺度。
资源推荐
资源详情
资源评论
收起资源包目录
加拿大水文模型源码文件 (382个子文件)
make.bat 760B
bb_m_2000-2008 11KB
ReSolver1d.cc 166KB
DataClasses.cc 124KB
AsciiIO.cc 107KB
Snowpack.cc 86KB
Canopy.cc 79KB
Solver.cc 69KB
Laws_sn.cc 68KB
WaterTransport.cc 63KB
CaaMLIO.cc 50KB
SmetIO.cc 47KB
StabilityAlgorithms.cc 46KB
Metamorphism.cc 38KB
PhaseChange.cc 30KB
ImisDBIO.cc 27KB
Utils.cc 22KB
Hazard.cc 20KB
Meteo.cc 18KB
Saltation.cc 16KB
Stability.cc 15KB
SnowpackConfig.cc 14KB
SnowDrift.cc 12KB
Aggregate.cc 11KB
SnowpackIO.cc 9KB
SnowpackIO.cmake.cc 9KB
.clang-format 3KB
FindTBB.cmake 16KB
PVS-Studio.cmake 10KB
FindMatlab.cmake 8KB
FindNetCDF.cmake 5KB
FindOpenCL.cmake 4KB
FindFunc.cmake 2KB
FindMeteoIO.cmake 1KB
FindPROJ.cmake 1KB
Findxxhash.cmake 1KB
FindGperftools.cmake 1KB
FindJemalloc.cmake 1KB
FindSparsehash.cmake 1KB
cmake_find_names.cmake 869B
Harder_precip_phase.config 51B
triangulation.cpp 91KB
core.cpp 88KB
PBSM3D.cpp 68KB
sno.cpp 68KB
main.cpp 61KB
Simple_Canopy.cpp 27KB
timeseries.cpp 24KB
snobal.cpp 20KB
snow_slide.cpp 20KB
metdata.cpp 20KB
WindNinja.cpp 18KB
MS_wind.cpp 18KB
snowpack.cpp 16KB
fsm.cpp 15KB
test_metdata.cpp 14KB
netcdf.cpp 14KB
LinearAlgebra.cpp 11KB
Liston_wind.cpp 11KB
test_timeseries.cpp 11KB
solar.cpp 9KB
Iqbal_iswr.cpp 9KB
scale_wind_vert.cpp 7KB
test_core.cpp 7KB
Marsh_shading_iswr.cpp 7KB
jsonstrip.cpp 6KB
Harder_precip_phase.cpp 6KB
TPSpline.cpp 5KB
test_interpolation.cpp 5KB
coordinates.cpp 5KB
Winstral_parameters.cpp 5KB
test_triangulation.cpp 5KB
p_from_obs.cpp 4KB
point_mode.cpp 4KB
uniform_wind.cpp 4KB
Gray_inf.cpp 4KB
Richard_albedo.cpp 4KB
p_lapse.cpp 4KB
Kunkel_monthlyTd_rh.cpp 4KB
rh_from_obs.cpp 4KB
timestep.cpp 3KB
test_variablestorage.cpp 3KB
Liston_monthly_llra_ta.cpp 3KB
Cullen_monthly_llra_ta.cpp 3KB
iswr.cpp 3KB
test_daily.cpp 3KB
fetchr.cpp 3KB
Thornton_p.cpp 3KB
iswr_from_obs.cpp 3KB
station.cpp 3KB
Dodson_NSA_ta.cpp 3KB
iswr_from_nwp.cpp 3KB
Atmosphere.cpp 3KB
t_monthly_lapse.cpp 3KB
Walcek_cloud.cpp 3KB
test_netcdf.cpp 3KB
Burridge_iswr.cpp 3KB
PenmanMonteith_evaporation.cpp 3KB
p_no_lapse.cpp 3KB
Dist_tlapse.cpp 3KB
共 382 条
- 1
- 2
- 3
- 4
资源评论
三千思丶
- 粉丝: 2074
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功