Ax8
Model API name: ae8ap8
Ax8 trapped radiation model
Version: v1
Category: model/environment/radiation/trapped
Keywords: radiation, trapped, proton, electron
External Input: trajectory
Trajectory data.
Input | Value |
---|---|
Model name |
sapre
sapre_upload
|
trajectory
|
Model result name | trajectory |
Quantity | trajectory |
Input group: trep / multiplicity: one
Proton model
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
trappedProtonSubModel | Solar maximum or solar minimum model |
1=AP-8 MAX 2=AP-8 MIN |
2 | number |
protonEnergies | Proton energies array (of length 'numberProtonEnergies') in MeV |
min: 1 max: unbounded |
[0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 10.0, 15.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 100.0, 150.0, 200.0, 300.0, 400.0, 500.0] | energy |
numberProtonEnergies | Number of proton energies in 'protonEnergies' |
min: 1 max: unbounded |
30 | number |
protonThresholdFlux | Flux thresholds for protons |
min: 1 max: 1000 |
1.0 | number |
Electron model
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
trappedElectronSubModel |
AE-8 sub-model
1: AE-8 Max, 2: AE-8 Min |
1=AE-8 MAX 2=AE-8 MIN |
1 | number |
electronEnergies |
Electron energies
Number of energies must equal numberElectronEnergies (NENERE) |
min: 0 max: unbounded |
[0.04, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0, 4.25, 4.5, 4.75, 5.0, 5.5, 6.0, 6.5, 7.0] | energy |
numberElectronEnergies | Electron energies (MeV) |
min: 1 max: unbounded |
30 | number |
electronThresholdFlux | Flux thresholds for electrons |
min: 0 max: 1000 |
1.0 | number |
General
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
includeLocalTimeVariation | Include local time variation |
1=Yes 0=No |
0 | number |
|
None
Model example
from pprint import pprint
from nom_client.nom_client import NoMClient
nom_client = NoMClient("AE8AP8 model example")
trajectory_model = nom_client.get_model('trajectory')
trajectory_model.set_params(orbitSpecificationCode=210,
epoch="2020-01-01 00:00:00",
missionDuration=30,
naifCode=399,
circularAltitude=200000)
# run on the deafault swerver with default and tag
sapre_result = nom_client.run_model(trajectory_model)
sapre_result2 = nom_client.run_model(trajectory_model, server_id="...", tag="run_1")
print("Running trapped model")
ap8ae8_model = nom_client.get_model('ae8ap8')
ap8ae8_model.set_external_input(external_input_name="trajectory", external_input=sapre_result)
ap8ae8_results = nom_client.run_model(ap8ae8_model)
print(ap8ae8_results)
pprint(ap8ae8_model.get_input_summary())
print("Running GCR model")
creme_96_gcr_model = nom_client.get_model('creme-96-gcr')
creme_96_gcr_model.set_external_input(external_input_name="trajectory", external_input=sapre_result)
creme_96_gcr_results = nom_client.run_model(creme_96_gcr_model)
print(creme_96_gcr_results)
print("Running SEP model")
sapphire_total_fluence_model = nom_client.get_model('sapphire-total-fluence')
sapphire_total_fluence_model.set_external_input(external_input_name="trajectory", external_input=sapre_result)
sapphire_total_fluence_results = nom_client.run_model(sapphire_total_fluence_model)
print(sapphire_total_fluence_results)
print("Running SD2 model")
sd2_model = nom_client.get_model('sd2')
sd2_model.set_external_input(external_input_name="trappedParticleSpectrum", external_input=ap8ae8_results)
sd2_model.set_external_input(external_input_name="solarParticleSpectrum", external_input=sapphire_total_fluence_results)
sd2_model.set_external_input(external_input_name="gcrSpectrum", external_input=creme_96_gcr_results)
sd2_model.set_params(detectorMaterial=1,
shieldDepthValues=1,
userShieldDepths=[0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1, 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20])
sd2_result = nom_client.run_model(sd2_model)
print(sd2_result)
Model references
No references