Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,16 @@
assert np.allclose(
ws.spectral_rad[::100],
np.array(
[[2.27853388e+02, 1.95866945e-04, 4.87492271e-05, -2.36891567e-02],
[2.30930417e+02, 2.15802433e-04, 5.51980780e-05, -4.03735389e-02],
[2.34870122e+02, 3.57230883e-04, 9.38282269e-05, -5.71986370e-02],
[2.40419686e+02, 1.23779635e-03, 3.24558457e-04, -6.19280114e-02],
[2.49835914e+02, 7.74686776e-03, 2.06857040e-03, -1.54924878e-02],
[2.08998520e+02, 2.38211765e+01, 1.64703709e+00, 5.47032904e-06],
[2.49835352e+02, 7.74672684e-03, 2.06868749e-03, 1.55957453e-02],
[2.40418596e+02, 1.23700264e-03, 3.24403765e-04, 6.20718269e-02],
[2.34868546e+02, 3.56494587e-04, 9.36667274e-05, 5.73507670e-02],
[2.30928366e+02, 2.15286025e-04, 5.50826926e-05, 4.05218001e-02],
[2.27850872e+02, 1.95567388e-04, 4.86829472e-05, 2.38269651e-02]]
[[ 2.27720431e+02, 1.92860863e-04, 4.80226318e-05, -2.39944534e-02],
[ 2.30795788e+02, 2.05916096e-04, 5.28115272e-05, -4.11877682e-02],
[ 2.34732775e+02, 6.07407437e-04, 1.53649762e-04, -3.35111787e-02],
[ 2.40285632e+02, 1.20481776e-03, 3.16497792e-04, -6.37947118e-02],
[ 2.49706649e+02, 5.90915798e-03, 1.64151310e-03, -9.03484330e-02],
[ 2.09884932e+02, 2.41682141e+01, 1.73723873e+00, 5.54512226e-06],
[ 2.49706087e+02, 5.90803897e-03, 1.64139792e-03, 9.04789486e-02],
[ 2.40284543e+02, 1.20399960e-03, 3.16336925e-04, 6.39391756e-02],
[ 2.34731202e+02, 6.06980643e-04, 1.53562668e-04, 3.36445494e-02],
[ 2.30793741e+02, 2.05389194e-04, 5.26935796e-05, 4.13367589e-02],
[ 2.27717921e+02, 1.92557235e-04, 4.79553616e-05, 2.41329191e-02]]
),
), "Values have drifted from expected results in spectral radiance"
22 changes: 11 additions & 11 deletions examples/2-clearsky-radiative-transfer/2-zeeman/2-zeeman.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,16 @@
assert np.allclose(
ws.spectral_rad[::100],
np.array(
[[2.27784836e+02, 4.26114598e-04, 1.02751718e-04, 5.69266704e-02],
[2.30863855e+02, 6.59892211e-04, 1.59299017e-04, 7.04138026e-02],
[2.34806524e+02, 1.16821510e-03, 2.82508836e-04, 9.33835996e-02],
[2.40360807e+02, 2.61610579e-03, 6.34821344e-04, 1.40029927e-01],
[2.49782423e+02, 9.74658804e-03, 2.38967070e-03, 2.69735134e-01],
[2.09027223e+02, 2.38234847e+01, 1.64634819e+00, 5.44981208e-06],
[2.49781856e+02, 9.75012917e-03, 2.39056843e-03, -2.69812587e-01],
[2.40359714e+02, 2.61791138e-03, 6.35266868e-04, -1.40106505e-01],
[2.34804947e+02, 1.16941576e-03, 2.82802436e-04, -9.34596007e-02],
[2.30861804e+02, 6.60797190e-04, 1.59519308e-04, -7.04898138e-02],
[2.27782319e+02, 4.26846028e-04, 1.02929281e-04, -5.70026325e-02]]
[[ 2.27651281e+02, 4.26102083e-04, 1.02747359e-04, 5.68792774e-02],
[ 2.30728865e+02, 6.60200934e-04, 1.59372202e-04, 7.04074781e-02],
[ 2.34671710e+02, 1.16870319e-03, 2.82624430e-04, 9.34017504e-02],
[ 2.40226519e+02, 2.61619541e-03, 6.34833393e-04, 1.40041579e-01],
[ 2.49649966e+02, 9.75456580e-03, 2.39140821e-03, 2.69997496e-01],
[ 2.09913635e+02, 2.41699652e+01, 1.73644537e+00, 5.52423749e-06],
[ 2.49649399e+02, 9.75810766e-03, 2.39230583e-03, -2.70074955e-01],
[ 2.40225428e+02, 2.61800091e-03, 6.35278864e-04, -1.40118138e-01],
[ 2.34670135e+02, 1.16990396e-03, 2.82918050e-04, -9.34777298e-02],
[ 2.30726817e+02, 6.61105654e-04, 1.59592427e-04, -7.04834283e-02],
[ 2.27648771e+02, 4.26832634e-04, 1.02924704e-04, -5.69551120e-02]]
),
), "Values have drifted from expected results in spectral radiance"
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@
assert np.allclose(
ws.measurement_vec[::100],
np.array(
[227.85626444, 230.93431141, 234.89998492, 240.50101182,
250.05274234, 210.84064948, 249.51259663, 240.21977571,
234.7115623, 230.79135556, 227.73970923]
[227.72265043, 230.79931459, 234.76518855, 240.36673613,
249.92055137, 211.84612808, 249.3798804 , 240.08547841,
234.5767321 , 230.65637527, 227.60619589]
),
)
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,16 @@
assert np.allclose(
ws.spectral_rad[::100],
np.array(
[[3.48824591e-06, -1.47203439e-10, -3.54155511e-11, -4.59223182e-08],
[1.71707407e-06, -1.11587582e-10, -2.68557096e-11, -2.78282572e-08],
[6.98942589e-07, -7.92932217e-11, -1.90895244e-11, -1.48129013e-08],
[2.02345668e-07, -5.04729873e-11, -1.21507664e-11, -6.26440637e-09],
[2.59661793e-08, -2.51846307e-11, -6.03516645e-12, -1.54349340e-09],
[6.89347083e-13, 6.83290031e-13, -5.69298697e-14, 7.52268204e-18],
[2.59895049e-08, -2.52264844e-11, -6.04518733e-12, 1.54841075e-09],
[2.02661517e-07, -5.06298315e-11, -1.21887251e-11, 6.29847485e-09],
[7.00441394e-07, -7.96478027e-11, -1.91752558e-11, 1.49217675e-08],
[1.72166873e-06, -1.12232853e-10, -2.70115093e-11, 2.80800108e-08],
[3.49929916e-06, -1.48242055e-10, -3.56660238e-11, 4.64085834e-08]]
[[ 3.55416974e-06, -1.49626896e-10, -3.59945621e-11, -4.65675860e-08],
[ 1.75504614e-06, -1.14112664e-10, -2.74625108e-11, -2.83292389e-08],
[ 7.16577429e-07, -8.14996162e-11, -1.96228377e-11, -1.51461032e-08],
[ 2.07916647e-07, -5.19869800e-11, -1.25199070e-11, -6.43052931e-09],
[ 2.67056326e-08, -2.58535066e-11, -6.20359298e-12, -1.58692924e-09],
[ 7.87383592e-13, 7.80210615e-13, -6.46005354e-14, 8.84600141e-18],
[ 2.67295620e-08, -2.58964360e-11, -6.21391407e-12, 1.59197636e-09],
[ 2.08240338e-07, -5.21480127e-11, -1.25589127e-11, 6.46545336e-09],
[ 7.18110068e-07, -8.18625471e-11, -1.97105925e-11, 1.52574035e-08],
[ 1.75973088e-06, -1.14770061e-10, -2.76211969e-11, 2.85857722e-08],
[ 3.56540626e-06, -1.50680035e-10, -3.62484502e-11, 4.70615011e-08]]
),
), "Values have drifted from expected results in spectral radiance"
14 changes: 7 additions & 7 deletions examples/2-clearsky-radiative-transfer/2-zeeman/5-zeeman-sun.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@
assert np.allclose(
res[::3, ::7],
np.array(
[[5333.26267148, 5333.26267148, 5333.26267148],
[ 17.53700177, 17.41842254, 17.45306884],
[ 17.60721343, 17.37046458, 17.44008522],
[ 17.67721853, 17.32271259, 17.4276346 ],
[ 17.7470159 , 17.27516828, 17.41571773],
[ 17.8166044 , 17.22783343, 17.40433539],
[ 17.88598287, 17.18070982, 17.39348841]])
[[5356.88051075, 5356.88051075, 5356.88051075],
[ 16.77380467, 16.66091577, 16.69389844],
[ 16.84063115, 16.61524188, 16.68151802],
[ 16.90725049, 16.56975243, 16.6696318 ],
[ 16.9736614 , 16.52444918, 16.65824055],
[ 17.03986264, 16.47933394, 16.64734506],
[ 17.10585295, 16.43440858, 16.63694619]])
)
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@

