catchment_read_subcatch_params Subroutine

public subroutine catchment_read_subcatch_params()

Uses

  • proc~~catchment_read_subcatch_params~~UsesGraph proc~catchment_read_subcatch_params catchment_read_subcatch_params module~utilities utilities proc~catchment_read_subcatch_params->module~utilities module~river river proc~catchment_read_subcatch_params->module~river module~input input proc~catchment_read_subcatch_params->module~input module~soil soil proc~catchment_read_subcatch_params->module~soil module~evapotranspiration evapotranspiration proc~catchment_read_subcatch_params->module~evapotranspiration module~groundwater groundwater proc~catchment_read_subcatch_params->module~groundwater module~snow snow proc~catchment_read_subcatch_params->module~snow module~river->module~utilities module~input->module~utilities module~soil->module~utilities module~evapotranspiration->module~utilities module~groundwater->module~utilities module~snow->module~utilities

Arguments

None

Calls

proc~~catchment_read_subcatch_params~~CallsGraph proc~catchment_read_subcatch_params catchment_read_subcatch_params proc~read_integer_column read_integer_column proc~catchment_read_subcatch_params->proc~read_integer_column proc~log_debug log_debug proc~catchment_read_subcatch_params->proc~log_debug proc~read_real_column read_real_column proc~catchment_read_subcatch_params->proc~read_real_column proc~input_type_conversion_error input_type_conversion_error proc~read_integer_column->proc~input_type_conversion_error proc~move_lines move_lines proc~read_integer_column->proc~move_lines proc~check_int_range check_int_range proc~read_integer_column->proc~check_int_range proc~log_error log_error proc~read_integer_column->proc~log_error proc~read_csv_item read_csv_item proc~read_integer_column->proc~read_csv_item 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~log_message log_message proc~log_debug->proc~log_message proc~read_real_column->proc~input_type_conversion_error proc~read_real_column->proc~move_lines proc~read_real_column->proc~log_error proc~check_range check_range proc~read_real_column->proc~check_range proc~read_real_column->proc~read_csv_item proc~read_real_column->proc~header_column_index proc~read_real_column->proc~input_error_column_not_found proc~input_type_conversion_error->proc~log_error 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~log_error->proc~log_message 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~move_lines proc~header_column_index->proc~input_error_column_not_found proc~log_write log_write proc~log_message->proc~log_write proc~log_format_message log_format_message proc~log_message->proc~log_format_message proc~input_error_column_not_found->proc~log_error proc~to_string to_string proc~log_write->proc~to_string proc~date_time_str date_time_str proc~log_format_message->proc~date_time_str proc~colourise colourise proc~log_format_message->proc~colourise proc~log_warn->proc~log_message 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~~catchment_read_subcatch_params~~CalledByGraph proc~catchment_read_subcatch_params catchment_read_subcatch_params proc~catchment_initialise_parameters catchment_initialise_parameters proc~catchment_initialise_parameters->proc~catchment_read_subcatch_params proc~initialise initialise proc~initialise->proc~catchment_initialise_parameters program~swim swim program~swim->proc~initialise

Contents


Source Code

  subroutine catchment_read_subcatch_params
    use input, only : read_integer_column, read_real_column
    use groundwater, only : &
      gw_abf, &
      gw_bff, &
      gw_delay, &
      gw_rchrgc, &
      gw_revapc, &
      gw_revapmn
    use soil, only: bsn_cncor, bsn_sccor
    use river, only: bsn_roc2, bsn_roc4
    use snow, only: &
      bsn_gmrate, &
      bsn_smrate, &
      bsn_tmelt, &
      bsn_tsnfall
    use evapotranspiration, only: bsn_thc, bsn_ecal
    use utilities, only: check_range, log_debug

    ! read file subcatch.prm
    ! enable assignment of individual subbasin parameters

    allocate(catchment_ids(n_subcatch))

    call read_integer_column(catchment_input_file_id, "catchment_id", catchment_ids, 0)
    call read_real_column(catchment_input_file_id, "ecal", bsn_ecal, 0.0_dp)
    call read_real_column(catchment_input_file_id, "thc", bsn_thc, 0.0_dp)
    call read_real_column(catchment_input_file_id, "roc2", bsn_roc2, 0.0_dp)
    call read_real_column(catchment_input_file_id, "roc4", bsn_roc4, 0.0_dp)
    call read_real_column(catchment_input_file_id, "cncor", bsn_cncor, 0.0_dp, range=(/0.25, 1.25/))
    call read_real_column(catchment_input_file_id, "sccor", bsn_sccor, 0.0_dp)
    call read_real_column(catchment_input_file_id, "tsnfall", bsn_tsnfall, 0.0_dp)
    call read_real_column(catchment_input_file_id, "tmelt", bsn_tmelt, 0.0_dp)
    call read_real_column(catchment_input_file_id, "smrate", bsn_smrate, 0.0_dp)
    call read_real_column(catchment_input_file_id, "gmrate", bsn_gmrate, 0.0_dp)
    call read_real_column(catchment_input_file_id, "bff", gw_bff, 0.0_dp)
    call read_real_column(catchment_input_file_id, "abf", gw_abf, 0.0_dp)
    call read_real_column(catchment_input_file_id, "delay", gw_delay, 0.0_dp)
    call read_real_column(catchment_input_file_id, "revapc", gw_revapc, 0.0_dp)
    call read_real_column(catchment_input_file_id, "rchrgc", gw_rchrgc, 0.0_dp)
    call read_real_column(catchment_input_file_id, "revapmn", gw_revapmn, 0.0_dp)

    call log_debug("catchment_read_subcatch_params", "Subcatchment parameters:")
    call log_debug("catchment_read_subcatch_params", "id", ints=catchment_ids)
    call log_debug("catchment_read_subcatch_params", "ecal", reals=bsn_ecal)
    call log_debug("catchment_read_subcatch_params", "thc", reals=bsn_thc)
    call log_debug("catchment_read_subcatch_params", "roc2", reals=bsn_roc2)
    call log_debug("catchment_read_subcatch_params", "roc4", reals=bsn_roc4)
    call log_debug("catchment_read_subcatch_params", "cncor", reals=bsn_cncor)
    call log_debug("catchment_read_subcatch_params", "sccor", reals=bsn_sccor)
    call log_debug("catchment_read_subcatch_params", "tsnfall", reals=bsn_tsnfall)
    call log_debug("catchment_read_subcatch_params", "tmelt", reals=bsn_tmelt)
    call log_debug("catchment_read_subcatch_params", "smrate", reals=bsn_smrate)
    call log_debug("catchment_read_subcatch_params", "gmrate", reals=bsn_gmrate)
    call log_debug("catchment_read_subcatch_params", "bff", reals=gw_bff)
    call log_debug("catchment_read_subcatch_params", "abf", reals=gw_abf)
    call log_debug("catchment_read_subcatch_params", "delay", reals=gw_delay)
    call log_debug("catchment_read_subcatch_params", "revapc", reals=gw_revapc)
    call log_debug("catchment_read_subcatch_params", "rchrgc", reals=gw_rchrgc)
    call log_debug("catchment_read_subcatch_params", "revapmn", reals=gw_revapmn)

  end subroutine catchment_read_subcatch_params