output Module


Uses

  • module~~output~~UsesGraph module~output output module~utilities utilities module~output->module~utilities

Used by


Variables

Type Visibility Attributes Name Initial
real(kind=dp), public, save :: area_tot_glacier
real(kind=dp), public, save :: area_tot_snow
real(kind=dp), public, save :: depth_ave_glacier
real(kind=dp), public, save :: depth_ave_snow
integer, public, save :: giscounter = 1
integer, public, save :: ieapu
character(len=identifier_max_length), public :: log_file_level = "info"
character(len=identifier_max_length), public :: log_stderr_level = "warning"
character(len=identifier_max_length), public :: log_stdout_level = "info"
character(len=path_max_length), public :: master_logfile = "swim.log"
integer, public, parameter :: nih = 7
integer, public :: nns = 30
integer, public :: nsb = 30
integer, public :: nvrch = 18
integer, public :: nvsub = 30
real, public, allocatable, dimension(:, :, :) :: output_agg_catchment_annual
real, public, allocatable, dimension(:, :, :) :: output_agg_catchment_daily
real, public, allocatable, dimension(:, :, :) :: output_agg_catchment_monthly
real, public, allocatable, dimension(:, :, :) :: output_agg_hydrotope_annual
real, public, allocatable, dimension(:, :, :) :: output_agg_hydrotope_monthly
real, public, allocatable, dimension(:, :, :) :: output_agg_subbasin_annual
real, public, allocatable, dimension(:, :, :) :: output_agg_subbasin_daily
real, public, allocatable, dimension(:, :, :) :: output_agg_subbasin_monthly
real, public, allocatable, dimension(:) :: output_catchment_basin_share
integer, public, allocatable :: output_catchment_id(:)
character(len=10), public, allocatable :: output_day_ix(:)
character(len=identifier_max_length), public :: output_default_format = "csv"
character(len=path_max_length), public :: output_dir = "output"
type(output_file), public, dimension(:), allocatable :: output_files
character(len=identifier_max_length), public :: output_float_format = "f12.4"
character(len=identifier_max_length), public, parameter :: output_format_dim(2) = (/"csv", "bin"/)
integer, public, allocatable :: output_hydrotope_id(:)
character(len=output_label_max_length), public, allocatable, dimension(:) :: output_hydrotope_label
integer, public, allocatable :: output_hydrotope_label_ix(:)
integer, public, allocatable :: output_hydrotope_requested_ix(:)
integer, public, allocatable :: output_hydrotope_subbasin_ix(:)
real, public, allocatable, dimension(:) :: output_hydrotope_subbasin_share
integer, public, allocatable :: output_hydrotope_var_ix(:)
character(len=identifier_max_length), public, dimension(output_max_variables) :: output_hydrotope_vars = ""
integer, public :: output_id_hydrotope_counter = 0
integer, public :: output_id_subbasin_counter = 0
integer, public, allocatable :: output_is_requested(:,:,:)
character(len=7), public, allocatable :: output_month_ix(:)
integer, public :: output_ncatchments = 0
integer, public :: output_ndays = 0
integer, public :: output_ndays_per_month = 0
integer, public :: output_ndays_per_year = 0
integer, public :: output_nfiles = 0
integer, public :: output_nhydrotopes = 0
integer, public :: output_nmonths = 0
integer, public :: output_nsubbasins = 0
integer, public :: output_nvars = 0
integer, public :: output_nyears = 0
character(len=identifier_max_length), public, dimension(output_max_variables) :: output_registered_vars = ""
character(len=identifier_max_length), public, dimension(output_max_variables) :: output_requested_vars = ""
character(len=identifier_max_length), public, parameter :: output_space_dim(5) = (/"hydrotope      ", "subbasin       ", "catchment      ", "hydrotope_label", "subbasin_label "/)
character(len=identifier_max_length), public :: output_space_index_format = "i6"
integer, public :: output_specs_fid = 0
character(len=path_max_length), public :: output_specs_file = "output.nml"
real, public, allocatable, dimension(:, :, :) :: output_storage_hydrotope
integer, public, allocatable :: output_storage_index(:,:)
real, public, allocatable, dimension(:, :, :) :: output_storage_subbasin
integer, public :: output_store_day_counter = 1
integer, public :: output_store_month_counter = 1
integer, public, allocatable :: output_subbasin_catchment_ix(:)
real, public, allocatable, dimension(:) :: output_subbasin_catchment_share
integer, public, allocatable :: output_subbasin_hydrotope_stix(:)
integer, public, allocatable :: output_subbasin_id(:)
character(len=output_label_max_length), public, allocatable, dimension(:) :: output_subbasin_label
integer, public, allocatable :: output_subbasin_label_ix(:)
integer, public, allocatable :: output_subbasin_nhydrotopes(:)
integer, public, allocatable :: output_subbasin_var_ix(:)
character(len=identifier_max_length), public, dimension(output_max_variables) :: output_subbasin_vars = ""
character(len=identifier_max_length), public, parameter :: output_time_dim(3) = (/"daily  ", "monthly", "annual "/)
logical, public, allocatable :: output_var_state(:)
character(len=1), public :: output_write_interval = "M"
real(kind=dp), public, save, dimension(:), allocatable :: sbpy
real(kind=dp), public, save, dimension(:, :), allocatable :: strch
real(kind=dp), public, save, dimension(:, :), allocatable :: stsub
real(kind=dp), public, save, dimension(:, :), allocatable :: syrch
real(kind=dp), public, save, dimension(:, :), allocatable :: sysub

