set_igrf_file_path_c Subroutine

public subroutine set_igrf_file_path_c(ipointer, igrf_dir, n) bind(C, name="set_igrf_file_path")

C interface for setting the igrf data file path

Arguments

Type IntentOptional Attributes Name
integer(kind=c_intptr_t), intent(in) :: ipointer
character(kind=c_char, len=1), intent(in), dimension(n) :: igrf_dir
integer(kind=c_int), intent(in) :: n

size of igrf_dir


Calls

proc~~set_igrf_file_path_c~~CallsGraph proc~set_igrf_file_path_c radbelt_c_module::set_igrf_file_path_c proc~c2f_str radbelt_c_module::c2f_str proc~set_igrf_file_path_c->proc~c2f_str proc~int_pointer_to_f_pointer radbelt_c_module::int_pointer_to_f_pointer proc~set_igrf_file_path_c->proc~int_pointer_to_f_pointer proc~set_igrf_file_path radbelt_module::radbelt_type%set_igrf_file_path proc~set_igrf_file_path_c->proc~set_igrf_file_path proc~set_data_file_dir shellig_module::shellig_type%set_data_file_dir proc~set_igrf_file_path->proc~set_data_file_dir

Source Code

    subroutine set_igrf_file_path_c(ipointer, igrf_dir, n) bind(C, name="set_igrf_file_path")

        integer(c_intptr_t), intent(in) :: ipointer
        integer(c_int), intent(in) :: n !! size of `igrf_dir`
        character(kind=c_char, len=1), dimension(n), intent(in) :: igrf_dir

        character(len=:), allocatable :: igrf_dir_
        type(radbelt_type), pointer :: p

        call int_pointer_to_f_pointer(ipointer, p)

        if (associated(p)) then
            igrf_dir_ = c2f_str(igrf_dir)
            call p%set_igrf_file_path(igrf_dir_)
        else
            error stop 'error in set_igrf_file_path: class is not associated'
        end if

    end subroutine set_igrf_file_path_c