Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solvers-acuk-m
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Takhir Fakhrutdinov
solvers-acuk-m
Commits
158b1398
Commit
158b1398
authored
Apr 21, 2022
by
Takhir Fakhrutdinov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
отладка сборки
parent
15e42185
Changes
9
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1 addition
and
1078 deletions
+1
-1078
Makefile
memcached/Makefile
+1
-1
.gitignore
zve/library/.gitignore
+0
-1
makefile
zve/library/makefile
+0
-2
nc_forcesium.f95
zve/library/nc_forcesium.f95
+0
-74
nc_formapproach.f95
zve/library/nc_formapproach.f95
+0
-201
nc_formf200.f95
zve/library/nc_formf200.f95
+0
-120
nc_formf400.f95
zve/library/nc_formf400.f95
+0
-147
nc_formother.f95
zve/library/nc_formother.f95
+0
-98
nc_formstatevector.f95
zve/library/nc_formstatevector.f95
+0
-434
No files found.
memcached/Makefile
View file @
158b1398
...
...
@@ -23,7 +23,7 @@ OBJF=$(BUILD)/test.o
GCC
=
gcc
FC
=
gfortran
AR
=
ar
GCCFLAGS
+=
-g
-Wall
-c
-O
-I
/opt/local/include
-I
/usr/
local/
include
-I
$(INCLUDE)
GCCFLAGS
+=
-g
-Wall
-c
-O
-I
/opt/local/include
-I
/usr/include
-I
$(INCLUDE)
GCCFLAGS
+=
$(FCEXTRA)
FCFLAGS
+=
-Wall
-ffree-line-length-none
-c
-O
-J
$(MODDIR)
-cpp
...
...
zve/library/.gitignore
deleted
100644 → 0
View file @
15e42185
write_buildinfo.f95
zve/library/makefile
deleted
100644 → 0
View file @
15e42185
MAIN
=
library
include
../makefile.inc
\ No newline at end of file
zve/library/nc_forcesium.f95
deleted
100644 → 0
View file @
15e42185
!> @file nc_forcesium.f95
!> @date Apr 01, 2020
!>
!> @brief Генерация эфемерид для программы отображения
!> @details Программа выполняет расчет эфемерид космического объекта с заданным шагом для
!> использования в программе отображения состояния околоземной космической обстановки.
!>
!> Входные параметры
!>
!> D_CAT(1,ORBIT_SIZE_) R*8 - массив содержащий данные актуального списка орбит
!>
!> Выходные параметры
!>
!> XNEW(97,3) R*8 - эфемеридная информация
!>
submodule
(
library_m
)
lib_nc_forcesium
contains
! внутренй код
subroutine
nc_forcesium
(
D_CAT
,
XNEW
)
use
adaps_m
use
const_m
use
library_m
IMPLICIT
NONE
! Формальные параметры
REAL
(
8
),
intent
(
inout
)
::
D_CAT
(
1
,
ORBIT_SIZE_
)
!< вектор состояния КО
REAL
(
8
),
intent
(
inout
)
::
XNEW
(
97
,
3
)
!< эфемеридная информация
REAL
(
8
)
::
TTBEG
! TT задания начальных условий
REAL
(
8
)
::
TTIZM
! TT текущее
REAL
(
8
)
::
XK
(
6
),
XA
(
6
),
XAEND
(
6
),
XKEND
(
6
)
REAL
(
8
)
::
DAT
,
DUT1
,
XP
,
YP
REAL
(
8
)
::
RITRS
(
3
,
3
),
RJ2000
(
3
,
3
)
REAL
(
8
)
::
TIME
=
86400.0D00
REAL
(
8
)
::
STEPINT
=
900.0D00
! шаг интегрирования
! Рабочие массивы и переменные
INTEGER
::
I
,
J
,
K
! орбиту в декартовых J2000 преобразуем в кеплеровы орбиты
DAT
=
DNULL
DUT1
=
DNULL
XP
=
DNULL
YP
=
DNULL
XA
(
1
:
6
)
=
D_CAT
(
1
,
3
:
8
)
call
nc_x2k
(
XA
,
XK
)
TTBEG
=
D_CAT
(
1
,
2
)
+
JDconst
do
i
=
0
,
96
TTIZM
=
TTBEG
+
STEPINT
*
i
/
TIME
! Прогнозируем по Кеплеру
call
nc_prkep
(
TTBEG
,
TTIZM
,
XK
,
XKEND
)
! определяем координаты в J2000
CALL
nc_k2x
(
XKEND
,
XAEND
)
call
nc_itrs2j2000
(
TTIZM
,
DNULL
,
DAT
,
DUT1
,
XP
,
YP
,
RITRS
)
! берем нужную матрицу
do
j
=
1
,
3
do
k
=
1
,
3
RJ2000
(
j
,
k
)
=
RITRS
(
k
,
j
)
enddo
enddo
call
nc_mabc
(
3
,
3
,
1
,
RJ2000
,
XAEND
,
XA
)
XNEW
(
i
+1
,
1
:
3
)
=
XA
(
1
:
3
)
enddo
RETURN
END
end
submodule
\ No newline at end of file
zve/library/nc_formapproach.f95
deleted
100644 → 0
View file @
15e42185
This diff is collapsed.
Click to expand it.
zve/library/nc_formf200.f95
deleted
100644 → 0
View file @
15e42185
!> @file nc_formf200.f95
!> @date Apr 26, 2019
!>
!> @brief Подпрограмма определения различных характеристик движения
!> КО по заданному вектору в СК J2000.0
!> @details Подпрограмма определения различных характеристик движения
!> КО по заданному вектору в СК J2000.0
!>
!> Формальные параметры
!>
!> @param[in] CNKO T - структура с номерами объектов
!> @param[in] Dext(NDEXT,DEXT_SIZE_) R*8 - массив динамических данных IERS
!> @param[in] XSAT (ORBIT_SIZE_) R*8 - массив состояния
!> @param[in] STAT(STAT_SIZE_) R*8 - массив статистики
!> @param[out] RC I*4 - код возврата
!>
!> Структура с номерами объекта и прочей лабудой необходимая для заполнения формы 200/400:
!>
!> type SATCAT
!>
!> integer :: dbno - Номер объекта в базе
!>
!> character (len=7) :: adaps - номер объекта в базе ADAPS (если есть номер NORAD = norad, если нет = Aznh)
!>
!> integer :: norad - номер объекта в каталоге КК ВВС США
!>
!> integer :: kiam - номер объекта в БД ИПМ
!>
!> integer :: znh - номер объекта в БД ЗНХ
!>
!> character (len=11) :: intdesNORAD - Международное обозначение объекта в каталоге КК ВВС США YYYY-NNNPPP
!> YYYY - год запуска NNN - порядковый номер запуск в году PPP - буквенное порядковое обозначение объекта в запуске
!>
!> character (len=11) :: intdesIPM - Международное обозначение объекта в сегменте АСПОС YYYYNNNkkkk
!> YYYY - год запуска NNN - порядковый номер запуск в году kkkk - порядковый номер объекта в запуске
!>
!> character (len=11) :: objecttype - тип объекта
!>
!> character (len=40) :: satname - название объекта
!>
!> character (len=10) :: site - полигон запуска
!>
!> character (len=10) :: launch - дата запуска
!>
!> character (len=10) :: notActive - время прекращения существования
!>
!> end type
!>
submodule
(
library_m
)
lib_nc_formf200
contains
! внутренй код
SUBROUTINE
nc_formf200
(
CNKO
,
Dext
,
XSAT
,
STAT
,
RC
,
result
)
use
fson
use
adaps_m
use
const_m
use
param_m
use
wrjson
use
forms_m
implicit
none
type
(
SATCAT
),
intent
(
inout
)
::
CNKO
!< структура с описанием номеров объекта
real
(
8
),
allocatable
,
intent
(
inout
)
::
Dext
(:,:)
!< массив с внешними данными
real
(
8
),
intent
(
inout
)
::
XSAT
(
ORBIT_SIZE_
)
!< расширенный вектор состояния КО
real
(
8
),
intent
(
inout
)
::
STAT
(
STAT_SIZE_
)
!< Статистика:
integer
,
intent
(
inout
)
::
RC
!< код возврата
type
(
fson_value
),
pointer
::
result
!< результат в формате json
integer
::
NDEXT
integer
::
UVars
! тип уточняемых параметров
! 0 - только 6-и мерный вектор
! 1 - 6-и мерный вектор и баллистический коэффициент
! 2 - 6-и мерный вектор и коэффициент светового давления
! 3 - 6-и мерный вектор баллистический коэффициент и коэффициент светового давления
type
(
fson_value
),
pointer
::
p
! результат в формате json
! Анализируем входные данные
RC
=
0
;
NDEXT
=
0
if
(
allocated
(
Dext
))
NDEXT
=
size
(
Dext
,
1
)
! количество строк
if
(
NDEXT
.le.
0
)
then
RC
=
-6
;
write
(
ERROR_UNIT
,
*
)
" nc_formf200 WARNING! control dimension"
;
return
endif
#ifdef DEBUG
write
(
ERROR_UNIT
,
*
)
"nc_formf200 : Dext:"
,
NDEXT
;
call
nc_printdext
(
Dext
)
write
(
ERROR_UNIT
,
*
)
"nc_formf200 : XSAT"
;
call
nc_printxorb
(
Xsat
)
#endif
P_MODEL
(
1
)
=
1
! гравитационноное влияние Солнца
P_MODEL
(
2
)
=
1
! гравитационное влияние Луны
P_MODEL
(
3
)
=
1
! нецентральность поля тяготения Земли
P_MODEL
(
4
)
=
1
! учет светового давления
P_MODEL
(
5
)
=
1
! учет сопротивления атмосферы
P_MODEL
(
6
)
=
8
! количество учитываемых гармоник ГПЗ
UVars
=
0
! Тип уточняемых параметров
call
frm_object_info
(
CNKO
,
result
)
! Выводим содержимое блока ObjectInfo
call
js_add
(
result
,
'Revolution'
,
''
)
! Номер витка
call
js_add
(
result
,
'EstimMoment'
,
trim
(
itoa
(
2
)))
! Тип момента уточнения
! 1 - на момент первого измерения
! 2 - на момент последнего измерения
! 3 - на середину мерного интервала
! 4 - на момент НУ
call
js_add
(
result
,
'UVars'
,
trim
(
itoa
(
UVars
)))
! Тип уточняемых параметров
call
frm_motion_model
(
result
)
p
=>
js_array
(
result
,
'StateVector'
)
call
js_add
(
js_object
(
p
),
'coordsys'
,
'J2000'
)
call
nc_formstatevector
(
UVars
,
XSAT
,
Dext
,
RC
,
js_object
(
p
))
! печать содержимого блока StateVector
call
frm_statistics
(
STAT
,
result
)
RC
=
0
end
subroutine
end
submodule
\ No newline at end of file
zve/library/nc_formf400.f95
deleted
100644 → 0
View file @
15e42185
!> @file nc_formf400.f95
!> @date Apr 26, 2019
!>
!> @brief Подпрограмма определения различных характеристик сближения
!> @details Подпрограмма определения различных характеристик сближения
!> двух объектов по заданным векторам состояния в начальный момент и
!> момент максимального сближения
!>
!> Формальные параметры
!>
!> @param[in] CNKO_A T - структура с номерами объектa A
!> @param[in] CNKO_B T - структура с номерами объектa B
!> @param[in] Xbeg_A(ORBIT_SIZE_) R*8 - массив состояния объекта A в начальный момент времени
!> @param[in] Xbeg_B(ORBIT_SIZE_) R*8 - массив состояния объекта B в начальный момент времени
!> @param[in] Xend_A(ORBIT_SIZE_) R*8 - массив состояния объекта A в момент максимального сближения
!> @param[in] Xend_B(ORBIT_SIZE_) R*8 - массив состояния объекта B в момент максимального сближения
!> @param[in] NDEXT I*4 - количество строк в блоке динамических данных
!> @param[in] Dext(NDEXT,DEXT_SIZE_) R*8 - массив динамических данных IERS
!> @param[out] RC I - код возврата
!>
!>
!> Структура с номерами объекта и прочей лабудой необходимая для заполнения формы 200/400:
!>
!> type SATCAT
!>
!> integer :: dbno - Номер объекта в базе
!>
!> character (len=7) :: adaps - номер объекта в базе ADAPS (если есть номер NORAD = norad, если нет = Aznh)
!>
!> integer :: norad - номер объекта в каталоге КК ВВС США
!>
!> integer :: kiam - номер объекта в БД ИПМ
!>
!> integer :: znh - номер объекта в БД ЗНХ
!>
!> character (len=11) :: intdesNORAD - Международное обозначение объекта в каталоге КК ВВС США YYYY-NNNPPP
!> YYYY - год запуска NNN - порядковый номер запуск в году PPP - буквенное порядковое обозначение объекта в запуске
!>
!> character (len=11) :: intdesIPM - Международное обозначение объекта в сегменте АСПОС YYYYNNNkkkk
!> YYYY - год запуска NNN - порядковый номер запуск в году kkkk - порядковый номер объекта в запуске
!>
!> character (len=11) :: objecttype - тип объекта
!>
!> character (len=40) :: satname - название объекта
!>
!> character (len=10) :: site - полигон запуска
!>
!> character (len=10) :: launch - дата запуска
!>
!> character (len=10) :: notActive - время прекращения существования
!>
!> end type
!>
submodule
(
library_m
)
lib_nc_formf400
contains
! внутренй код
SUBROUTINE
nc_formf400
(
CNKO_A
,
CNKO_B
,
XBEG_A
,
XBEG_B
,
XEND_A
,
XEND_B
,
Dext
,
RC
,
result
)
use
fson
use
adaps_m
use
const_m
use
param_m
use
forms_m
use
wrjson
implicit
none
type
(
SATCAT
),
intent
(
inout
)
::
CNKO_A
!< структура с описанием номеров объекта A
type
(
SATCAT
),
intent
(
inout
)
::
CNKO_B
!< структура с описанием номеров объекта B
real
(
8
),
intent
(
inout
)
::
XBEG_A
(
ORBIT_SIZE_
)
!< массив состояния объекта A в начальный момент времени
real
(
8
),
intent
(
inout
)
::
XBEG_B
(
ORBIT_SIZE_
)
!< массив состояния объекта B в начальный момент времени
real
(
8
),
intent
(
inout
)
::
XEND_A
(
ORBIT_SIZE_
)
!< массив состояния объекта A в момент времени максимального сближения
real
(
8
),
intent
(
inout
)
::
XEND_B
(
ORBIT_SIZE_
)
!< массив состояния объекта B в момент времени максимального сближения
real
(
8
),
allocatable
,
intent
(
inout
)
::
Dext
(:,:)
!< массив с внешними данными
integer
,
intent
(
inout
)
::
RC
!< код возврата
type
(
fson_value
),
pointer
::
result
!< результат в формате json
integer
::
NDEXT
integer
::
UVars
! тип уточняемых параметров
! 0 - только 6-и мерный вектор
! 1 - 6-и мерный вектор и баллистический коэффициент
! 2 - 6-и мерный вектор и коэффициент светового давления
! 3 - 6-и мерный вектор баллистический коэффициент и коэффициент светового давления
type
(
fson_value
),
pointer
::
p
,
po
#ifdef DEBUG
integer
::
i
! рабочие
#endif
! Анализируем входные данные
RC
=
0
;
NDEXT
=
0
if
(
allocated
(
Dext
))
NDEXT
=
size
(
Dext
,
1
)
! количество строк
if
(
NDEXT
.le.
0
)
then
RC
=
-6
;
write
(
ERROR_UNIT
,
*
)
" nc_formf200 WARNING! control dimension"
;
return
endif
#ifdef DEBUG
write
(
ERROR_UNIT
,
*
)
"nc_formf400 : Dext:"
,
NDEXT
;
call
nc_printdext
(
Dext
)
write
(
ERROR_UNIT
,
*
)
"XBEG_A:"
write
(
ERROR_UNIT
,
'(6G20.13)'
)
(
XBEG_A
(
i
),
i
=
1
,
ORBIT_SIZE_
)
write
(
ERROR_UNIT
,
*
)
"XBEG_B:"
write
(
ERROR_UNIT
,
'(6G20.13)'
)
(
XBEG_B
(
i
),
i
=
1
,
ORBIT_SIZE_
)
write
(
ERROR_UNIT
,
*
)
"XEND_A:"
write
(
ERROR_UNIT
,
'(6G20.13)'
)
(
XEND_A
(
i
),
i
=
1
,
ORBIT_SIZE_
)
write
(
ERROR_UNIT
,
*
)
"XEND_B:"
write
(
ERROR_UNIT
,
'(6G20.13)'
)
(
XEND_B
(
i
),
i
=
1
,
ORBIT_SIZE_
)
#endif
P_MODEL
(
1
)
=
1
! гравитационноное влияние Солнца
P_MODEL
(
2
)
=
1
! гравитационное влияние Луны
P_MODEL
(
3
)
=
1
! нецентральность поля тяготения Земли
P_MODEL
(
4
)
=
1
! учет светового давления
P_MODEL
(
5
)
=
1
! учет сопротивления атмосферы
P_MODEL
(
6
)
=
8
! количество учитываемых гармоник ГПЗ
UVars
=
0
! Тип уточняемых параметров
po
=>
js_object
(
result
,
'PrimaryObject'
)
call
frm_object_info
(
CNKO_A
,
po
)
! Выводим содержимое блока ObjectInfo
p
=>
js_array
(
po
,
'InitialStateVector'
)
call
js_add
(
js_object
(
p
),
'coordsys'
,
'J2000'
)
call
nc_formstatevector
(
UVars
,
XBEG_A
,
Dext
,
RC
,
js_object
(
p
))
! печать содержимого блока StateVector
p
=>
js_array
(
po
,
'PropagatedStateVector'
)
call
js_add
(
js_object
(
p
),
'coordsys'
,
'J2000'
)
call
nc_formstatevector
(
UVars
,
XEND_A
,
Dext
,
RC
,
js_object
(
p
))
! печать содержимого блока StateVector
call
nc_formapproach
(
XEND_A
,
XEND_B
,
Dext
,
RC
,
po
)
! печать параметров сближения
call
frm_motion_model
(
po
)
po
=>
js_object
(
result
,
'ApproachingObject'
)
call
frm_object_info
(
CNKO_B
,
po
)
! Выводим содержимое блока ObjectInfo
p
=>
js_array
(
po
,
'InitialStateVector'
)
call
js_add
(
js_object
(
p
),
'coordsys'
,
'J2000'
)
call
nc_formstatevector
(
UVars
,
XBEG_B
,
Dext
,
RC
,
js_object
(
p
))
! печать содержимого блока StateVector
p
=>
js_array
(
po
,
'PropagatedStateVector'
)
call
js_add
(
js_object
(
p
),
'coordsys'
,
'J2000'
)
call
nc_formstatevector
(
UVars
,
XEND_B
,
Dext
,
RC
,
js_object
(
p
))
! печать содержимого блока StateVector
call
nc_formapproach
(
XEND_B
,
XEND_A
,
Dext
,
RC
,
po
)
! печать параметров сближения
call
frm_motion_model
(
po
)
call
nc_formother
(
XEND_A
,
XEND_B
,
Dext
,
RC
,
result
)
! печать параметров сближения
RC
=
0
END
end
submodule
\ No newline at end of file
zve/library/nc_formother.f95
deleted
100644 → 0
View file @
15e42185
!> @file nc_formother.f95
!> @date Apr 24, 2019
!>
!> @brief Подпрограмма вывода элементов опасного сближения
!> @details Подпрограмма вывода элементов опасного сближения
!> a именно:
!> @verbatim
!> <ApproachDate> дата и время момента максимальноого сближения
!> <MinimalDistance> минимальное геометрическое расстояние между сближающимися объектами
!> <Velocity> относительная скорость на момент максимального сближения
!> @endverbatim
!>
!> Формальные параметры
!>
!> @param[in] XSAT_A(ORBIT_SIZE_) R*4 - массив описывающий состояние объекта A
!> @param[in] XSAT_B(ORBIT_SIZE_) R*8 - массив описывающий состояние объекта B
!> @param[in] NDEXT I*4 - количество строк в блоке динамических данных
!> @param[in] Dext(NDEXT,DEXT_SIZE_) R*8 - массив динамических данных IERS
!>
!> Выходные параметры:
!> @param[out] RC I*4 - код возврата
!> @param[out] resust pointer - указатель на область вывода результатов
!>
submodule
(
library_m
)
lib_nc_formother
contains
! внутренй код
SUBROUTINE
nc_formother
(
XSAT_A
,
XSAT_B
,
Dext
,
RC
,
result
)
use
adaps_m
use
const_m
use
forms_m
use
fson
IMPLICIT
NONE
real
(
8
)
::
nc_mag
REAL
(
8
),
intent
(
inout
)
::
XSAT_A
(
ORBIT_SIZE_
)
!< расширенный вектор сотсояния объекта A
REAL
(
8
),
intent
(
inout
)
::
XSAT_B
(
ORBIT_SIZE_
)
!< расширенный вектор сотсояния объекта B
REAL
(
8
),
allocatable
,
intent
(
inout
)
::
Dext
(:,:)
!< массив с внешними данными
INTEGER
,
intent
(
inout
)
::
RC
!< код возврата
type
(
fson_value
),
pointer
::
result
!< указатель на область вывода результатов
REAL
(
8
)
::
XA
(
6
)
! вектор КО в J2000 для объекта A
REAL
(
8
)
::
XB
(
6
)
! вектор КО в J2000 для объекта B
REAL
(
8
)
::
Velocity
! относительная скорость объектов в момент максимального сближения
REAL
(
8
)
::
MinimalDistance
! минимальное геометрическое расстояние между сближающимися объектами
REAL
(
8
)
::
DUT1
! параметры вращения земли delta UT1 (UT1-UTC)
REAL
(
8
)
::
DAT
! параметры вращения Земли Delta AT (UTC-TAI)
REAL
(
8
)
::
XP
! параметры вращения Земли Смещение полюса XP на дату P_JD
REAL
(
8
)
::
YP
! параметры вращения Земли Смещение полюса YP на дату P_JD
real
(
8
)
::
TT
! TT
real
(
8
)
::
UTC2TT
! поправка для перевода из UTC в TT
real
(
8
)
::
TT2UTC
! поправка для перевода из UTC в TT
INTEGER
::
NDEXT
! Анализируем входные данные
RC
=
0
;
NDEXT
=
0
if
(
allocated
(
Dext
))
NDEXT
=
size
(
Dext
,
1
)
! количество строк
if
(
NDEXT
.le.
0
)
then
RC
=
-6
;
write
(
ERROR_UNIT
,
*
)
" nc_formf200 WARNING! control dimension"
;
return
endif
#ifdef DEBUG
write
(
ERROR_UNIT
,
*
)
"nc_formother : Dext:"
,
NDEXT
;
call
nc_printdext
(
Dext
)
write
(
ERROR_UNIT
,
*
)
"nc_formother : XSAT_A"
;
call
nc_printxorb
(
XSAT_A
)
write
(
ERROR_UNIT
,
*
)
"nc_formother : XSAT_B"
;
call
nc_printxorb
(
XSAT_B
)
#endif
! Определяем значения IERS для даты
TT
=
XSAT_A
(
2
)
+
JDconst
! время TT = UTC + delta AT + 32.184 = UTC + Dext(7)
call
nc_iers
(
TT
,
Dext
,
DAT
,
DUT1
,
XP
,
YP
,
RC
)
! получаем параметры вращения Земли
UTC2TT
=
(
DAT
+32.184D00
)
! поправка UTC-TT (DAT+32.184) в секундах
#ifdef DEBUG
write
(
ERROR_UNIT
,
*
)
"UTC2TT,s"
,
UTC2TT
#endif
TT2UTC
=
-
UTC2TT
/
SECDAY
! поправка TT-UTC в сутках
call
frm_datetime
(
TT
,
TT2UTC
,
'ApproachDate'
,
result
)
XA
(
1
:
6
)
=
XSAT_A
(
3
:
8
)
XB
(
1
:
6
)
=
XSAT_B
(
3
:
8
)
MinimalDistance
=
nc_mag
((
XB
(
1
)
-
XA
(
1
)),(
XB
(
2
)
-
XA
(
2
)),(
XB
(
3
)
-
XA
(
3
)))
Velocity
=
nc_mag
((
XB
(
4
)
-
XA
(
4
)),(
XB
(
5
)
-
XA
(
5
)),(
XB
(
6
)
-
XA
(
6
)))
call
frm_additem
(
result
,
'MinimalDistance'
,
'unit'
,
'km'
,
MinimalDistance
)
call
frm_additem
(
result
,
'Velocity'
,
'unit'
,
'km/s'
,
Velocity
)
RC
=
0
END
end
submodule
\ No newline at end of file
zve/library/nc_formstatevector.f95
deleted
100644 → 0
View file @
15e42185
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment