Skip to content
Snippets Groups Projects
Commit 24f3f54f authored by Sebastian Müller's avatar Sebastian Müller 🐈
Browse files

mo_optimization_utils: added reservoir/ lake volume as optional argument to eval_interface

parent 4e0815f3
No related branches found
No related tags found
1 merge request!78mLM related updates
......@@ -13,17 +13,23 @@ module mo_optimization_utils
!> \brief Interface for evaluation routine.
abstract interface
subroutine eval_interface(parameterset, opti_domain_indices, runoff, smOptiSim, neutronsOptiSim, etOptiSim, twsOptiSim, BFI)
subroutine eval_interface(parameterset, opti_domain_indices, runoff, smOptiSim, neutronsOptiSim, etOptiSim, twsOptiSim, &
lake_level, lake_volume, lake_area, lake_spill, lake_outflow, BFI)
use mo_kind, only : dp, i4
use mo_optimization_types, only : optidata_sim
real(dp), dimension(:), intent(in) :: parameterset
integer(i4), dimension(:), optional, intent(in) :: opti_domain_indices
real(dp), dimension(:, :), allocatable, optional, intent(out) :: runoff !< dim1=time dim2=gauge
type(optidata_sim), dimension(:), optional, intent(inout) :: smOptiSim !< dim1=ncells, dim2=time
type(optidata_sim), dimension(:), optional, intent(inout) :: neutronsOptiSim !< dim1=ncells, dim2=time
type(optidata_sim), dimension(:), optional, intent(inout) :: etOptiSim !< dim1=ncells, dim2=time
type(optidata_sim), dimension(:), optional, intent(inout) :: twsOptiSim !< dim1=ncells, dim2=time
real(dp), dimension(:), allocatable, optional, intent(out) :: BFI !< baseflow index, dim1=domainID
real(dp), dimension(:, :), allocatable, optional, intent(out) :: runoff !< dim1=time dim2=gauge
type(optidata_sim), dimension(:), optional, intent(inout) :: smOptiSim !< dim1=ncells, dim2=time
type(optidata_sim), dimension(:), optional, intent(inout) :: neutronsOptiSim !< dim1=ncells, dim2=time
type(optidata_sim), dimension(:), optional, intent(inout) :: etOptiSim !< dim1=ncells, dim2=time
type(optidata_sim), dimension(:), optional, intent(inout) :: twsOptiSim !< dim1=ncells, dim2=time
real(dp), dimension(:, :), allocatable, optional, intent(out) :: lake_level !< dim1=time dim2=lake
real(dp), dimension(:, :), allocatable, optional, intent(out) :: lake_volume !< dim1=time dim2=lake
real(dp), dimension(:, :), allocatable, optional, intent(out) :: lake_area !< dim1=time dim2=lake
real(dp), dimension(:, :), allocatable, optional, intent(out) :: lake_spill !< dim1=time dim2=lake
real(dp), dimension(:, :), allocatable, optional, intent(out) :: lake_outflow !< dim1=time dim2=lake
real(dp), dimension(:), allocatable, optional, intent(out) :: BFI !< baseflow index, dim1=domainID
end subroutine
end interface
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment