Two-Layer Reservoir Model

A simple two-layer heat and mass balance reservoir model, written in fortran (90)

two-layerheatmassbalancereservoir

Contributor(s)

Initial contribute: 2019-10-16

Authorship

:  
Computational Hydrology Lab, University of Washington
:  
View
:  
Computational Hydrology Lab, University of Washington
:  
View
:  
Computational Hydrology Lab, University of Washington
:  
View
:  
Computational Hydrology Lab, University of Washington
:  
View
:  
Computational Hydrology Lab, University of Washington
:  
View
Is authorship not correct? Feed back

Classification(s)

Application-focused categoriesNatural-perspectiveLand regions

Detailed Description

English {{currentDetailLanguage}} English

Quoted from: https://github.com/UW-Hydro/Reservoir_Model 

####Model Overview: This repository is public source code for a simple two-layer reservoir model. The model does a simple mass and energy balance for a reservoir with two distinct layers: the epilimnion (surface) and hypolimnion (below surface). Inflow is partitioned based on the calculated densities of the incoming water, epilimnion, and hypolimnion. The net surface energy is calculated with VIC-derived incoming energy and an energy subroutine from RBM. The core subroutine (reservoir_subroutine.f90) calculates the change in temperature of each layer based on net change in energy from advection, surface energy (epilimnoin only), and diffusion (see conceptual model below). A more complete documentation of model development and equations can be found here. The model allows for measured releases from a spillway (epilimnion) and penstock/sluiceway (hypolimnion) to be uploaded. The model code comes with no guarantees, expressed or implied, as to suitability, completeness, accuracy, or any claim you would like to make.

####Conceptual model of stratified reservoir:  ####Conceptual model of two-layer mass and energy fluxes*: 

*parameters (i.e. As, Kz, etc.) are defined in the "Documentation" document

####File descriptions:

  • Block_Energy.f90: parameters for energy subroutine (originated from RBM Block)
  • Block_Reservoir.f90: parameters for the model
  • Block_Flow.f90: parameters for the "flow_subroutine.f90" (continuity/mass balance equation)
  • reservoir.f90: main program that calls each subroutine
  • density_subroutine.f90: calculates density of incoming river flow, epilimnion, and hypolimnion
  • flow_subroutine.f90: continuity/mass balance equation - calculates the flow into hypolimnion and hypolimnion (based on the density) and calculates change in volume of each layer
  • Energy.f90: RBM's energy subroutine to calculate surface energy exchange
  • reservoir_subroutine.f90: calculate transfer of energy between layers through advection, diffusion, and surface energy
  • input_file: file path of line 1- comments, line 2- flow in to reservoir, line 3-flow out reservoir, line 4-energy flux (from VIC), line 5-measured stream temperatures, line 6-measured releases
  • reservoir_file: file with information about each reservoir to be modeled. line 1-column names, line 2 to n-rows of data. Start node is upstream point (where water enters the reservoir), end node is downstream point (where water exits the reservoir)
  • makefile: make file with code to compile all the fortran code and to remove the compiled fortran code

####Model code flow diagram: alt text

####To run the model: Note: This must be run from the terminal while in the folder with all the fortran code. You must have gfortran installed on your machine. This also assumes input_file and reservoir_file are ready and all files for the input_file are present.

  1. enter "make clean" - remove any old compiled fortran code
  2. enter "make" - compile the fortran code
  3. enter "./reservoir input_file reservoir_file"

模型元数据

{{htmlJSON.HowtoCite}}

Ryan Niemeyer, Yifan Cheng, John Yearsley, Yixin Mao, Bart Nijssen (2019). Two-Layer Reservoir Model, Model Item, OpenGMS, https://geomodeling.njnu.edu.cn/modelItem/3c140193-b1a2-4ff9-a967-9194eceb292f
{{htmlJSON.Copy}}

Contributor(s)

Initial contribute : 2019-10-16

{{htmlJSON.CoContributor}}

Authorship

:  
Computational Hydrology Lab, University of Washington
:  
View
:  
Computational Hydrology Lab, University of Washington
:  
View
:  
Computational Hydrology Lab, University of Washington
:  
View
:  
Computational Hydrology Lab, University of Washington
:  
View
:  
Computational Hydrology Lab, University of Washington
:  
View
Is authorship not correct? Feed back

QR Code

×

{{curRelation.overview}}
{{curRelation.author.join('; ')}}
{{curRelation.journal}}









{{htmlJSON.RelatedItems}}

{{htmlJSON.LinkResourceFromRepositoryOrCreate}}{{htmlJSON.create}}.

Drop the file here, orclick to upload.
Select From My Space
+ add

{{htmlJSON.authorshipSubmitted}}

Cancel Submit
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Localizations}} + {{htmlJSON.Add}}
{{ item.label }} {{ item.value }}
{{htmlJSON.ModelName}}:
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
名称 别名 {{tag}} +
系列名 版本号 目的 修改内容 创建/修改日期 作者
摘要 详细描述
{{tag}} + 添加关键字
* 时间参考系
* 空间参考系类型 * 空间参考系名称

起始日期 终止日期 进展 开发者
* 是否开源 * 访问方式 * 使用方式 开源协议 * 传输方式 * 获取地址 * 发布日期 * 发布者



编号 目的 修改内容 创建/修改日期 作者





时间分辨率 时间尺度 时间步长 时间范围 空间维度 格网类型 空间分辨率 空间尺度 空间范围
{{tag}} +
* 类型
图例


* 名称 * 描述
示例描述 * 名称 * 类型 * 值/链接 上传


{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
Title Author Date Journal Volume(Issue) Pages Links Doi Operation
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Add}} {{htmlJSON.Cancel}}

{{articleUploading.title}}

Authors:  {{articleUploading.authors[0]}}, {{articleUploading.authors[1]}}, {{articleUploading.authors[2]}}, et al.

Journal:   {{articleUploading.journal}}

Date:   {{articleUploading.date}}

Page range:   {{articleUploading.pageRange}}

Link:   {{articleUploading.link}}

DOI:   {{articleUploading.doi}}

Yes, this is it Cancel

The article {{articleUploading.title}} has been uploaded yet.

OK
{{htmlJSON.Cancel}} {{htmlJSON.Confirm}}
S2q0TYgbUOVv