assert np.allclose(
res[1::3, 1::7],
np.array([[5771.99991010, 5771.99991010, 5771.99991010],
[643.69008277, 643.69008277, 643.69008277],
[643.69030757, 643.69030764, 643.69030764],
[643.69065708, 643.69065715, 643.69065728],
[643.69113428, 643.69113428, 643.69113441],
[643.69174257, 643.69174270, 643.69174290],
[643.69248695, 643.69248708, 643.69248747]]),
np.array([[5771.9999155 , 5771.9999155 , 5771.9999155 ],
[ 642.44289971, 642.44289971, 642.44289971],
[ 642.44286517, 642.44286517, 642.44286524],
[ 642.4428158 , 642.4428158 , 642.44281587],
[ 642.44275627, 642.44275634, 642.44275648],
[ 642.44269338, 642.44269352, 642.44269372],
[ 642.44263584, 642.44263598, 642.44263625]]),
)
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,12 @@ def single_propmat_agenda(ws):

# %% Tests

assert np.allclose(geometric.flatten()[::21], [ 1.25790011e+02, -5.83560523e-04, -2.57441702e-03, 6.19275327e-01,
1.38778854e+02, 1.03394079e-01, -2.12544902e-02, -5.28842204e-01,
1.29714406e+02, -4.56150073e-04])
assert np.allclose(geometric.flatten()[::21], [1.25486103e+02, -5.56777144e-04, -2.63816009e-03, 6.12431001e-01,
1.38429184e+02, 1.04834522e-01, -2.21549573e-02, -5.18205673e-01,
1.29365186e+02, -4.48679095e-04])

