evapotranspiration_initialise Subroutine

public subroutine evapotranspiration_initialise(mb, meap, subbasin_input_file_id)

Uses

  • proc~~evapotranspiration_initialise~~UsesGraph proc~evapotranspiration_initialise evapotranspiration_initialise module~input input proc~evapotranspiration_initialise->module~input module~output output proc~evapotranspiration_initialise->module~output module~utilities utilities module~input->module~utilities module~output->module~utilities

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: mb
integer, intent(in) :: meap
integer, intent(in) :: subbasin_input_file_id

Calls

proc~~evapotranspiration_initialise~~CallsGraph proc~evapotranspiration_initialise evapotranspiration_initialise proc~evapotranspiration_allocate evapotranspiration_allocate proc~evapotranspiration_initialise->proc~evapotranspiration_allocate proc~log_debug log_debug proc~evapotranspiration_initialise->proc~log_debug proc~evapotranspiration_read_input evapotranspiration_read_input proc~evapotranspiration_initialise->proc~evapotranspiration_read_input proc~output_register_hydrotope_var output_register_hydrotope_var proc~evapotranspiration_initialise->proc~output_register_hydrotope_var proc~get_config_fid get_config_fid proc~evapotranspiration_initialise->proc~get_config_fid proc~log_message log_message proc~log_debug->proc~log_message proc~read_real_column read_real_column proc~evapotranspiration_read_input->proc~read_real_column proc~output_register_var output_register_var proc~output_register_hydrotope_var->proc~output_register_var proc~open_file open_file proc~get_config_fid->proc~open_file proc~log_error log_error proc~output_register_var->proc~log_error proc~string_index string_index proc~output_register_var->proc~string_index proc~open_file->proc~log_error 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_type_conversion_error input_type_conversion_error proc~read_real_column->proc~input_type_conversion_error proc~move_lines move_lines 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_csv_item read_csv_item proc~read_real_column->proc~read_csv_item proc~header_column_index header_column_index proc~read_real_column->proc~header_column_index proc~input_error_column_not_found input_error_column_not_found proc~read_real_column->proc~input_error_column_not_found proc~to_string to_string proc~log_write->proc~to_string proc~input_type_conversion_error->proc~log_error proc~log_error->proc~log_message 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~check_range->proc~log_error proc~out_of_range_error out_of_range_error proc~check_range->proc~out_of_range_error proc~log_warn log_warn proc~check_range->proc~log_warn proc~header_column_index->proc~move_lines proc~header_column_index->proc~input_error_column_not_found proc~input_error_column_not_found->proc~log_error proc~out_of_range_error->proc~log_error proc~out_of_range_error->proc~to_string proc~colourise->proc~string_index proc~log_warn->proc~log_message

Called by

proc~~evapotranspiration_initialise~~CalledByGraph proc~evapotranspiration_initialise evapotranspiration_initialise proc~initialise initialise proc~initialise->proc~evapotranspiration_initialise program~swim swim program~swim->proc~initialise

Contents


Source Code

  subroutine evapotranspiration_initialise(mb, meap, subbasin_input_file_id)
    use input, only: get_config_fid
    use output, only: output_register_hydrotope_var
    integer, intent(in) :: mb, meap, subbasin_input_file_id

    read(get_config_fid(), EVAPOTRANSPIRATION_PARAMETERS)

    if (iemeth.eq.0) call log_debug('evapotranspiration_initialise', &
      'Evaporation - Priestley-Taylor, iemeth =', int=iemeth)
    if (iemeth.eq.1) call log_debug('evapotranspiration_initialise', &
      'Evaporation - Turc-Ivanov, iemeth =', int=iemeth)

    if (idvwk.eq.1) call log_debug('evapotranspiration_initialise', &
      'Evaporation variables after DVWK-M 238, idvwk =', int=idvwk)
    if (idvwk.eq.0) call log_debug('evapotranspiration_initialise', &
      'Evaporation variables from legacy method, idvwk =', int=idvwk)

    eta_output_id = output_register_hydrotope_var("eta", .false.)
    etp_output_id = output_register_hydrotope_var("etp", .false.)
    soil_evaporation_output_id = &
      output_register_hydrotope_var("soil_evaporation", .false.)

    call evapotranspiration_allocate(mb, meap)
    call evapotranspiration_read_input(subbasin_input_file_id)

    yls = sin(lat / 57.296)
    ylc = cos(lat / 57.296)
  end subroutine evapotranspiration_initialise