dyn_final Subroutine

public subroutine dyn_final()

Uses

    • cam_logfile
  • proc~~dyn_final~~UsesGraph proc~dyn_final dyn_final cam_logfile cam_logfile proc~dyn_final->cam_logfile

Finalize MPAS dynamical core as well as its framework. (KCW, 2024-10-04)

Arguments

None

Calls

proc~~dyn_final~~CallsGraph proc~dyn_final dyn_final proc~dyn_debug_print dyn_debug_print proc~dyn_final->proc~dyn_debug_print proc~dyn_variable_dump dyn_variable_dump proc~dyn_final->proc~dyn_variable_dump stringify stringify proc~dyn_debug_print->stringify check_allocate check_allocate proc~dyn_variable_dump->check_allocate endrun endrun proc~dyn_variable_dump->endrun none~get_variable_pointer mpas_dynamical_core_type%get_variable_pointer proc~dyn_variable_dump->none~get_variable_pointer pio_closefile pio_closefile proc~dyn_variable_dump->pio_closefile pio_createfile pio_createfile proc~dyn_variable_dump->pio_createfile proc~dyn_mpas_exchange_halo mpas_dynamical_core_type%dyn_mpas_exchange_halo proc~dyn_variable_dump->proc~dyn_mpas_exchange_halo proc~dyn_mpas_read_write_stream mpas_dynamical_core_type%dyn_mpas_read_write_stream proc~dyn_variable_dump->proc~dyn_mpas_read_write_stream ps ps proc~dyn_variable_dump->ps shr_pio_getioformat shr_pio_getioformat proc~dyn_variable_dump->shr_pio_getioformat shr_pio_getiosys shr_pio_getiosys proc~dyn_variable_dump->shr_pio_getiosys shr_pio_getiotype shr_pio_getiotype proc~dyn_variable_dump->shr_pio_getiotype proc~dyn_mpas_get_variable_pointer_c0 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_c0 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_c0 proc~dyn_mpas_get_variable_pointer_c1 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_c1 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_c1 proc~dyn_mpas_get_variable_pointer_i0 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_i0 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_i0 proc~dyn_mpas_get_variable_pointer_i1 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_i1 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_i1 proc~dyn_mpas_get_variable_pointer_i2 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_i2 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_i2 proc~dyn_mpas_get_variable_pointer_i3 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_i3 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_i3 proc~dyn_mpas_get_variable_pointer_l0 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_l0 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_l0 proc~dyn_mpas_get_variable_pointer_r0 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_r0 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_r0 proc~dyn_mpas_get_variable_pointer_r1 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_r1 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_r1 proc~dyn_mpas_get_variable_pointer_r2 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_r2 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_r2 proc~dyn_mpas_get_variable_pointer_r3 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_r3 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_r3 proc~dyn_mpas_get_variable_pointer_r4 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_r4 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_r4 proc~dyn_mpas_get_variable_pointer_r5 mpas_dynamical_core_type%dyn_mpas_get_variable_pointer_r5 none~get_variable_pointer->proc~dyn_mpas_get_variable_pointer_r5 mpas_dmpar_exch_halo_field mpas_dmpar_exch_halo_field proc~dyn_mpas_exchange_halo->mpas_dmpar_exch_halo_field mpas_pool_get_field mpas_pool_get_field proc~dyn_mpas_exchange_halo->mpas_pool_get_field mpas_pool_get_field_info mpas_pool_get_field_info proc~dyn_mpas_exchange_halo->mpas_pool_get_field_info proc~dyn_mpas_debug_print mpas_dynamical_core_type%dyn_mpas_debug_print proc~dyn_mpas_exchange_halo->proc~dyn_mpas_debug_print proc~stringify stringify proc~dyn_mpas_exchange_halo->proc~stringify proc~dyn_mpas_read_write_stream->proc~dyn_mpas_exchange_halo mpas_closestream mpas_closestream proc~dyn_mpas_read_write_stream->mpas_closestream mpas_pool_destroy_pool mpas_pool_destroy_pool proc~dyn_mpas_read_write_stream->mpas_pool_destroy_pool mpas_readstream mpas_readstream proc~dyn_mpas_read_write_stream->mpas_readstream mpas_writestream mpas_writestream proc~dyn_mpas_read_write_stream->mpas_writestream postread_reindex postread_reindex proc~dyn_mpas_read_write_stream->postread_reindex postwrite_reindex postwrite_reindex proc~dyn_mpas_read_write_stream->postwrite_reindex prewrite_reindex prewrite_reindex proc~dyn_mpas_read_write_stream->prewrite_reindex proc~dyn_mpas_read_write_stream->proc~dyn_mpas_debug_print proc~dyn_mpas_init_stream_with_pool mpas_dynamical_core_type%dyn_mpas_init_stream_with_pool proc~dyn_mpas_read_write_stream->proc~dyn_mpas_init_stream_with_pool proc~parse_stream_name parse_stream_name proc~dyn_mpas_read_write_stream->proc~parse_stream_name proc~dyn_mpas_debug_print->proc~stringify mpas_pool_get_array mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_c0->mpas_pool_get_array mpas_pool_get_config mpas_pool_get_config proc~dyn_mpas_get_variable_pointer_c0->mpas_pool_get_config proc~dyn_mpas_get_pool_pointer mpas_dynamical_core_type%dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_c0->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_c1->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_c1->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_i0->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_i0->mpas_pool_get_config mpas_pool_get_dimension mpas_pool_get_dimension proc~dyn_mpas_get_variable_pointer_i0->mpas_pool_get_dimension proc~dyn_mpas_get_variable_pointer_i0->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_i1->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_i1->mpas_pool_get_dimension proc~dyn_mpas_get_variable_pointer_i1->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_i2->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_i2->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_i3->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_i3->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_l0->mpas_pool_get_config proc~dyn_mpas_get_variable_pointer_l0->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_r0->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_r0->mpas_pool_get_config proc~dyn_mpas_get_variable_pointer_r0->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_r1->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_r1->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_r2->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_r2->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_r3->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_r3->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_r4->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_r4->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_get_variable_pointer_r5->mpas_pool_get_array proc~dyn_mpas_get_variable_pointer_r5->proc~dyn_mpas_get_pool_pointer proc~dyn_mpas_init_stream_with_pool->mpas_pool_get_field proc~dyn_mpas_init_stream_with_pool->proc~dyn_mpas_debug_print proc~dyn_mpas_init_stream_with_pool->proc~parse_stream_name proc~dyn_mpas_init_stream_with_pool->proc~stringify mpas_createstream mpas_createstream proc~dyn_mpas_init_stream_with_pool->mpas_createstream mpas_pool_add_config mpas_pool_add_config proc~dyn_mpas_init_stream_with_pool->mpas_pool_add_config mpas_pool_create_pool mpas_pool_create_pool proc~dyn_mpas_init_stream_with_pool->mpas_pool_create_pool mpas_streamaddfield mpas_streamaddfield proc~dyn_mpas_init_stream_with_pool->mpas_streamaddfield none~add_stream_attribute add_stream_attribute proc~dyn_mpas_init_stream_with_pool->none~add_stream_attribute pio_file_is_open pio_file_is_open proc~dyn_mpas_init_stream_with_pool->pio_file_is_open proc~dyn_mpas_check_variable_status mpas_dynamical_core_type%dyn_mpas_check_variable_status proc~dyn_mpas_init_stream_with_pool->proc~dyn_mpas_check_variable_status proc~index_unique index_unique proc~parse_stream_name->proc~index_unique proc~parse_stream_name_fragment parse_stream_name_fragment proc~parse_stream_name->proc~parse_stream_name_fragment none~add_stream_attribute_0d add_stream_attribute_0d none~add_stream_attribute->none~add_stream_attribute_0d none~add_stream_attribute_1d add_stream_attribute_1d none~add_stream_attribute->none~add_stream_attribute_1d proc~dyn_mpas_check_variable_status->mpas_pool_get_field proc~dyn_mpas_check_variable_status->proc~dyn_mpas_debug_print proc~dyn_mpas_check_variable_status->proc~stringify proc~dyn_mpas_check_variable_status->pio_file_is_open constituentnames constituentnames proc~dyn_mpas_check_variable_status->constituentnames pio_inq_varid pio_inq_varid proc~dyn_mpas_check_variable_status->pio_inq_varid pio_inq_varndims pio_inq_varndims proc~dyn_mpas_check_variable_status->pio_inq_varndims pio_inq_vartype pio_inq_vartype proc~dyn_mpas_check_variable_status->pio_inq_vartype mpas_pool_get_subpool mpas_pool_get_subpool proc~dyn_mpas_get_pool_pointer->mpas_pool_get_subpool none~add_stream_attribute_0d->proc~dyn_mpas_debug_print mpas_writestreamatt mpas_writestreamatt none~add_stream_attribute_0d->mpas_writestreamatt none~add_stream_attribute_1d->proc~dyn_mpas_debug_print none~add_stream_attribute_1d->mpas_writestreamatt

Called by

proc~~dyn_final~~CalledByGraph proc~dyn_final dyn_final proc~stepon_final stepon_final proc~stepon_final->proc~dyn_final

Variables

Type Visibility Attributes Name Initial
character(len=*), private, parameter :: subname = 'dyn_comp::dyn_final'

Source Code

    subroutine dyn_final()
        ! Module(s) from CAM-SIMA.
        use cam_logfile, only: debugout_debug, debugout_info

        character(*), parameter :: subname = 'dyn_comp::dyn_final'

        call dyn_debug_print(debugout_debug, subname // ' entered')

        call dyn_debug_print(debugout_info, 'Finalizing MPAS dynamical core')

        ! Quick hack for dumping variables from MPAS dynamical core.
        ! Remove it once history and restart are wired up in CAM-SIMA.
        call dyn_variable_dump()

        ! After this point, do not access anything under MPAS dynamical core or runtime errors will ensue.
        call mpas_dynamical_core % final()

        call dyn_debug_print(debugout_debug, subname // ' completed')
    end subroutine dyn_final