assert np.allclose(refractive.flatten()[::21], [ 1.25852437e+02, -5.89498878e-04, -2.56133152e-03, 6.19139312e-01,
1.38846218e+02, 1.03204818e-01, -2.10977115e-02, -5.31745645e-01,
1.29755973e+02, -4.48250955e-04])
assert np.allclose(refractive.flatten()[::21], [1.25552512e+02, -5.61580828e-04, -2.61219720e-03, 6.11932940e-01,
1.38488011e+02, 1.04448633e-01, -2.18946938e-02, -5.19985291e-01,
1.29439037e+02, -4.53301859e-04])

assert not np.allclose(geometric, refractive)
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
srad0 = copy(ws.spectral_rad)
path0 = copy(ws.ray_path)

ws.spectral_propmat_pathAdaptiveHalfPath(
ws.spectral_propmat_pathAddAdaptiveHalfPath(
max_stepsize=100., max_tau=0.05, cutoff_tau=3.0)
ws.spectral_radSetToBackground()
ws.spectral_radSinglePathEmissionFrequencyLoop()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,16 @@
assert np.allclose(
ws.spectral_rad[::100],
np.array(
[[2.27827137e+02, 4.25383355e-04, 1.02572576e-04, 5.68786105e-02],
[2.30903675e+02, 6.58907710e-04, 1.59056181e-04, 7.03618286e-02],
[2.34843808e+02, 1.16673733e-03, 2.82139773e-04, 9.33333640e-02],
[2.40395689e+02, 2.61325977e-03, 6.34093204e-04, 1.39982788e-01],
[2.49814591e+02, 9.73578780e-03, 2.38675267e-03, 2.69659401e-01],
[2.08998520e+02, 2.38211765e+01, 1.64703709e+00, 5.47032781e-06],
[2.49814023e+02, 9.73932829e-03, 2.38765002e-03, -2.69736936e-01],
[2.40394595e+02, 2.61506483e-03, 6.34538536e-04, -1.40059437e-01],
[2.34842230e+02, 1.16793738e-03, 2.82433194e-04, -9.34094305e-02],
[2.30901623e+02, 6.59812051e-04, 1.59276300e-04, -7.04379152e-02],
[2.27824619e+02, 4.26114226e-04, 1.02749992e-04, -5.69546795e-02]]
[[ 2.27693775e+02, 4.25360933e-04, 1.02565822e-04, 5.68301097e-02],
[ 2.30768818e+02, 6.59206212e-04, 1.59126898e-04, 7.03542474e-02],
[ 2.34709071e+02, 1.16721699e-03, 2.82253340e-04, 9.33505189e-02],
[ 2.40261444e+02, 2.61334904e-03, 6.34105246e-04, 1.39994110e-01],
[ 2.49682208e+02, 9.74388124e-03, 2.38851950e-03, 2.69924367e-01],
[ 2.09884932e+02, 2.41682141e+01, 1.73723873e+00, 5.54512081e-06],
[ 2.49681641e+02, 9.74742248e-03, 2.38941674e-03, -2.70001907e-01],
[ 2.40260352e+02, 2.61515400e-03, 6.34550524e-04, -1.40070740e-01],
[ 2.34707495e+02, 1.16841714e-03, 2.82546778e-04, -9.34265633e-02],
[ 2.30766769e+02, 6.60110278e-04, 1.59346947e-04, -7.04302732e-02],
[ 2.27691263e+02, 4.26090913e-04, 1.02743016e-04, -5.69060525e-02]]
),
), "Values have drifted from expected results in spectral radiance"
12 changes: 6 additions & 6 deletions examples/6-satellite-sensors/amsu-a.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,14 @@ def sensor_channels(channels, n):

for ch in channels:
# The range is [f_ref, 0], [f_ref, inf]
x = pa.arts.SensorHeterodyneFrequencyRange(ch.reference_hz, [0, np.inf])
x = pa.arts.sensor.HeterodyneFrequencyRange(ch.reference_hz, [0, np.inf])

# Zero or more mixes, which add more ranges follow.
for lo in ch.lo_offsets_hz:
x.mix(lo)

# The channel response is a simple boxcar with the specified bandwidth.
m = pa.arts.SensorBoxChannel(0, ch.bandwidth_hz / 2, n)
m = pa.arts.sensor.BoxChannel(0, ch.bandwidth_hz / 2, n)
v = x.channel_response(m)

out.append(v)
Expand All @@ -84,7 +84,7 @@ def extract_channels(spectral_rad, measurement_sensor):


# %% Download data and set up workspace
ws = pa.workspace.Workspace()
ws = pa.Workspace()
pa.data.download()

# %% Use built-in spectroscopic data.
Expand All @@ -101,7 +101,7 @@ def extract_channels(spectral_rad, measurement_sensor):
ws.ray_path_observer_agendaSetGeometric()

# %% Simple sensor setup: position, line-of-sight, polarization, and channels.
sensor = pa.arts.SensorBuilder(channels=sensor_channels(CHANNELS, SAMPLES_PER_CHANNEL))
sensor = pa.arts.sensor.Builder(channels=sensor_channels(CHANNELS, SAMPLES_PER_CHANNEL))
ws.measurement_sensor, ws.measurement_sensor_meta = sensor(POS, LOS)

for i in range(len(ws.measurement_sensor)):
Expand Down Expand Up @@ -170,8 +170,8 @@ def extract_channels(spectral_rad, measurement_sensor):
if "ARTS_HEADLESS" not in os.environ:
plt.show()

ref = [294.813805535829, 297.18778420039365, 283.26228661223786, 262.0365042504266, 244.4836135697355, 226.2694109308727, 216.11284609241537,
209.72414936956548, 210.3336073749979, 219.42825163097098, 230.06432799428234, 241.47556633001957, 252.6256887712745, 261.4587517221863, 292.20874260781585]
ref = [294.82020426974526, 297.1947623380882, 283.302312755353, 262.0990916297846, 244.54610199393989, 226.31688048929024, 216.13528849096693,
209.71768967552475, 210.24931675027358, 219.3006268679223, 229.9146206010939, 241.32757369987274, 252.48941437009185, 261.41619227415606, 292.22500426558753]

assert np.allclose(ws.measurement_vec, ref), \
f"Mismatch to reference simulations.\nReference: {ref}\nSimulations: {ws.measurement_vec:B,}"
8 changes: 4 additions & 4 deletions python/src/pyarts3/plots/SensorObsel.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,10 +332,10 @@ def plot(data: pyarts.arts.SensorObsel,
import pyarts3 as pyarts
import numpy as np

ant = pyarts.arts.SensorGaussianAiryAntenna(np.linspace(0, 1, 11),
np.linspace(0, 330, 12),
0.3)
ch = pyarts.arts.SensorDiracChannel(100e9)
ant = pyarts.arts.sensor.GaussianAiryAntenna(np.linspace(0, 1, 11),
np.linspace(0, 330, 12),
0.3)
ch = pyarts.arts.sensor.DiracChannel(100e9)
obsel = ant(ch, [1, 0, 0], [90, 0])

pyarts.plots.SensorObsel.plot(obsel, polar=True, point_spread=True)
Expand Down
16 changes: 13 additions & 3 deletions python/src/pyarts3/utils/time_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,12 +169,22 @@ def time_report_table(res, dt, unit):
A string containing the time report in Markdown table format.
"""

if len(res) == 0:
return "No methods to report."

keys = np.array(list(res.keys()))
vs = np.array([dt[key][1] for key in keys])
keys = keys[np.argsort(vs)][::-1]
maxl = max(6, max([len(key) for key in keys]))
N = 20

def pad(s, n = N, r=False):
s = str(s)
padding = ' ' * (n - len(s))
return padding + s if r else s + padding

out = f"| Method | Total Time [{unit}] | Min Time [{unit}] | Max Time [{unit}] | Average Time [{unit}] | Times Called |\n"
out += "| --------- | ------------ | ------------ | -------- | ------------ | ------------ |\n"
out = f"| {pad('Method', maxl)} | {pad(f"Total Time [{unit}]")} | {pad(f"Min Time [{unit}]")} | {pad(f"Max Time [{unit}]", N)} | {pad(f"Average Time [{unit}]")} | {pad("Times Called")} |\n"
out += f"| {'-' * maxl} | {'-' * N} | {'-' * N} | {'-' * N} | {'-' * N} | {'-' * N} |\n"

for key in keys:
numc = len(res[key])
Expand All @@ -183,6 +193,6 @@ def time_report_table(res, dt, unit):
mint = min(dts)
maxt = max(dts)
tott = dt[key][1]
out += f"| {key} | {round(tott,1)} | {round(mint,1)} | {round(maxt,1)} | {round(avgt,1)} | {numc} |\n"
out += f"| {key:<{maxl}} | {pad(round(tott,1), r=1)} | {pad(round(mint,1), r=1)} | {pad(round(maxt,1), r=1)} | {pad(round(avgt,1), r=1)} | {pad(numc, r=1)} |\n"

return out
1 change: 1 addition & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ add_library(artsworkspace STATIC
m_partfun.cc
m_planets.cc
m_ppvar.cc
m_profile.cc
m_propagation_path.cc
m_propagation_path_observer.cc
m_propmat.cc
Expand Down
2 changes: 1 addition & 1 deletion src/core/absorption/cia.cc
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ void cia_interpolation(VectorView result,
default: T_order = 3; break;
}

using id = lagrange_interp::identity;
using id = lagrange_interp::grid_identity;

// Find frequency grid positions:
const auto f_lag = lagrange_interp::make_lags<f_order, id>(
Expand Down
2 changes: 1 addition & 1 deletion src/core/absorption/xsec_fit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ void XsecRecord::Extract(VectorView result,

{
const auto f_gp =
lagrange_interp::make_lags<1, lagrange_interp::identity>(
lagrange_interp::make_lags<1, lagrange_interp::grid_identity>(
f_grid_active, data_f_grid_active, 0.5, "Frequency");
const auto f_itw = reinterpweights(f_gp);

Expand Down
Loading
Loading