Module Variations (07/27/11)

CRHM Borland

Module Variations.

    The original CRHM module is very limited in its loading ability and could not be made to load in different modes without a lot of difficulty and unused portions of the module still visible.  The input variable/observations, output/observations variables and required parameters were all fixed and always visible.  An attempt was made to work around this by making observations optional and modules generating declared observations and the use of the AKA screen. This allowed modules to perform in different ways as dictated by the available driving data.  However, this was not very easy for the user to use.  There were also numerous unused parameters and variables as these had to be declared for all possible uses of the module and the user had to know which ones applied to the current module application.

    Variations were introduced to overcome the limitations outlined above.  Module names have been extended as follows.   The original name say "longVt" will run as always.  However, variations of the original module will be possible, denoted as "longVt#1", "longVt#2", etc.  These variations are enhanced versions of the original module, with different inputs requirements, say synthetic short-wave "QsiD_Var" (Annandale)  instead of the measured observation Qsi. The parameters and input/output variables can also be customised. The module variations can also have different algorithms. Descriptions of current variation modules follow.

Annandale - short-wave estimation.

  1. Annandale - outputs QsiA#, QsiD# and QsiS# short-wave observations (interval, daily and interval on slope) and hru_SunAct variable.
  2. Annandale#1 - outputs QsiA_Var, QsiD_Var, QsiS_Var (interval, daily and interval on slope) variables with hru_SunAct variable.

calcsun - sunshine hours.

  1. calcsun - input SunAct Obs or Qsi Obs to calculate Qsitot if sunshine hours not available.
  2. calcsun #1 - Qsi observation to calculate Qsitot.
  3. calcsun#2 - QsiDobs (W/m^2) observation.
  4. calcsun#3 - QsiD_Var (W/m^2) from Annandale.

Canopy, CanopyClearing and CanopyClearingGap - calculate short, long and all-wave radiation components at the snow surface.

  1. CanopyClearing  - input Qsi and Qli observations.
  2. CanopyClearing#1  - input Qsi observation and QliVt_Var from longVtX etc..
  3. CanopyClearing#2  - input Qli observation and Qsi_Var from longVtX etc..
  4. CanopyClearing#3  - input Qsi_Var and QliVt_Var from longVtX etc..

ebsm - energy-budget snowmelt model for the Canadian Prairies.

  1. ebsm - no inputs for Brunt. Optional temperature and radiation index. QnD can be used with Use_QnD for legacy projects.
  2. ebsm#1 - input interval variable Qnsn_Var (W/m^2) from CanopyClearing etc..
  3. ebsm#2 - input interval observation Qnsn (W/m^2).
  4. ebsm#3 - input daily observation QnD (MJ/m^2*d).

longVt - long-wave using terrain view factor.

  1. longVt module - input Qsi observation.
  2. longVt#1 module - input QsiDObs observation from module Slope_Qsi.
  3. longVt#2 module - input QsiD_Var observation from module AnnandaleX#1 etc..

Needleleaf  - calculate short, long and all-wave radiation components at the snow surface.

  1. Needleleaf  - input Qsi and Qli observations.
  2. Needleleaf#1  - input Qsi observation and QliVt_Var from longVtX etc..
  3. Needleleaf#2  - input Qli observation and Qsi_Var from longVtX etc..
  4. Needleleaf#3  - input Qsi_Var and QliVt_Var from longVtX etc..

obs - handle driving observations.

  1. obs - standard version to handle interval observations.
  2. obs#1 - inputs daily t_max and t_min to generate hru_tmax and hru_tmin for Annandale.

pbsm - blowing snow transport.

  1. pbsm - input hru_u.
  2. pbsm#1 - input hru_Uadjust from walmsley_wind etc.

pbsmSnobal - blowing snow transport.

  1. pbsmSnobal - input hru_u.
  2. pbsmSnobal#1 - input hru_Uadjust from walmsley_wind etc.

Soil - soil moisture throughout the year.

  1. Soil - standard version.
  2. Soil#1 - runoff is limited by culvert flow.

Slope_Qsi - modified short-wave on a slope.

  1. Slope_Qsi  - output declared observations QsiS# and QsiDObs#.
  2. Slope_Qsi#1  - output variables QsiS_Var and QsiD_Var.

SnobalCRHM - energy balance snowmelt model.

  1. SnobalCRHM - input Qsi and Qli observations.
  2. SnobalCRHM#1 - input variables Qsisn_Var and Qlisn_Var from module CanopyClearing.
  3. SnobalCRHM#2 - input observation Qsi and QliVt_Var from module longVtX etc..
  4. SnobalCRHM#3 - input variables QsiS_Var from Annandale and QliVt_Var from module longVtXetc..

REW_route - handles the routing of surface and subsurface runoff from RBs (representative basins).

  1. REW_route - uses Muskingum for routing.
  2. REW_route#1 - uses Clark for routing.

How to use Module Variations.

The variation modules behave like any other module. The only difference is that in the construct screen there are additional steps to selecting them. In the construct screen the modules available are displayed in the listbox to the left of the screen. The modules displayed are determined by the level(s) selected in the "Module Level" list. When a module is selected in the modules available listbox the description of the module is displayed in the information area in the bottom left hand side of the screen. When the module has variations additional lines are displayed giving a list of the possible variations. Add the module to your project as normal. Now, when the module is right clicked in the Modules Selected listbox two additional options are available, Next variation and Last variation. Use these selections to select the variation you want. The requirements and outputs of the module will automatically be displayed in the adjacent module description area. At this point proceed as normal using the Check/Build/Cancel options to develop your project.