Input validation#
import sasktran2 as sk
By default, input parameters to SASKTRAN2 are validated at runtime, which can help to catch common mistakes. For example, let’s try to setup a calculation where the geometry object does not contain an ascending altitude grid,
import sasktran2 as sk
import numpy as np
config = sk.Config()
model_geometry = sk.Geometry1D(cos_sza=0.6,
solar_azimuth=0,
earth_radius_m=6372000,
altitude_grid_m=[0, 1000, 500, 2000],
interpolation_method=sk.InterpolationMethod.LinearInterpolation,
geometry_type=sk.GeometryType.Spherical)
[2024-07-12 15:27:29.346] [critical] Invalid altitude grid: must be strictly increasing
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
Cell In[2], line 6
2 import numpy as np
4 config = sk.Config()
----> 6 model_geometry = sk.Geometry1D(cos_sza=0.6,
7 solar_azimuth=0,
8 earth_radius_m=6372000,
9 altitude_grid_m=[0, 1000, 500, 2000],
10 interpolation_method=sk.InterpolationMethod.LinearInterpolation,
11 geometry_type=sk.GeometryType.Spherical)
RuntimeError: Invalid input. Check log for more information
Input validation can cause a slight runtime performance overhead. In cases where you are confident that the input parameters are valid, the expensive components of input validation can be disabled by setting
config.input_validation_mode = sk.InputValidationMode.Disabled