time_process_years Subroutine

public subroutine time_process_years()

Arguments

None

Calls

proc~~time_process_years~~CallsGraph proc~time_process_years time_process_years proc~log_info log_info proc~time_process_years->proc~log_info proc~time_finish_year time_finish_year proc~time_process_years->proc~time_finish_year proc~time_initialise_year time_initialise_year proc~time_process_years->proc~time_initialise_year proc~time_process_month time_process_month proc~time_process_years->proc~time_process_month proc~log_message log_message proc~log_info->proc~log_message proc~output_year output_year proc~time_finish_year->proc~output_year proc~output_nashsutcliffe_efficiency output_nashsutcliffe_efficiency proc~time_finish_year->proc~output_nashsutcliffe_efficiency proc~log_debug log_debug proc~time_finish_year->proc~log_debug proc~read_real_column read_real_column proc~time_initialise_year->proc~read_real_column proc~time_process_month->proc~log_debug proc~time_process_day time_process_day proc~time_process_month->proc~time_process_day proc~output_month output_month proc~time_process_month->proc~output_month proc~output_write_daily output_write_daily proc~output_year->proc~output_write_daily proc~output_write_annual output_write_annual proc~output_year->proc~output_write_annual proc~output_write_monthly output_write_monthly proc~output_year->proc~output_write_monthly proc~output_nashsutcliffe_efficiency->proc~log_debug 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~log_error log_error proc~read_real_column->proc~log_error proc~input_error_column_not_found input_error_column_not_found proc~read_real_column->proc~input_error_column_not_found proc~input_type_conversion_error input_type_conversion_error proc~read_real_column->proc~input_type_conversion_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~move_lines move_lines proc~read_real_column->proc~move_lines proc~header_column_index header_column_index proc~read_real_column->proc~header_column_index proc~time_process_day->proc~log_debug proc~runsubbasin runsubbasin proc~time_process_day->proc~runsubbasin proc~reservoir_process reservoir_process proc~time_process_day->proc~reservoir_process proc~river_route_add river_route_add proc~time_process_day->proc~river_route_add proc~log_progress log_progress proc~time_process_day->proc~log_progress proc~subbasin_initialise_subbasin subbasin_initialise_subbasin proc~time_process_day->proc~subbasin_initialise_subbasin proc~river_route river_route proc~time_process_day->proc~river_route proc~subbasin_read_climate subbasin_read_climate proc~time_process_day->proc~subbasin_read_climate proc~management_total_demand management_total_demand proc~time_process_day->proc~management_total_demand proc~reservoir_subbasin reservoir_subbasin proc~time_process_day->proc~reservoir_subbasin proc~management_external_supply management_external_supply proc~time_process_day->proc~management_external_supply proc~reservoir_is_operational reservoir_is_operational proc~time_process_day->proc~reservoir_is_operational proc~evapotranspiration_radiation evapotranspiration_radiation proc~time_process_day->proc~evapotranspiration_radiation proc~time_day_length time_day_length proc~time_process_day->proc~time_day_length proc~output_day output_day proc~time_process_day->proc~output_day proc~input_nc_read_climate input_nc_read_climate proc~time_process_day->proc~input_nc_read_climate proc~management_is_transfer_subbasin management_is_transfer_subbasin proc~time_process_day->proc~management_is_transfer_subbasin proc~river_transfer river_transfer proc~time_process_day->proc~river_transfer proc~output_month->proc~output_write_daily proc~output_month->proc~output_write_monthly proc~log_error->proc~log_message 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~output_write_time output_write_time proc~output_write_daily->proc~output_write_time proc~output_write_annual->proc~output_write_time proc~runsubbasin->proc~subbasin_initialise_subbasin proc~runsubbasin->proc~management_is_transfer_subbasin proc~soil_curve_number_peak_runoff soil_curve_number_peak_runoff proc~runsubbasin->proc~soil_curve_number_peak_runoff proc~erosion_organic_nitrate_loss erosion_organic_nitrate_loss proc~runsubbasin->proc~erosion_organic_nitrate_loss proc~soil_curve_number_alpha soil_curve_number_alpha proc~runsubbasin->proc~soil_curve_number_alpha proc~erosion_phosphorus_loss erosion_phosphorus_loss proc~runsubbasin->proc~erosion_phosphorus_loss proc~snow_degree_day_melting snow_degree_day_melting proc~runsubbasin->proc~snow_degree_day_melting proc~subbasin_flow_travel_time subbasin_flow_travel_time proc~runsubbasin->proc~subbasin_flow_travel_time proc~output_store_subbasin_value output_store_subbasin_value proc~runsubbasin->proc~output_store_subbasin_value proc~erosion_enritchment_ratio erosion_enritchment_ratio proc~runsubbasin->proc~erosion_enritchment_ratio proc~groundwater_process groundwater_process proc~runsubbasin->proc~groundwater_process proc~landuse_is_forest landuse_is_forest proc~runsubbasin->proc~landuse_is_forest proc~management_subbasin_pointer management_subbasin_pointer proc~runsubbasin->proc~management_subbasin_pointer proc~snow_process snow_process proc~runsubbasin->proc~snow_process proc~management_transfer_out management_transfer_out proc~runsubbasin->proc~management_transfer_out proc~hydrotope_process hydrotope_process proc~runsubbasin->proc~hydrotope_process proc~soil_curve_transmission_losses soil_curve_transmission_losses proc~runsubbasin->proc~soil_curve_transmission_losses proc~output_store_hydrotope_value output_store_hydrotope_value proc~runsubbasin->proc~output_store_hydrotope_value proc~landuse_is_cropland landuse_is_cropland proc~runsubbasin->proc~landuse_is_cropland proc~snow_initialise_subbasin snow_initialise_subbasin proc~runsubbasin->proc~snow_initialise_subbasin proc~crop_yield_output crop_yield_output proc~runsubbasin->proc~crop_yield_output proc~erosion_soil_loss erosion_soil_loss proc~runsubbasin->proc~erosion_soil_loss proc~input_error_column_not_found->proc~log_error proc~reservoir_process->proc~log_error proc~et_turc et_turc proc~reservoir_process->proc~et_turc proc~rsv_pol rsv_pol proc~reservoir_process->proc~rsv_pol proc~reservoir_is_full_dead_storage reservoir_is_full_dead_storage proc~reservoir_process->proc~reservoir_is_full_dead_storage proc~reservoir_get reservoir_get proc~reservoir_process->proc~reservoir_get proc~river_route_add->proc~management_is_transfer_subbasin proc~output_store_subbasin_values output_store_subbasin_values proc~river_route_add->proc~output_store_subbasin_values proc~river_route_add->proc~management_subbasin_pointer proc~river_route_add->proc~management_transfer_out proc~output_write_monthly->proc~output_write_time proc~to_string to_string proc~log_write->proc~to_string proc~input_type_conversion_error->proc~log_error proc~log_progress->proc~log_format_message proc~log_progress->proc~log_write proc~river_route_phosphorus river_route_phosphorus proc~river_route->proc~river_route_phosphorus proc~river_route_nitrate river_route_nitrate proc~river_route->proc~river_route_nitrate proc~river_erosion_enritchment_ratio river_erosion_enritchment_ratio proc~river_route->proc~river_erosion_enritchment_ratio proc~river_route_erosion river_route_erosion proc~river_route->proc~river_route_erosion proc~river_transmission_loss river_transmission_loss proc~river_route->proc~river_transmission_loss proc~river_muskingum_routing river_muskingum_routing proc~river_route->proc~river_muskingum_routing proc~check_range->proc~log_error proc~log_warn log_warn proc~check_range->proc~log_warn proc~out_of_range_error out_of_range_error proc~check_range->proc~out_of_range_error proc~subbasin_read_climate->proc~read_real_column proc~management_total_demand->proc~management_is_transfer_subbasin proc~management_user_pointer management_user_pointer proc~management_total_demand->proc~management_user_pointer proc~management_total_demand->proc~management_subbasin_pointer proc~management_total_demand->proc~log_warn proc~management_is_active_period management_is_active_period proc~management_total_demand->proc~management_is_active_period proc~reservoir_subbasin->proc~rsv_pol proc~reservoir_subbasin->proc~output_store_subbasin_value proc~reservoir_subbasin->proc~output_store_hydrotope_value proc~reservoir_subbasin->proc~reservoir_get proc~management_external_supply->proc~management_is_transfer_subbasin proc~management_external_supply->proc~management_user_pointer proc~management_external_supply->proc~management_subbasin_pointer proc~management_external_supply->proc~log_warn proc~management_external_supply->proc~management_is_active_period proc~reservoir_is_operational->proc~reservoir_get proc~evapotranspiration_radiation->proc~log_warn proc~header_column_index->proc~input_error_column_not_found proc~header_column_index->proc~move_lines proc~output_day->proc~output_write_daily proc~output_hydrotope_to_catchment output_hydrotope_to_catchment proc~output_day->proc~output_hydrotope_to_catchment proc~output_hydrotope_to_subbasin output_hydrotope_to_subbasin proc~output_day->proc~output_hydrotope_to_subbasin proc~output_subbasin_to_catchment output_subbasin_to_catchment proc~output_day->proc~output_subbasin_to_catchment proc~input_nc_read_climate->proc~log_debug proc~input_nc_weighted_mean input_nc_weighted_mean proc~input_nc_read_climate->proc~input_nc_weighted_mean proc~gamma_distribution gamma_distribution proc~soil_curve_number_alpha->proc~gamma_distribution proc~management_user_pointer->proc~log_error proc~string_index string_index proc~colourise->proc~string_index proc~landuse_index landuse_index proc~landuse_is_forest->proc~landuse_index proc~snow_process->proc~output_store_hydrotope_value proc~snow_glacier_melt snow_glacier_melt proc~snow_process->proc~snow_glacier_melt proc~snow_melting snow_melting proc~snow_process->proc~snow_melting proc~management_transfer_out->proc~management_user_pointer proc~management_transfer_out->proc~management_subbasin_pointer proc~management_transfer_out->proc~log_warn proc~management_transfer_out->proc~management_is_active_period proc~log_warn->proc~log_message proc~hydrotope_process->proc~management_is_transfer_subbasin proc~hydrotope_process->proc~management_user_pointer proc~hydrotope_process->proc~landuse_is_forest proc~hydrotope_process->proc~management_subbasin_pointer proc~hydrotope_process->proc~landuse_is_cropland proc~hydrotope_process->proc~management_is_active_period proc~soil_process soil_process proc~hydrotope_process->proc~soil_process proc~soil_curve_number soil_curve_number proc~hydrotope_process->proc~soil_curve_number proc~landuse_is_natural_vegetation landuse_is_natural_vegetation proc~hydrotope_process->proc~landuse_is_natural_vegetation proc~soil_temperature soil_temperature proc~hydrotope_process->proc~soil_temperature proc~nutrient_fertilisation nutrient_fertilisation proc~hydrotope_process->proc~nutrient_fertilisation proc~soil_curve_number_runoff soil_curve_number_runoff proc~hydrotope_process->proc~soil_curve_number_runoff proc~vegetation_store_output vegetation_store_output proc~hydrotope_process->proc~vegetation_store_output proc~nutrient_leaching nutrient_leaching proc~hydrotope_process->proc~nutrient_leaching amax1 amax1 proc~hydrotope_process->amax1 proc~evapotranspiration_process evapotranspiration_process proc~hydrotope_process->proc~evapotranspiration_process proc~vegetation_process vegetation_process proc~hydrotope_process->proc~vegetation_process proc~crop_initialise_hydrotope crop_initialise_hydrotope proc~hydrotope_process->proc~crop_initialise_hydrotope proc~hydrotope_process->proc~landuse_index proc~erosion_cklsp_factor erosion_cklsp_factor proc~hydrotope_process->proc~erosion_cklsp_factor proc~crop_process crop_process proc~hydrotope_process->proc~crop_process proc~river_mannings_discharge river_mannings_discharge proc~river_transmission_loss->proc~river_mannings_discharge proc~out_of_range_error->proc~log_error proc~out_of_range_error->proc~to_string proc~output_write_space_time_csv output_write_space_time_csv proc~output_write_time->proc~output_write_space_time_csv proc~output_array_to_bin output_array_to_bin proc~output_write_time->proc~output_array_to_bin proc~landuse_is_cropland->proc~landuse_index proc~river_muskingum_routing->proc~log_warn proc~input_nc_check_error input_nc_check_error proc~input_nc_weighted_mean->proc~input_nc_check_error nf90_get_var nf90_get_var proc~input_nc_weighted_mean->nf90_get_var proc~output_write_space_time_csv->proc~log_error proc~output_array_to_csv output_array_to_csv proc~output_write_space_time_csv->proc~output_array_to_csv proc~soil_percolation soil_percolation proc~soil_process->proc~soil_percolation proc~input_nc_check_error->proc~log_error nf90_strerror nf90_strerror proc~input_nc_check_error->nf90_strerror proc~landuse_is_natural_vegetation->proc~landuse_index proc~random_n random_n proc~gamma_distribution->proc~random_n proc~vegetation_store_output->proc~output_store_hydrotope_value proc~nutrient_nitrate_cycle nutrient_nitrate_cycle proc~nutrient_leaching->proc~nutrient_nitrate_cycle proc~nutrient_nitrate_leaching nutrient_nitrate_leaching proc~nutrient_leaching->proc~nutrient_nitrate_leaching proc~nutrient_phosphorus_cycle nutrient_phosphorus_cycle proc~nutrient_leaching->proc~nutrient_phosphorus_cycle proc~nutrient_phosphorus_loss nutrient_phosphorus_loss proc~nutrient_leaching->proc~nutrient_phosphorus_loss proc~vegetation_water_stress vegetation_water_stress proc~vegetation_process->proc~vegetation_water_stress amin1 amin1 proc~vegetation_process->amin1 proc~nutrient_phosphorus_uptake nutrient_phosphorus_uptake proc~vegetation_process->proc~nutrient_phosphorus_uptake proc~nutrient_nitrate_uptake nutrient_nitrate_uptake proc~vegetation_process->proc~nutrient_nitrate_uptake proc~vegetation_temperature_stress vegetation_temperature_stress proc~vegetation_process->proc~vegetation_temperature_stress proc~landuse_index->proc~log_error proc~crop_operation crop_operation proc~crop_process->proc~crop_operation proc~crop_process->proc~vegetation_water_stress proc~crop_growth crop_growth proc~crop_process->proc~crop_growth proc~nutrient_nitrate_cycle->amin1 proc~crop_operation->proc~output_store_hydrotope_value proc~vegetation_water_stress->proc~management_is_transfer_subbasin proc~vegetation_water_stress->proc~management_user_pointer proc~vegetation_water_stress->proc~management_subbasin_pointer proc~vegetation_water_stress->proc~landuse_is_cropland proc~vegetation_water_stress->proc~management_is_active_period proc~wam_correct_irrigationdemand wam_correct_irrigationdemand proc~vegetation_water_stress->proc~wam_correct_irrigationdemand proc~crop_growth->amin1 proc~crop_growth->proc~nutrient_phosphorus_uptake proc~crop_growth->proc~nutrient_nitrate_uptake proc~crop_growth->proc~vegetation_temperature_stress proc~vegetation_s_curve vegetation_s_curve proc~crop_growth->proc~vegetation_s_curve proc~vegetation_adjust_energy_ratio vegetation_adjust_energy_ratio proc~crop_growth->proc~vegetation_adjust_energy_ratio proc~nutrient_phosphorus_cycle->amin1 proc~vegetation_nutrient_stress vegetation_nutrient_stress proc~nutrient_phosphorus_uptake->proc~vegetation_nutrient_stress float float proc~random_n->float proc~output_array_to_csv->proc~log_error proc~nutrient_nitrate_uptake->proc~vegetation_nutrient_stress proc~vegetation_temperature_stress->proc~landuse_is_cropland

Called by

proc~~time_process_years~~CalledByGraph proc~time_process_years time_process_years program~swim swim program~swim->proc~time_process_years

Contents

Source Code


Source Code

  subroutine time_process_years
    integer year, month

    call log_info("time_process_years", 'SWIM starts simulation')

    do year = 1, nbyr
      call time_initialise_year(year)
      call log_info('time_process_years', 'Processing year', int=iyr)
      do month = 1, 12
        call time_process_month(month)
      end do
      call time_finish_year()
    end do
  end subroutine time_process_years