time_process_month Subroutine

public subroutine time_process_month(month)

Uses

  • proc~~time_process_month~~UsesGraph proc~time_process_month time_process_month module~vegetation vegetation proc~time_process_month->module~vegetation module~catchment catchment proc~time_process_month->module~catchment module~output output proc~time_process_month->module~output module~nutrient nutrient proc~time_process_month->module~nutrient module~crop crop proc~time_process_month->module~crop module~soil soil proc~time_process_month->module~soil module~evapotranspiration evapotranspiration proc~time_process_month->module~evapotranspiration module~snow snow proc~time_process_month->module~snow module~utilities utilities module~vegetation->module~utilities module~input input module~catchment->module~input module~catchment->module~utilities module~subbasin subbasin module~catchment->module~subbasin module~output->module~utilities module~nutrient->module~utilities module~crop->module~utilities module~soil->module~utilities module~evapotranspiration->module~utilities module~snow->module~utilities module~input->module~utilities module~subbasin->module~utilities

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: month

Calls

proc~~time_process_month~~CallsGraph proc~time_process_month time_process_month proc~time_process_day time_process_day proc~time_process_month->proc~time_process_day proc~log_debug log_debug proc~time_process_month->proc~log_debug proc~output_month output_month proc~time_process_month->proc~output_month 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~log_message log_message proc~log_debug->proc~log_message proc~output_write_daily output_write_daily proc~output_month->proc~output_write_daily proc~output_write_monthly output_write_monthly proc~output_month->proc~output_write_monthly proc~output_write_time output_write_time proc~output_write_daily->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~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~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~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~read_real_column read_real_column 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~log_warn log_warn 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~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~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~gamma_distribution gamma_distribution proc~soil_curve_number_alpha->proc~gamma_distribution proc~management_user_pointer->proc~log_error proc~to_string to_string proc~log_write->proc~to_string 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~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~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_error_column_not_found->proc~log_error proc~input_nc_check_error->proc~log_error nf90_strerror nf90_strerror proc~input_nc_check_error->nf90_strerror proc~input_type_conversion_error->proc~log_error proc~string_index string_index proc~colourise->proc~string_index proc~landuse_is_natural_vegetation->proc~landuse_index proc~check_range->proc~log_error proc~check_range->proc~log_warn proc~out_of_range_error out_of_range_error proc~check_range->proc~out_of_range_error 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~header_column_index->proc~input_error_column_not_found proc~header_column_index->proc~move_lines 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~out_of_range_error->proc~log_error proc~out_of_range_error->proc~to_string 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 proc~output_array_to_csv->proc~log_error float float proc~random_n->float proc~nutrient_nitrate_uptake->proc~vegetation_nutrient_stress proc~vegetation_temperature_stress->proc~landuse_is_cropland

Called by

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

Contents

Source Code


Source Code

  subroutine time_process_month(month)
  ! ----------------------------------------------------------------------

    use output, only : output_month
    use vegetation, only : ialpha
    use nutrient, only : &
      degNgrw, &
      degNsub, &
      degNsur, &
      degPsur, &
      retNgrw, &
      retNsub, &
      retNsur, &
      retPsur
    use snow, only : bSnowModule
    use soil, only : psp, rtn
    use output, only : nsb, nvsub
    use crop, only : icc, mfe
    use evapotranspiration, only : pit, radiation_switch
    use catchment, only : bSubcatch

    integer, intent(in) :: month

    mo = month

    !ls** compute number of days of the month
    if (mo .eq. 2) then
      inday = nc(mo + 1) - nc(mo) - nt
    else
      inday = nc(mo + 1) - nc(mo)
    endif

    do iday = 1, inday
      call time_process_day(month, iday)
    end do

    call output_month(iyr, month)

    if (month .eq. 12) iyr = iyr + 1

    call log_debug("time_process_month", "Completed month =", int=month)

    return
  end subroutine time_process_month