Derived Types

type, public ::  output_file

Components

Type Visibility Attributes Name Initial
integer, public :: current_record = 1
integer, public :: file_id
integer, public :: format
character(len=identifier_max_length), public :: name
integer, public :: nvars
integer, public :: space
character(len=identifier_max_length), public :: space_name
integer, public :: time
integer, public :: variable_ix(output_max_variables)
character(len=identifier_max_length), public :: variables(output_max_variables)

Functions

public function output_hydrotope_to_catchment(hydrotope_values) result(catchment_values)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: hydrotope_values(output_nhydrotopes)

Return Value real, (output_ncatchments)

public function output_hydrotope_to_subbasin(hydrotope_values) result(subbasin_values)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: hydrotope_values(output_nhydrotopes)

Return Value real, (output_nsubbasins)

public function output_open_file(file_name) result(file_id)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: file_name

Return Value integer

public function output_register_hydrotope_var(name, state)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
logical, intent(in), optional :: state

Return Value integer

public function output_register_subbasin_var(name, state)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
logical, intent(in), optional :: state

Return Value integer

public function output_subbasin_to_catchment(subbasin_values) result(catchment_values)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: subbasin_values(output_nsubbasins)

Return Value real, (output_ncatchments)


Subroutines

public subroutine dealloc_output()

Arguments

None

public subroutine output_allocate(mb, mch)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: mb
integer, intent(in) :: mch

public subroutine output_array_to_bin(file_id, array, record)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: file_id
real, intent(in) :: array(:,:)
integer, intent(in) :: record

public subroutine output_array_to_csv(file_id, array, space_ix, time_label, space_label)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: file_id
real, intent(in) :: array(:,:)
integer, intent(in), optional :: space_ix(:)
character(len=*), intent(in) :: time_label(:)
character(len=*), intent(in), optional :: space_label(:)

public subroutine output_check_requested_vars()

Arguments

None

public subroutine output_close()

Arguments

None

public subroutine output_day(year, month, day)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: year
integer, intent(in) :: month
integer, intent(in) :: day

public subroutine output_initialise(hydrotope_id, hydrotope_area, hydrotope_subbasin, subbasin_id, subbasin_nhydrotopes, subbasin_catchment, catchment_id, hydrotope_input_fid, subbasin_input_fid)

