Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
200km committed Dec 28, 2021
2 parents 6c52fca + e26a97f commit 489b29c
Show file tree
Hide file tree
Showing 150 changed files with 2,770 additions and 1,923 deletions.
15 changes: 15 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* text=auto

*.md text
*.txt text
*.json text

*.cpp text
*.h text
*.hpp text

*.sh text eol=lf
*.bat text eol=crlf

*.ini text
*.csv text
41 changes: 29 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,18 @@ if(USE_C2A)
add_subdirectory(${C2A_DIR} C2A)
endif()

## options to use HILS
option(USE_HILS "Use HILS")
set(USE_HILS OFF)
if(USE_HILS AND WIN32)
add_definitions(-DUSE_HILS)
## winsock2
SET (CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
find_library(WS2_32_LIB ws2_32.lib)
message("path for winsock2 is")
message(${WS2_32_LIB})
endif()

## include directories
include_directories(${CSPICE_DIR}/include)
include_directories(${NRLMSISE00_DIR}/src)
Expand All @@ -49,6 +61,7 @@ add_subdirectory(src/RelativeInformation)
add_subdirectory(src/Interface/InitInput)
add_subdirectory(src/Interface/LogOutput)
add_subdirectory(src/Interface/SpacecraftInOut)
add_subdirectory(src/Interface/HilsInOut)
add_subdirectory(src/Library/igrf)
add_subdirectory(src/Library/inih)
add_subdirectory(src/Library/math)
Expand All @@ -57,7 +70,6 @@ add_subdirectory(src/Library/sgp4)
add_subdirectory(src/Library/utils)
add_subdirectory(src/Library/optics)
add_subdirectory(src/Library/RelativeOrbit)
#add_subdirectory(src/Interface/HilsInOut)

set(SOURCE_FILES
src/S2E.cpp
Expand Down Expand Up @@ -137,24 +149,29 @@ target_link_libraries(${PROJECT_NAME} GLOBAL_ENVIRONMENT LOCAL_ENVIRONMENT)
target_link_libraries(${PROJECT_NAME} RELATIVE_INFO)
target_link_libraries(${PROJECT_NAME} INI_ACC LOG_OUT SC_IO)
target_link_libraries(${PROJECT_NAME} COMPONENT)

## HILS
if (WIN32)
# target_link_libraries(${PROJECT_NAME} HILS_IO)
## winsock2
#SET (CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
#find_library(WS2_32_LIB ws2_32.lib)
#message("path for winsock2 is")
#message(${WS2_32_LIB})
# target_link_libraries(${PROJECT_NAME} ${WS2_32_LIB})
endif()
target_link_libraries(${PROJECT_NAME} HILS_IO)

## C2A integration
if(USE_C2A)
target_link_libraries(${PROJECT_NAME} C2A)
target_link_libraries(${PROJECT_NAME} SC_IO)
endif()

## HILS
if(USE_HILS)
target_link_libraries(${PROJECT_NAME} ${WS2_32_LIB})
set_target_properties(${PROJECT_NAME} PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(COMPONENT PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(DYNAMICS PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(DISTURBANCE PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(SIMULATION PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(GLOBAL_ENVIRONMENT PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(LOCAL_ENVIRONMENT PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(INI_IN PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(HILS_IO PROPERTIES COMMON_LANGUAGE_RUNTIME "")
set_target_properties(RELATIVE_INFO PROPERTIES COMMON_LANGUAGE_RUNTIME "")
endif()

## Cmake debug
message("Cspice_LIB: " ${CSPICE_LIB})
message("nrlmsise00_LIB: " ${NRLMSISE00_LIB})
1 change: 0 additions & 1 deletion CMakeSettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"inheritEnvironments": [
"msvc_x86"
],
//"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
"buildRoot": "${thisFileDir}\\CMakeBuilds",
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"cmakeCommandArgs": "",
Expand Down
35 changes: 19 additions & 16 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
現時点ではフルオープンではないので厳密なライセンスは規定していませんが,次の点を守っていただきたいと考えております.
- 無断二次配布禁止
- 商用利用は事前に相談
- 更新があればISSL_OSSに反映させる
- 何か不具合があってもISSLは責任を負わない
- 成果を発表する時には謝辞に入れてもらう
- 特許,著作権など気になる場合は要相談
MIT License

その他ライセンスに関して気になるところがあれば,#management チャンネルでご質問ください.
Copyright (c) 2021 Intelligent Space Systems Laboratory, The University of Tokyo

Currently, ISSL doesn't have a strict license because the codes are not fully opened.
However, ISSL require all users to accept following points.
- Secondary distribution prohibited
- Discuss with ISSL members before commercial use
- Useful modification should be commited to the ISSL_OSS repositories
- ISSL is not responsible any failure related with the codes
- When you publish papers or official documents with results from ISSL_OSS source codes, please refer this activity as acknowledgement in the document
- If you have any questions about license, patent, and copyright, pleaase ask ISSL members.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
25 changes: 17 additions & 8 deletions data/SampleSat/ini/SampleDisturbance.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,43 @@ logging = ENABLE
degree = 4
file_path = ../../../ExtLibraries/GeoPotential/egm96_to360.ascii


[MAG_DISTURBANCE]
calculation = ENABLE
logging = ENABLE


[AIRDRAG]
calculation = ENABLE
logging = ENABLE
//Condition of air drag
Temp_wall = 30 //Surface Temperature[degC]
Temp_molecular = 3 //Atmosphere Temperature[degC]
//Note: they are converted in unit [K] inside the codes
Molecular = 18.0 //Molecular weight of the thermosphere[g/mol]

// Condition of air drag
Temp_wall = 30 // Surface Temperature[degC]
Temp_molecular = 3 // Atmosphere Temperature[degC]

// Note: they are converted in unit [K] inside the codes
Molecular = 18.0 // Molecular weight of the thermosphere[g/mol]


[SRDIST]
calculation = ENABLE
logging = ENABLE


[GRAVITY_GRADIENT]
calculation = ENABLE
logging = ENABLE


[THIRD_BODY_GRAVITY]
calculation = DISABLE
logging = ENABLE
//The number of gravity-generating bodies other than the central body

// The number of gravity-generating bodies other than the central body
num_of_third_body = 1
//List of gravity-generating bodies other than the central body
//All these bodies must be included in the "selected_body" of "PlanetSelect.ini"

// List of gravity-generating bodies other than the central body
// All these bodies must be included in the "selected_body" of "PlanetSelect.ini"
third_body(0) = SUN
third_body(1) = MOON
third_body(2) = MARS
62 changes: 29 additions & 33 deletions data/SampleSat/ini/SampleGNSS.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,50 @@
directory_path = ../../../ExtLibraries/sp3/
calculation = DISABLE

true_position_file_sort = IGS
//choose from IGS, IGR, IGU,
// CODE_Final, CODE_Rapid, CODE_Ultra_rapid,
// JAXA_Final, JAXA_Rapid, JAXA_Ultra_rapid, madocaRT,
// QZSS_Final, QZSS_Rapid, QZSS_Ultra_rapid
true_position_first = igs21233.sp3
//As small as possible within the range.
true_position_last = igs21233.sp3
true_position_file_sort = IGS
// choose from IGS, CODE_Final, JAXA_Final, QZSS_Final
// As small as possible within the range.
true_position_first = igs21610.sp3
true_position_last = igs21613.sp3
true_position_interpolation_method = 1
//choose from 0: Lagrange, 1: Trigonometric : temporarily, only Trigonometric is valid, Lagrange is not yet implemented.
// choose from 0: Lagrange, 1: Trigonometric : temporarily, only Trigonometric is valid, Lagrange is not yet implemented.
true_position_interpolation_number = 9
//if you chose Trigonometric as interpolation method, you must choose odds number here.
// if you chose Trigonometric as interpolation method, you must choose odds number here.

// choose frome .sp3, .clk_30s or .clk
true_clock_file_extension = .clk_30s
//choose frome .sp3, .clk_30s or .clk
true_clock_file_sort = IGS
//choose from IGS, IGR, IGU,
// CODE_Final, CODE_Rapid, CODE_Ultra_rapid,
// JAXA_Final, JAXA_Rapid, JAXA_Ultra_rapid, madocaRT,
// QZSS_Final, QZSS_Rapid, QZSS_Ultra_rapid
// choose from IGS, CODE_Final, JAXA_Final, QZSS_Final
//if you choose clk_30s, should choose the one equivalent to final, if you choose clk should choose the one equivalent to rapid.
true_clock_first = igs21233.clk_30s
//As small as possible within the range.
true_clock_last = igs21233.clk_30s
// As small as possible within the range.
// The method is fixed with Lagrange interpolation, 3 (quadratic) recommended
true_clock_first = igs21610.clk_30s
true_clock_last = igs21613.clk_30s
true_clock_interpolation_number = 3
//The method is fixed with Lagrange interpolation, 3 (quadratic) recommended

estimate_position_file_sort = madocaRT
//choose from IGS, IGR, IGU,
// CODE_Final, CODE_Rapid, CODE_Ultra_rapid,
// choose from IGS, IGR, IGU,
// CODE_Final, CODE_Rapid
// JAXA_Final, JAXA_Rapid, JAXA_Ultra_rapid, madocaRT,
// QZSS_Final, QZSS_Rapid, QZSS_Ultra_rapid
estimate_position_first = madoca21233.sp3
//As small as possible within the range.
estimate_position_last = madoca21233.sp3
// As small as possible within the range.
estimate_position_first = madoca21610.sp3
estimate_position_last = madoca21613.sp3
// when you use Ultra Rapid Product, you can choose "observe" or "predict"
estimate_position_interpolation_method = 1
//choose from 0: Lagrange, 1: Trigonometric : temporarily, only Trigonometric is valid, Lagrange is not yet implemented.
// choose from 0: Lagrange, 1: Trigonometric : temporarily, only Trigonometric is valid, Lagrange is not yet implemented.
estimate_position_interpolation_number = 9
//if you chose Trigonometric as interpolation method, you must choose odds number here.
// if you chose Trigonometric as interpolation method, you must choose odds number here.
estimate_clock_file_sort = madocaRT
//choose from IGS, IGR, IGU,
// CODE_Final, CODE_Rapid, CODE_Ultra_rapid,
// choose from IGS, IGR, IGU,
// CODE_Final, CODE_Rapid
// JAXA_Final, JAXA_Rapid, JAXA_Ultra_rapid, madocaRT,
// QZSS_Final, QZSS_Rapid, QZSS_Ultra_rapid
// choose frome .sp3, .clk_30s or .clk
estimate_clock_file_extension = .sp3
//choose frome .sp3, .clk_30s or .clk
estimate_clock_first = madoca21233.sp3
//As small as possible within the range.
estimate_clock_last = madoca21233.sp3
// As small as possible within the range.
estimate_clock_first = madoca21610.sp3
estimate_clock_last = madoca21613.sp3
// The method is fixed with Lagrange interpolation, 3 (quadratic) recommended
estimate_clock_interpolation_number = 3
//The method is fixed with Lagrange interpolation, 3 (quadratic) recommended
estimate_ur_observe_or_predict = observe
30 changes: 21 additions & 9 deletions data/SampleSat/ini/SampleLocalEnvironment.ini
Original file line number Diff line number Diff line change
@@ -1,22 +1,34 @@
[MAG_ENVIRONMENT]
calculation = ENABLE
logging = ENABLE
coeff_file = ../../src/Library/igrf/igrf13.coef
mag_rwdev = 0.0//10.0 //磁気ランダムウォーク速度[nT] Default(10.0)
mag_rwlimit = 0.0//400.0 //磁気ランダムウォーク最大値[nT] Default(400.0)
mag_wnvar = 0.0//50.0 //磁気ホワイトノイズ分散[nT] Default(50.0)
coeff_file = ../../../S2E_CORE_OSS/src/Library/igrf/igrf13.coef
mag_rwdev = 10.0 //Random Walk speed[nT]
mag_rwlimit = 400.0 //Random Walk max limit[nT]
mag_wnvar = 50.0 //White noise standard deviation [nT]


[SRP]
calculation = ENABLE
logging = ENABLE


[ATMOSPHERE]
// 大気密度モデル STANDARD->スケールハイトを用いたモデル,NRLMSISE00->NRLMSISE00モデル
model = NRLMSISE00
nrlmsise00_table_path = ../../../ExtLibraries/nrlmsise00/table/SpaceWeather.txt
calculation = ENABLE
logging = ENABLE
rho_stddev = 0.0//0.1 //空気密度標準偏差の割合

// Atmosphere model
// STANDARD: Model using scale height, NRLMSISE00: NRLMSISE00 model
model = STANDARD
nrlmsise00_table_path = ../../../ExtLibraries/nrlmsise00/table/SpaceWeather.txt
// Whether using user-defined f10.7 and ap value
// Ref of f10.7: https://www.swpc.noaa.gov/phenomena/f107-cm-radio-emissions
// Ref of ap: http://wdc.kugi.kyoto-u.ac.jp/kp/kpexp-j.html
is_manual_param_used = ENABLE
manual_daily_f107 = 150.0 // User defined f10.7(1 day)
manual_average_f107 = 150.0 // User defined f10.7(30 days average)
manual_ap = 3.0 // User defined ap
rho_stddev = 0.0 // Standard deviation of the air density


[LOCAL_CELESTIAL_INFORMATION]
logging = ENABLE
logging = ENABLE
Loading

0 comments on commit 489b29c

Please sign in to comment.