74 subroutine mpr_runoff(LCOVER0, mask0, SMs_FC0, slope_emp0, KsVar_H0, param, cell_id0, upp_row_L1, low_row_L1, &
75 lef_col_L1, rig_col_L1, nL0_in_L1, L1_HL1, L1_K0, L1_K1, L1_alpha)
83 real(dp),
dimension(5),
intent(in) :: param
86 real(dp),
dimension(:),
intent(in) :: sms_fc0
89 real(dp),
dimension(:),
intent(in) :: slope_emp0
92 real(dp),
dimension(:),
intent(in) :: ksvar_h0
95 integer(i4),
dimension(:),
intent(in) :: lcover0
98 logical,
dimension(:, :),
intent(in) :: mask0
101 integer(i4),
dimension(:),
intent(in) :: cell_id0
104 integer(i4),
dimension(:),
intent(in) :: upp_row_l1
107 integer(i4),
dimension(:),
intent(in) :: low_row_l1
110 integer(i4),
dimension(:),
intent(in) :: lef_col_l1
113 integer(i4),
dimension(:),
intent(in) :: rig_col_l1
116 integer(i4),
dimension(:),
intent(in) :: nl0_in_l1
119 real(dp),
dimension(:),
intent(out) :: l1_hl1
122 real(dp),
dimension(:),
intent(out) :: l1_k0
125 real(dp),
dimension(:),
intent(out) :: l1_k1
128 real(dp),
dimension(:),
intent(out) :: l1_alpha
131 real(dp),
dimension(size(SMs_FC0, 1)) :: tmp
144 lef_col_l1, rig_col_l1, cell_id0, mask0,
nodata_dp, tmp)
155 tmp = merge(tmp * param(3), tmp, lcover0 .eq. 1)
157 lef_col_l1, rig_col_l1, cell_id0, mask0,
nodata_dp, tmp)
161 l1_k0 = merge(1.0_dp, l1_k0, l1_k0 .lt. 1.0_dp)
170 tmp = merge(param(2) * (2.0_dp - slope_emp0) + param(4) * (1.0_dp + ksvar_h0), &
173 lef_col_l1, rig_col_l1, cell_id0, mask0,
nodata_dp, tmp)
176 l1_k1 = merge(2.0_dp, l1_k1, l1_k1 .lt. 2.0_dp)
185 tmp = merge(param(5) * (1.0_dp / ksvar_h0) * (1.0_dp / (1.0_dp + sms_fc0)), &
188 rig_col_l1, cell_id0, mask0,
nodata_dp, tmp)
191 l1_k0 = merge(l1_k1, l1_k0, l1_k0 .gt. l1_k1)
subroutine, public mpr_runoff(lcover0, mask0, sms_fc0, slope_emp0, ksvar_h0, param, cell_id0, upp_row_l1, low_row_l1, lef_col_l1, rig_col_l1, nl0_in_l1, l1_hl1, l1_k0, l1_k1, l1_alpha)
multiscale parameter regionalization for runoff parameters
real(dp) function, dimension(size(nl0_cells_in_l1_cell, 1)), public upscale_arithmetic_mean(nl0_cells_in_l1_cell, l1_upper_rowid_cell, l1_lower_rowid_cell, l1_left_colonid_cell, l1_right_colonid_cell, l0_cellid, mask0, nodata_value, l0_finescale_data)
aritmetic mean