5.13.3-dev0
mHM
The mesoscale Hydrological Model
Loading...
Searching...
No Matches
mo_mrm_objective_function_runoff.F90 File Reference

Objective Functions for Optimization of mHM/mRM against runoff. More...

Go to the source code of this file.

Modules

module  mo_mrm_objective_function_runoff
 Objective Functions for Optimization of mHM/mRM against runoff.
 

Functions/Subroutines

real(dp) function, public mo_mrm_objective_function_runoff::single_objective_runoff (parameterset, eval, arg1, arg2, arg3)
 Wrapper for objective functions optimizing agains runoff.
 
real(dp) function, public mo_mrm_objective_function_runoff::single_objective_runoff_master (parameterset, eval, arg1, arg2, arg3)
 Wrapper for objective functions optimizing agains runoff.
 
subroutine, public mo_mrm_objective_function_runoff::single_objective_runoff_subprocess (eval, arg1, arg2, arg3)
 Wrapper for objective functions optimizing agains runoff.
 
subroutine, public mo_mrm_objective_function_runoff::multi_objective_runoff (parameterset, eval, multi_objectives)
 Wrapper for multi-objective functions where at least one is regarding runoff.
 
real(dp) function mo_mrm_objective_function_runoff::loglikelihood_stddev (parameterset, eval, stddev, stddev_new, likeli_new)
 Logarithmic likelihood function with removed linear trend and Lag(1)-autocorrelation.
 
real(dp) function mo_mrm_objective_function_runoff::loglikelihood_evin2013_2 (parameterset, eval, regularize)
 Logarithmised likelihood with linear error model and lag(1)-autocorrelation of the relative errors.
 
real(dp) function mo_mrm_objective_function_runoff::parameter_regularization (paraset, prior, bounds, mask)
 TODO: add description.
 
real(dp) function mo_mrm_objective_function_runoff::loglikelihood_trend_no_autocorr (parameterset, eval, stddev_old, stddev_new, likeli_new)
 Logarithmic likelihood function with linear trend removed.
 
real(dp) function mo_mrm_objective_function_runoff::objective_lnnse (parameterset, eval)
 Objective function of logarithmic NSE.
 
real(dp) function mo_mrm_objective_function_runoff::objective_sse (parameterset, eval)
 Objective function of SSE.
 
real(dp) function mo_mrm_objective_function_runoff::objective_nse (parameterset, eval)
 Objective function of NSE.
 
real(dp) function mo_mrm_objective_function_runoff::objective_equal_nse_lnnse (parameterset, eval)
 Objective function equally weighting NSE and lnNSE.
 
real(dp) function, dimension(2) mo_mrm_objective_function_runoff::multi_objective_nse_lnnse (parameterset, eval)
 Multi-objective function with NSE and lnNSE.
 
real(dp) function, dimension(2) mo_mrm_objective_function_runoff::multi_objective_lnnse_highflow_lnnse_lowflow (parameterset, eval)
 Multi-objective function with NSE and lnNSE.
 
real(dp) function, dimension(2) mo_mrm_objective_function_runoff::multi_objective_lnnse_highflow_lnnse_lowflow_2 (parameterset, eval)
 Multi-objective function with NSE and lnNSE.
 
real(dp) function, dimension(2) mo_mrm_objective_function_runoff::multi_objective_ae_fdc_lsv_nse_djf (parameterset, eval)
 Multi-objective function with absolute error of Flow Duration Curves low-segment volume and nse of DJF's discharge.
 
real(dp) function mo_mrm_objective_function_runoff::objective_power6_nse_lnnse (parameterset, eval)
 Objective function of combined NSE and lnNSE with power of 5 i.e.
 
real(dp) function mo_mrm_objective_function_runoff::objective_kge (parameterset, eval)
 Objective function of KGE.
 
real(dp) function mo_mrm_objective_function_runoff::objective_multiple_gauges_kge_power6 (parameterset, eval)
 combined objective function based on KGE raised to the power 6
 
real(dp) function mo_mrm_objective_function_runoff::objective_weighted_nse (parameterset, eval)
 Objective function of weighted NSE.
 
real(dp) function mo_mrm_objective_function_runoff::objective_sse_boxcox (parameterset, eval)
 Objective function of sum of squared errors of transformed streamflow.
 
subroutine, public mo_mrm_objective_function_runoff::extract_runoff (gaugeid, runoff, runoff_agg, runoff_obs, runoff_obs_mask)
 extracts runoff data from global variables
 

Detailed Description

Objective Functions for Optimization of mHM/mRM against runoff.

This module provides a wrapper for several objective functions used to optimize mRM/mHM against runoff.

If the objective contains besides runoff another variable like TWS move it to mHM/mo_objective_function.f90. If it is only regarding runoff implement it here.

All the objective functions are supposed to be minimized!

  1. SO: Q: 1.0 - NSE
  2. SO: Q: 1.0 - lnNSE
  3. SO: Q: 1.0 - 0.5*(NSE+lnNSE)
  4. SO: Q: -1.0 * loglikelihood with trend removed from absolute errors and then lag(1)-autocorrelation removed
  5. SO: Q: ((1-NSE)**6+(1-lnNSE)**6)**(1/6)
  6. SO: Q: SSE
  7. SO: Q: -1.0 * loglikelihood with trend removed from absolute errors
  8. SO: Q: -1.0 * loglikelihood with trend removed from the relative errors and then lag(1)-autocorrelation removed
  9. SO: Q: 1.0 - KGE (Kling-Gupta efficiency measure)
  10. SO: Q: sum[((1.0-KGE_i)/ nGauges)**6]**(1/6) > combination of KGE of every gauging station based on a power-6 norm
  11. MO: Q: 1st objective: 1.0 - NSE Q: 2nd objective: 1.0 - lnNSE
  12. MO: Q: 1st objective: 1.0 - lnNSE(Q_highflow) (95% percentile) Q: 2nd objective: 1.0 - lnNSE(Q_lowflow) (5% of data range)
  13. MO: Q: 1st objective: 1.0 - lnNSE(Q_highflow) (non-low flow) Q: 2nd objective: 1.0 - lnNSE(Q_lowflow) (5% of data range)eshold for Q
  14. MO: Q: 1st objective: absolute difference in FDC's low-segment volume Q: 2nd objective: 1.0 - NSE of discharge of months DJF
  15. SO: Q: 1.0 - wNSE - weighted NSE
  16. SO: Q: SSE of boxcox-transformed streamflow
    Changelog
  • Stephan Thober Oct 2015
    • adapted for mRM
  • Juliane Mai Nov 2015
    • introducing multi
    • and single-objective
    • first multi-objective function (16), but not used yet
  • Juliane Mai Feb 2016
    • multi-objective function (18) using lnNSE(highflows) and lnNSE(lowflows)
    • multi-objective function (19) using lnNSE(highflows) and lnNSE(lowflows)
    • multi-objective function (20) using FDC and discharge of months DJF
  • Stephan Thober,Bjoern Guse May 2018
    • single objective function (21) using weighted NSE following (Hundecha and Bardossy, 2004)
  • Robert Schweppe Jun 2018
    • refactoring and reformatting
  • Stephan Thober Aug 2019
    • added OF 32: SSE of boxcox-transformed streamflow
      Authors
      Juliane Mai
      Date
      Dec 2012

Definition in file mo_mrm_objective_function_runoff.F90.