SEE timeseries tool
Model API name: see_timeseries
SEE timeseries tool
Version: v1
External Input: trajectory
Input | Value |
---|---|
Model name |
trajectory
|
Model result name | trajectory |
Quantity | trajectory |
Input group: lagrange / multiplicity: one
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
dataset | Shield thickness units. |
1-in-100=1-in-100 1-in-300=1-in-300 1-in-1000=1-in-1000 1-in-10000=1-in-10000 1-in-1000-small=1-in-1000-small |
1-in-1000 | number |
shield
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
threads | Number of concurrent threads. |
|
10 | number |
shieldThicknesses | Shield thicknesses. |
|
[0.1, 0.2, 0.4, 0.8, 1, 2, 0.37] | number |
shieldThicknessUnit | Shield thickness units. |
1=mils 2=g/cm2 3=cm |
2 | number |
environment
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
includeTrapped | Include trapped contribution |
1=Yes 0=No |
0 | number |
includeGCR | Include GCR contribution |
1=Yes 0=No |
0 | number |
fluxTimeseries | Flux timeseries. |
|
[] | number |
device
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
deviceData | JSON device data. |
|
{"name": "device1"} | text |
|
None
# coding=utf-8
from nom_client.nom_client import NoMClient
nom_client = NoMClient(project_name="SEE timeseries example")
greet_model = nom_client.get_model('trajectory')
greet_model.set_params(orbitSpecificationCode=210,
epoch="2020-01-01 00:00:00",
startDate="2020-01-01 00:00:00",
missionDuration=30,
naifCode=599,
circularAltitude=200000)
greet_result = nom_client.run_model(greet_model)
print(greet_result)
sapphire_total_fluence_model = nom_client.get_model('sapphire-total-fluence')
sapphire_total_fluence_model.set_external_input(external_input_name="trajectory", external_input=greet_result)
sapphire_total_fluence_results = nom_client.run_model(sapphire_total_fluence_model)
print(sapphire_total_fluence_results)
spec1 = sapphire_total_fluence_results["full_ion_spectrum"]["integral_fluence"].values
devices_array = [
{
"deviceName": "dev1",
"directIonisationMethod": -1,
"weibull_w_direct": 53.5,
"weibull_let_th_direct": 16.8,
"weibull_s_direct": 1.45,
"weibull_sigma_direct": 2.2e-7,
"protonInducedMethod": 5,
"weibull_w_proton": 0,
"weibull_energy_th_proton": 0,
"weibull_s_proton": 0,
"weibull_sigma_proton": 0
},
{
"deviceName": "dev2",
"directIonisationMethod": -1,
"weibull_w_direct": 28,
"weibull_let_th_direct": 0.4,
"weibull_s_direct": 1.5,
"weibull_sigma_direct": 6e-8,
"protonInducedMethod": 2,
"weibull_w_proton": 45,
"weibull_energy_th_proton": 5,
"weibull_s_proton": 1.5,
"weibull_sigma_proton": 3.6e-14
}
]
thicknesses_array_in_gcm2 = "0.5:0.25, 1.0:0.25, 2.0:0.25, 3.0:0.25"
see_timeseries_model = nom_client.get_model('see_timeseries')
see_timeseries_model.set_params(
shieldThicknesses=thicknesses_array_in_gcm2,
shieldThicknessUnit=2,
includeTrapped=0,
includeGCR=0,
deviceData=devices_array#,
#fluxTimeseries=[spec1]
)
see_timeseries_results = nom_client.run_model(see_timeseries_model)
print(see_timeseries_results)
import os
from nom_client.utils.file_util import read_file_into_array, split_file
from nom_client.nom_client import NoMClient
nom_client = NoMClient("SEE TOOL",
default_server_id="local_server",
debug_output=False)
devices_array = [
{
"deviceName": "dev1",
"directIonisationMethod": -1,
"weibull_w_direct": 53.5,
"weibull_let_th_direct": 16.8,
"weibull_s_direct": 1.45,
"weibull_sigma_direct": 2.2e-7,
"protonInducedMethod": 5,
"weibull_w_proton": 0,
"weibull_energy_th_proton": 0,
"weibull_s_proton": 0,
"weibull_sigma_proton": 0
},
{
"deviceName": "dev2",
"directIonisationMethod": -1,
"weibull_w_direct": 28,
"weibull_let_th_direct": 0.4,
"weibull_s_direct": 1.5,
"weibull_sigma_direct": 6e-8,
"protonInducedMethod": 2,
"weibull_w_proton": 45,
"weibull_energy_th_proton": 5,
"weibull_s_proton": 1.5,
"weibull_sigma_proton": 3.6e-14
}
]
thicknesses_array_in_gcm2 = ["0.5:0.25", "1.0:0.25", "2.0:0.25", "3.0:0.25"]
sapre_model = nom_client.get_model('sapre')
sapre_model.set_params(orbitType="NEI")
sapre_gto_result = nom_client.run_model(sapre_model)
print(sapre_gto_result)
lagrange_seu_model = nom_client.get_model('see_timeseries')
lagrange_seu_model.set_params(
shieldThicknesses=thicknesses_array_in_gcm2,
shieldThicknessUnit=2,
includeTrapped=0,
includeGCR=0,
deviceData=devices_array,
dataset="1-in-1000"
#fluxTimeseries=flux_timeseries
)
lagrange_seu_results = nom_client.run_model(model=lagrange_seu_model)
print(lagrange_seu_results)
seu_rates = lagrange_seu_results.results['seu_rates']
print(lagrange_seu_results.results['seu_rates']['direct_ionisation'].values)
No references