@@ -42,6 +42,13 @@ const mover_params = (
4242 " land_surface_water__potential_evaporation_volume_flux" ,
4343)
4444
45+ # Map domain name to regular expression for matching with standard name or model path
46+ const domain_parameter_map = Dict {String, Regex} (
47+ " reservoir" => r" reservoir|routing.river_flow.boundary_conditions.reservoir" ,
48+ " river" => r" river|floodplain|routing.river_flow" ,
49+ " drain" => r" land_drain|routing.subsurface_flow.boundaries.drain" ,
50+ )
51+
4552function routing_with_reservoirs (model)
4653 (; config) = model
4754 return config. model. reservoir__flag
@@ -675,34 +682,16 @@ end
675682
676683function get_reducer_func (col, domain, args... )
677684 (; parameter) = col
678- if occursin (" reservoir" , parameter)
679- reducer_func = reducer (
680- col,
681- domain. reservoir. network. reverse_indices,
682- domain. land. network. indices,
683- args... ,
684- )
685- elseif occursin (" river" , parameter) || occursin (" floodplain" , parameter)
686- reducer_func = reducer (
687- col,
688- domain. river. network. reverse_indices,
689- domain. land. network. indices,
690- args... ,
691- )
692- elseif occursin (" drain" , parameter)
693- reducer_func = reducer (
694- col,
695- domain. drain. network. reverse_indices,
696- domain. land. network. indices,
697- args... ,
698- )
685+ (; indices) = domain. land. network
686+ if startswith (parameter, domain_parameter_map[" reservoir" ])
687+ reducer_func =
688+ reducer (col, domain. reservoir. network. reverse_indices, indices, args... )
689+ elseif startswith (parameter, domain_parameter_map[" river" ])
690+ reducer_func = reducer (col, domain. river. network. reverse_indices, indices, args... )
691+ elseif startswith (parameter, domain_parameter_map[" drain" ])
692+ reducer_func = reducer (col, domain. drain. network. reverse_indices, indices, args... )
699693 else
700- reducer_func = reducer (
701- col,
702- domain. land. network. reverse_indices,
703- domain. land. network. indices,
704- args... ,
705- )
694+ reducer_func = reducer (col, domain. land. network. reverse_indices, indices, args... )
706695 end
707696end
708697
0 commit comments