14 use mo_kind,
only : i4, dp
15 use mo_optimization_types,
only : optidata_sim
94 SUBROUTINE mhm_eval(parameterset, opti_domain_indices, runoff, smOptiSim, neutronsOptiSim, etOptiSim, twsOptiSim, BFI)
98 real(dp),
dimension(:),
intent(in) :: parameterset
100 integer(i4),
dimension(:),
optional,
intent(in) :: opti_domain_indices
102 real(dp),
dimension(:, :),
allocatable,
optional,
intent(out) :: runoff
104 type(optidata_sim),
dimension(:),
optional,
intent(inout) :: smoptisim
106 type(optidata_sim),
dimension(:),
optional,
intent(inout) :: neutronsoptisim
108 type(optidata_sim),
dimension(:),
optional,
intent(inout) :: etoptisim
110 type(optidata_sim),
dimension(:),
optional,
intent(inout) :: twsoptisim
112 real(dp),
dimension(:),
allocatable,
optional,
intent(out) :: bfi
115 integer(i4) :: ndomains, ii
118 logical :: time_loop_finished
127 domainloop:
do ii = 1, ndomains
133 time_loop_finished = .false.
136 timeloop:
do while(.not. time_loop_finished)
Runs mhm with a specific parameter set and returns required variables, e.g.
subroutine, public mhm_eval(parameterset, opti_domain_indices, runoff, smoptisim, neutronsoptisim, etoptisim, twsoptisim, bfi)
Runs mhm with a specific parameter set and returns required variables, e.g.
Module providing interfaces for running preconfigured mHM.
subroutine mhm_interface_run_get_ndomains(ndomains)
get number of domains for looping
subroutine mhm_interface_run_prepare(parameterset, opti_domain_indices, runoff_present, bfi_present)
prepare single run of mHM
subroutine mhm_interface_run_write_output()
write output after current time-step
subroutine mhm_interface_run_prepare_domain(domain, etoptisim, twsoptisim, neutronsoptisim, smoptisim)
prepare single domain to run mHM on
subroutine mhm_interface_run_update_optisim(etoptisim, twsoptisim, neutronsoptisim, smoptisim)
add simulation data to optimization data types
subroutine mhm_interface_run_finished(time_loop_finished)
check if current time loop is finished
subroutine mhm_interface_run_do_time_step()
do one time-step on current domain
subroutine mhm_interface_run_finalize_domain()
finalize current domain after running
subroutine mhm_interface_run_finalize(runoff, bfi)
finalize run