generate_mkspk_setup_file Subroutine

public subroutine generate_mkspk_setup_file(filename)

Generate the mkspk setup file. See kernel/mkspk for an example.

See also: MKSPK User's Guide

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename

Calls

proc~~generate_mkspk_setup_file~~CallsGraph proc~generate_mkspk_setup_file generate_mkspk_setup_file proc~int_to_string int_to_string proc~generate_mkspk_setup_file->proc~int_to_string

Called by

proc~~generate_mkspk_setup_file~~CalledByGraph proc~generate_mkspk_setup_file generate_mkspk_setup_file proc~halo_solver_main halo_solver_main proc~halo_solver_main->proc~generate_mkspk_setup_file

Source Code

    subroutine generate_mkspk_setup_file(filename)

    character(len=*),intent(in) :: filename

    integer :: iunit, istat

    open(newunit=iunit, file=trim(filename), status='REPLACE', iostat=istat)
    if (istat/=0) error stop 'error opening file: '//trim(filename)

    write(iunit, '(A)') "\begindata"
    write(iunit, '(A)') ""
    write(iunit, '(A)') "INPUT_DATA_TYPE   = 'STATES'"
    write(iunit, '(A)') "DATA_ORDER        = 'EPOCH X Y Z VX VY VZ'"
    write(iunit, '(A)') "DATA_DELIMITER    = ';'"
    write(iunit, '(A)') "TIME_WRAPPER      = '# ETSECONDS'"
    write(iunit, '(A)') "CENTER_ID         = 301"
    write(iunit, '(A)') "CENTER_NAME       = 'MOON'"
    write(iunit, '(A)') "REF_FRAME_NAME    = 'J2000'"
    write(iunit, '(A)') "INPUT_DATA_UNITS  = ('ANGLES=DEGREES' 'DISTANCES=km')"
    write(iunit, '(A)') "PRODUCER_ID       = 'HALO'"
    write(iunit, '(A)') "OUTPUT_SPK_TYPE   = "//int_to_string(output_spk_type)
    write(iunit, '(A)') "POLYNOM_DEGREE    = "//int_to_string(polynom_degree)
    write(iunit, '(A)') "SEGMENT_ID        = '"//segment_id//"'"
    write(iunit, '(A)') "OBJECT_ID         = "//int_to_string(object_id)
    write(iunit, '(A)') "OBJECT_NAME       = '"//trim(object_name)//"'"
    write(iunit, '(A)') "LEAPSECONDS_FILE  = '"//leapseconds_file//"'"
    close(iunit, iostat=istat)

    end subroutine generate_mkspk_setup_file