dlr-gcr" />

DLR GCR Model

Model API name: dlr-gcr

A simplified version of the GCR ISO-model (ISO, 2004) modified in order to reduce the number of free parameters to one.

Version: v1


Model example


# coding=utf-8
import matplotlib.pyplot as plt

from nom_client.nom_client import NoMClient

nom_client = NoMClient("DLR GCR example",
                       default_server_id="ext_rest_server",
                       debug_output=False)

sapre_model = nom_client.get_model('sapre')
sapre_model.set_params(orbitType="NEI")
sapre_result = nom_client.run_model(sapre_model)
print(sapre_result)

dlr_gcr_model = nom_client.get_model('dlr-gcr')
dlr_gcr_model.set_params(attenuationSpecification="user_input", userAttenuation=20)
dlr_gcr_results = nom_client.run_model(dlr_gcr_model)
print(dlr_gcr_results)
dlr_proton_spectrum = dlr_gcr_results.get_model_result_by_name(result_name="particle_spectrum")
dlr_energies = dlr_proton_spectrum.get_variable_data(variable_name="energy")
dlr_integral_fluence = dlr_proton_spectrum.get_variable_data(variable_name="integral_flux", z=1)
dlr_differential_fluence = dlr_proton_spectrum.get_variable_data(variable_name="differential_flux", z=1)


iso_gcr_model = nom_client.get_model('iso_15390')
iso_gcr_model.set_params(solarActivity=1)
iso_gcr_model.set_external_input(external_input_name="trajectory", external_input=sapre_result)
iso_gcr_results = nom_client.run_model(iso_gcr_model)
print(iso_gcr_results)
iso_proton_spectrum = iso_gcr_results.get_model_result_by_name(result_name="particle_spectrum")
iso_energies = iso_proton_spectrum.get_variable_data(variable_name="energy")
iso_integral_fluence = iso_proton_spectrum.get_variable_data(variable_name="integral_flux", species="H")
iso_differential_fluence = iso_proton_spectrum.get_variable_data(variable_name="differential_flux", species="H")

print(iso_energies)

plt.rcParams['figure.figsize'] = [15, 10]
plt.rc('font', size=18)

plt.loglog(dlr_energies.T, dlr_integral_fluence.T, '-', linewidth=2.0, markersize=12.0,
           label='DLR Integral Flux')

plt.loglog(iso_energies.T, iso_integral_fluence.T, '-', linewidth=2.0, markersize=12.0,
           label='ISO Integral Flux')

plt.title('GCR particle spectrum', fontsize=18)
plt.grid(True)
plt.legend(bbox_to_anchor=(0.95, 0.95), loc=1, borderaxespad=0., fancybox=True, fontsize=18, shadow=True)
plt.xlabel("Energy (MeV)")
plt.ylabel("Integral Flux")
plt.show()


plt.loglog(dlr_energies.T, dlr_differential_fluence.T, '-', linewidth=2.0, markersize=12.0,
           label='DLR Differential Flux')

plt.loglog(iso_energies.T, iso_differential_fluence.T, '-', linewidth=2.0, markersize=12.0,
           label='ISO Differential Flux')

plt.title('GCR particle spectrum', fontsize=18)
plt.grid(True)
plt.legend(bbox_to_anchor=(0.95, 0.95), loc=1, borderaxespad=0., fancybox=True, fontsize=18, shadow=True)
plt.xlabel("Energy (MeV)")
plt.ylabel("Differential Flux")
plt.show()
         
Model references

No references