management_read_ctrl Subroutine

public subroutine management_read_ctrl(frar, mb, mstruc, nDaysSim, neap, sbar)

Uses

  • proc~~management_read_ctrl~~UsesGraph proc~management_read_ctrl management_read_ctrl module~input input proc~management_read_ctrl->module~input module~utilities utilities module~input->module~utilities


assign water user options (transfer or irrigation)


allocate and assign data to water users of TYPE TWU

array of water users (corresponds to the number of water users defined in the control file)

Check, if the irrigated area, summarised for each subbasin from *.str file is

0 for irrigation water users = 0 for transfer water users otherwise, the *.str file (column IRR) requires correction



---------------------------------------------------------


allocate and initialise array of TYPE wamTSub that contains information on - whether subbasin consists of water users (subnum = subbasin number) or no water users (subnum = 0) - and pointer to respective location in array TYPE of TSub




count number of subbasins with water allocation users



initialise variables of TYPE TSub



assign pointers from wamTSub to each TSub



count number of water users per subbasin and assign to TSub%nWU



allocate TSub%pos



write log file


Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: frar
integer, intent(in) :: mb
integer, intent(in), dimension(:, :, :) :: mstruc
integer, intent(in) :: nDaysSim
integer, intent(in), dimension(:) :: neap
real(kind=dp), intent(in), dimension(:) :: sbar

Calls

proc~~management_read_ctrl~~CallsGraph proc~management_read_ctrl management_read_ctrl proc~input_count_rows input_count_rows proc~management_read_ctrl->proc~input_count_rows proc~input_open_file input_open_file proc~management_read_ctrl->proc~input_open_file proc~log_error log_error proc~management_read_ctrl->proc~log_error proc~log_info log_info proc~management_read_ctrl->proc~log_info proc~management_allocate_transfer management_allocate_transfer proc~management_read_ctrl->proc~management_allocate_transfer proc~management_deallocate_transfer management_deallocate_transfer proc~management_read_ctrl->proc~management_deallocate_transfer proc~management_is_transfer_subbasin management_is_transfer_subbasin proc~management_read_ctrl->proc~management_is_transfer_subbasin proc~management_subbasin_pointer management_subbasin_pointer proc~management_read_ctrl->proc~management_subbasin_pointer proc~read_integer_column read_integer_column proc~management_read_ctrl->proc~read_integer_column proc~read_real_column read_real_column proc~management_read_ctrl->proc~read_real_column proc~read_string_column read_string_column proc~management_read_ctrl->proc~read_string_column proc~input_count_rows->proc~log_error proc~open_file open_file proc~input_open_file->proc~open_file proc~log_message log_message proc~log_error->proc~log_message proc~log_info->proc~log_message proc~read_integer_column->proc~log_error proc~check_int_range check_int_range proc~read_integer_column->proc~check_int_range proc~header_column_index header_column_index proc~read_integer_column->proc~header_column_index proc~input_error_column_not_found input_error_column_not_found proc~read_integer_column->proc~input_error_column_not_found proc~input_type_conversion_error input_type_conversion_error proc~read_integer_column->proc~input_type_conversion_error proc~log_debug log_debug proc~read_integer_column->proc~log_debug proc~move_lines move_lines proc~read_integer_column->proc~move_lines proc~read_csv_item read_csv_item proc~read_integer_column->proc~read_csv_item proc~read_real_column->proc~log_error proc~check_range check_range proc~read_real_column->proc~check_range proc~read_real_column->proc~header_column_index proc~read_real_column->proc~input_error_column_not_found proc~read_real_column->proc~input_type_conversion_error proc~read_real_column->proc~log_debug proc~read_real_column->proc~move_lines proc~read_real_column->proc~read_csv_item proc~read_string_column->proc~log_error proc~read_string_column->proc~header_column_index proc~read_string_column->proc~input_error_column_not_found proc~read_string_column->proc~log_debug proc~read_string_column->proc~move_lines proc~read_string_column->proc~read_csv_item proc~check_int_range->proc~log_error proc~log_warn log_warn proc~check_int_range->proc~log_warn proc~out_of_range_error out_of_range_error proc~check_int_range->proc~out_of_range_error proc~check_range->proc~log_error proc~check_range->proc~log_warn proc~check_range->proc~out_of_range_error proc~header_column_index->proc~input_error_column_not_found proc~header_column_index->proc~move_lines proc~input_error_column_not_found->proc~log_error proc~input_type_conversion_error->proc~log_error proc~log_debug->proc~log_message proc~log_format_message log_format_message proc~log_message->proc~log_format_message proc~log_write log_write proc~log_message->proc~log_write proc~open_file->proc~log_error proc~colourise colourise proc~log_format_message->proc~colourise proc~date_time_str date_time_str proc~log_format_message->proc~date_time_str proc~log_warn->proc~log_message proc~to_string to_string proc~log_write->proc~to_string proc~out_of_range_error->proc~log_error proc~out_of_range_error->proc~to_string proc~string_index string_index proc~colourise->proc~string_index

Called by

proc~~management_read_ctrl~~CalledByGraph proc~management_read_ctrl management_read_ctrl proc~management_initialise management_initialise proc~management_initialise->proc~management_read_ctrl proc~initialise initialise proc~initialise->proc~management_initialise program~swim swim program~swim->proc~initialise