Arguments

Type IntentOptional Attributes Name
integer, intent(in), dimension(:) :: hydrotope_id
real, intent(in), dimension(:) :: hydrotope_area
integer, intent(in), dimension(:) :: hydrotope_subbasin
integer, intent(in), dimension(:) :: subbasin_id
integer, intent(in), dimension(:) :: subbasin_nhydrotopes
integer, intent(in), dimension(:) :: subbasin_catchment
integer, intent(in), dimension(:) :: catchment_id
integer, intent(in) :: hydrotope_input_fid
integer, intent(in) :: subbasin_input_fid

public subroutine output_initialise_is_requested()

Arguments

None

public subroutine output_initialise_labelled(hydrotope_input_fid, subbasin_input_fid)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: hydrotope_input_fid
integer, intent(in) :: subbasin_input_fid

public subroutine output_initialise_storage(hydrotope_input_fid, subbasin_input_fid)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: hydrotope_input_fid
integer, intent(in) :: subbasin_input_fid

public subroutine output_initialise_storage_index()

Arguments

None

public subroutine output_initialise_time()

Arguments

None

public subroutine output_initialise_unit_shares(hydrotope_subbasin, subbasin_catchment, hydrotope_area)

Arguments

Type IntentOptional Attributes Name
integer, intent(in), dimension(:) :: hydrotope_subbasin
integer, intent(in), dimension(:) :: subbasin_catchment
real, intent(in), dimension(:) :: hydrotope_area

public subroutine output_initialise_user_input()

Arguments

None

public subroutine output_month(year, month)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: year
integer, intent(in) :: month

public subroutine output_nashsutcliffe_efficiency(qo, qs, icd, istyr, iy)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:) :: qo
real(kind=dp), intent(in), dimension(:) :: qs
integer, intent(in) :: icd
integer, intent(in) :: istyr
integer, intent(in) :: iy

public subroutine output_open_files()

Arguments

None

public subroutine output_print_variables()

Arguments

None

public subroutine output_register_var(name, state, counter, vars, id)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
logical, intent(in) :: state
integer, intent(inout) :: counter
character(len=*), intent(out) :: vars(:)
integer, intent(out) :: id

public subroutine output_store_hydrotope_value(id, subbasinix, hydrotopeix, value)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: id
integer, intent(in) :: subbasinix
integer, intent(in) :: hydrotopeix
real, intent(in) :: value

public subroutine output_store_hydrotope_values(id, array)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: id
real, intent(in), dimension(:, :) :: array

public subroutine output_store_subbasin_value(id, subbasinix, value)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: id
integer, intent(in) :: subbasinix
real, intent(in) :: value

public subroutine output_store_subbasin_values(id, array)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: id
real, intent(in), dimension(:) :: array

public subroutine output_write_annual()

Arguments

None

public subroutine output_write_csv_header(fid, space, variables)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: fid
character(len=identifier_max_length), intent(in) :: space
character(len=identifier_max_length), intent(in) :: variables(:)

public subroutine output_write_daily()

Arguments

None

public subroutine output_write_monthly()

Arguments

None

public subroutine output_write_space_time_csv(file_id, array, space_ix, time_label, space_label)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: file_id
real, intent(in) :: array(:,:,:)
integer, intent(in), optional :: space_ix(:)
character(len=*), intent(in) :: time_label(:)
character(len=*), intent(in), optional :: space_label(:)

public subroutine output_write_time(timeix, time_label, hydrotope, subbasin, catchment)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: timeix
character(len=*), intent(in), dimension(:) :: time_label
real, intent(in), dimension(:, :, :) :: hydrotope
real, intent(in), dimension(:, :, :) :: subbasin
real, intent(in), dimension(:, :, :) :: catchment

public subroutine output_year()

Arguments

None