execute_runmode_actions Subroutine

subroutine execute_runmode_actions()

Arguments

None

Calls

proc~~execute_runmode_actions~~CallsGraph proc~execute_runmode_actions execute_runmode_actions proc~exitmpi exitmpi proc~execute_runmode_actions->proc~exitmpi proc~tests_2decomp_init_exit tests_2decomp_init_exit proc~execute_runmode_actions->proc~tests_2decomp_init_exit proc~tests_mpi_operators tests_mpi_operators proc~execute_runmode_actions->proc~tests_mpi_operators proc~tests_read_sparse_ijk tests_read_sparse_ijk proc~execute_runmode_actions->proc~tests_read_sparse_ijk decomp_2d_finalize decomp_2d_finalize proc~exitmpi->decomp_2d_finalize mpi_finalize mpi_finalize proc~exitmpi->mpi_finalize mpi_wtime mpi_wtime proc~exitmpi->mpi_wtime mpi_allreduce mpi_allreduce proc~tests_mpi_operators->mpi_allreduce proc~avexy_ibm avexy_ibm proc~tests_mpi_operators->proc~avexy_ibm proc~avey_ibm avey_ibm proc~tests_mpi_operators->proc~avey_ibm proc~createmasks createmasks proc~tests_mpi_operators->proc~createmasks proc~initfields initfields proc~tests_mpi_operators->proc~initfields proc~initibm initibm proc~tests_mpi_operators->proc~initibm proc~readfacetfiles readfacetfiles proc~tests_mpi_operators->proc~readfacetfiles proc~sumx_ibm sumx_ibm proc~tests_mpi_operators->proc~sumx_ibm proc~sumy_ibm sumy_ibm proc~tests_mpi_operators->proc~sumy_ibm proc~compare_boundary compare_boundary proc~tests_read_sparse_ijk->proc~compare_boundary proc~compare_solid compare_solid proc~tests_read_sparse_ijk->proc~compare_solid proc~tests_read_sparse_ijk->proc~initibm proc~read_sparse_ijk read_sparse_ijk proc~tests_read_sparse_ijk->proc~read_sparse_ijk proc~tests_read_sparse_ijk->proc~readfacetfiles proc~avexy_ibm->mpi_allreduce proc~avey_ibm->mpi_allreduce proc~createmasks->mpi_allreduce alloc_z alloc_z proc~initfields->alloc_z exchange_halo_z exchange_halo_z proc~initibm->exchange_halo_z proc~define_nc define_nc proc~initibm->proc~define_nc proc~initibmnorm initibmnorm proc~initibm->proc~initibmnorm proc~initibmwallfun initibmwallfun proc~initibm->proc~initibmwallfun proc~ncinfo ncinfo proc~initibm->proc~ncinfo proc~open_nc open_nc proc~initibm->proc~open_nc proc~solid solid proc~initibm->proc~solid proc~writestat_dims_nc writestat_dims_nc proc~initibm->proc~writestat_dims_nc mpi_bcast mpi_bcast proc~read_sparse_ijk->mpi_bcast zend zend proc~read_sparse_ijk->zend zstart zstart proc~read_sparse_ijk->zstart proc~readfacetfiles->mpi_bcast nf90_get_var nf90_get_var proc~readfacetfiles->nf90_get_var nf90_inq_varid nf90_inq_varid proc~readfacetfiles->nf90_inq_varid nf90_open nf90_open proc~readfacetfiles->nf90_open proc~qsat qsat proc~readfacetfiles->proc~qsat proc~sumx_ibm->mpi_allreduce proc~sumy_ibm->mpi_allreduce proc~define_nc->nf90_inq_varid nf90_def_var nf90_def_var proc~define_nc->nf90_def_var nf90_enddef nf90_enddef proc~define_nc->nf90_enddef nf90_inq_dimid nf90_inq_dimid proc~define_nc->nf90_inq_dimid nf90_put_att nf90_put_att proc~define_nc->nf90_put_att nf90_redef nf90_redef proc~define_nc->nf90_redef proc~nchandle_error nchandle_error proc~define_nc->proc~nchandle_error proc~initibmnorm->proc~read_sparse_ijk proc~initibmwallfun->proc~read_sparse_ijk proc~initibmwallfun->mpi_bcast proc~initibmwallfun->zend proc~initibmwallfun->zstart proc~alignment alignment proc~initibmwallfun->proc~alignment proc~plane_line_intersection plane_line_intersection proc~initibmwallfun->proc~plane_line_intersection proc~open_nc->nf90_get_var proc~open_nc->nf90_inq_varid proc~open_nc->nf90_open nf90_create nf90_create proc~open_nc->nf90_create nf90_def_dim nf90_def_dim proc~open_nc->nf90_def_dim proc~open_nc->nf90_def_var proc~open_nc->nf90_enddef proc~open_nc->nf90_inq_dimid nf90_inquire nf90_inquire proc~open_nc->nf90_inquire nf90_inquire_dimension nf90_inquire_dimension proc~open_nc->nf90_inquire_dimension proc~open_nc->nf90_put_att nf90_sync nf90_sync proc~open_nc->nf90_sync proc~writestat_dims_nc->nf90_inq_varid proc~writestat_dims_nc->nf90_inquire_dimension nf90_put_var nf90_put_var proc~writestat_dims_nc->nf90_put_var proc~is_equal is_equal proc~alignment->proc~is_equal nf90_strerror nf90_strerror proc~nchandle_error->nf90_strerror

Called by

proc~~execute_runmode_actions~~CalledByGraph proc~execute_runmode_actions execute_runmode_actions program~udales uDALES program~udales->proc~execute_runmode_actions

Source Code

  subroutine execute_runmode_actions
    logical :: test_failed
    logical :: invalid_runmode

    test_failed = .false.
    invalid_runmode = .false.
    select case (runmode)
      case (RUN_COLDSTART, RUN_WARMSTART, RUN_DRIVER, RUN_STRATSTART)
        return
        ! Normal execution mode, do nothing special here
      case (TEST_SPARSE_IJK)
        ! Execute tests for reading sparse arrays
        test_failed = .not. tests_read_sparse_ijk()
      case (TEST_MPI_OPERATORS)
        test_failed = .not. tests_mpi_operators()
      case (TEST_2DCOMP_INIT_EXIT)
        call tests_2decomp_init_exit
      case default
        write(*,*) 'Unknown runmode:', runmode
        invalid_runmode = .true.
    end select

    call exitmpi

    if (invalid_runmode) then
      stop 1
    end if

    ! Return appropriate exit code for unit tests:
    ! 0 = success, 1 = failure
    if (test_failed) then
      stop 1
    else
      stop 0
    end if

  end subroutine execute_runmode_actions