dkist-processing-cryonirsp 0.0.65__tar.gz → 0.0.66__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dkist-processing-cryonirsp might be problematic. Click here for more details.

Files changed (122) hide show
  1. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/CHANGELOG.rst +10 -0
  2. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/PKG-INFO +1 -1
  3. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/models/parameters.py +5 -1
  4. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/write_l1.py +28 -0
  5. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/conftest.py +2 -1
  6. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_parameters.py +17 -0
  7. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_write_l1.py +1 -0
  8. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp.egg-info/PKG-INFO +1 -1
  9. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/.gitignore +0 -0
  10. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/.pre-commit-config.yaml +0 -0
  11. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/.readthedocs.yml +0 -0
  12. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/README.rst +0 -0
  13. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/SCIENCE_CHANGELOG.rst +0 -0
  14. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/bitbucket-pipelines.yml +0 -0
  15. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/changelog/.gitempty +0 -0
  16. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/check_changelog_updated.sh +0 -0
  17. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/__init__.py +0 -0
  18. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/config.py +0 -0
  19. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/models/__init__.py +0 -0
  20. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/models/constants.py +0 -0
  21. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
  22. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/models/tags.py +0 -0
  23. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/models/task_name.py +0 -0
  24. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
  25. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
  26. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
  27. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
  28. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
  29. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
  30. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
  31. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
  32. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
  33. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
  34. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/time.py +0 -0
  35. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/parsers/wavelength.py +0 -0
  36. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
  37. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
  38. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
  39. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
  40. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
  41. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
  42. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
  43. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
  44. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
  45. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
  46. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
  47. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/linearity_correction.py +0 -0
  48. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
  49. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
  50. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/mixin/beam_access.py +0 -0
  51. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
  52. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/mixin/intermediate_frame.py +0 -0
  53. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/mixin/linearized_frame.py +0 -0
  54. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
  55. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
  56. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
  57. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
  58. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
  59. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
  60. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
  61. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
  62. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tasks/trial_output_data.py +0 -0
  63. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
  64. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
  65. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
  66. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
  67. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
  68. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
  69. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
  70. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
  71. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
  72. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
  73. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
  74. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
  75. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
  76. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
  77. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
  78. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
  79. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
  80. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +0 -0
  81. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +0 -0
  82. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
  83. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_parse.py +0 -0
  84. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
  85. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
  86. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
  87. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
  88. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
  89. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
  90. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
  91. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_trial_output_data.py +0 -0
  92. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
  93. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
  94. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
  95. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
  96. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
  97. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -0
  98. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
  99. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp.egg-info/requires.txt +0 -0
  100. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
  101. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/Makefile +0 -0
  102. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/bad_pixel_calibration.rst +0 -0
  103. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/beam_angle_calculation.rst +0 -0
  104. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/beam_boundary_computation.rst +0 -0
  105. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/changelog.rst +0 -0
  106. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/ci_science_calibration.rst +0 -0
  107. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/conf.py +0 -0
  108. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/index.rst +0 -0
  109. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
  110. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
  111. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/linearization.rst +0 -0
  112. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/make.bat +0 -0
  113. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/requirements.txt +0 -0
  114. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/requirements_table.rst +0 -0
  115. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/scientific_changelog.rst +0 -0
  116. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/docs/sp_science_calibration.rst +0 -0
  117. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/licenses/LICENSE.rst +0 -0
  118. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/pyproject.toml +0 -0
  119. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/science_towncrier.sh +0 -0
  120. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/setup.cfg +0 -0
  121. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/setup.py +0 -0
  122. {dkist_processing_cryonirsp-0.0.65 → dkist_processing_cryonirsp-0.0.66}/towncrier_science.toml +0 -0
@@ -1,3 +1,13 @@
1
+ v0.0.66 (2024-06-11)
2
+ ====================
3
+
4
+ Misc
5
+ ----
6
+
7
+ - Cast linearization threshold values to float 32 if they are found to be float64. (`#122 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/122>`__)
8
+ - Add CRYO-NIRSP arm ID to the L1 filename. (`#131 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/131>`__)
9
+
10
+
1
11
  v0.0.65 (2024-06-04)
2
12
  ====================
3
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist_processing_cryonirsp
3
- Version: 0.0.65
3
+ Version: 0.0.66
4
4
  Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
5
5
  Home-page: https://bitbucket.org/dkistdc/dkist_processing_cryonirsp/src/main/
6
6
  Author: NSO / AURA
@@ -142,7 +142,11 @@ class CryonirspParameters(ParameterBase):
142
142
  def linearization_thresholds(self) -> np.ndarray:
143
143
  """Name of parameter associated with the linearization thresholds."""
144
144
  param_dict = self._find_parameter_for_arm("cryonirsp_linearization_thresholds")
145
- return self._load_param_value_from_npy_file(param_dict)
145
+ value = self._load_param_value_from_npy_file(param_dict)
146
+ # float64 data can blow up the memory required for linearization - convert to float32
147
+ if np.issubdtype(value.dtype, np.float64):
148
+ value = value.astype(np.float32, casting="same_kind")
149
+ return value
146
150
 
147
151
  @cached_property
148
152
  def linearization_polyfit_coeffs(self) -> np.ndarray:
@@ -189,6 +189,34 @@ class CryonirspWriteL1Frame(WriteL1Frame, ABC):
189
189
  f"Was supposed to be inserted during science calibration."
190
190
  ) from e
191
191
 
192
+ def l1_filename(self, header: fits.Header, stokes: Literal["I", "Q", "U", "V"]):
193
+ """
194
+ Use a FITS header to derive its filename in the following format.
195
+
196
+ instrument_arm_datetime_wavelength__stokes_datasetid_L1.fits.
197
+
198
+ This is done by taking the base filename and changing the instrument name to include the arm.
199
+
200
+ Example
201
+ -------
202
+ "CRYO-NIRSP_CI_2020_03_13T00_00_00_000_01080000_Q_DATID_L1.fits"
203
+
204
+ Parameters
205
+ ----------
206
+ header
207
+ The input fits header
208
+ stokes
209
+ The stokes parameter
210
+
211
+ Returns
212
+ -------
213
+ The L1 filename including the arm ID
214
+ """
215
+ base_l1_filename = super().l1_filename(header, stokes)
216
+ return base_l1_filename.replace(
217
+ self.constants.instrument, f"{self.constants.instrument}_{self.constants.arm_id}"
218
+ )
219
+
192
220
 
193
221
  class CIWriteL1Frame(CryonirspWriteL1Frame):
194
222
  """
@@ -93,6 +93,7 @@ def init_cryonirsp_constants_db():
93
93
  if is_dataclass(constants_obj):
94
94
  constants_obj = asdict(constants_obj)
95
95
  constants = CryonirspConstants(recipe_run_id=recipe_run_id, task_name="test")
96
+ constants._purge()
96
97
  constants._update(constants_obj)
97
98
  return
98
99
 
@@ -261,7 +262,7 @@ LINEARIZATION_THRESHOLDS_SP = "cryonirsp_linearization_thresholds_sp.npy"
261
262
 
262
263
 
263
264
  def _create_parameter_files(param_path: Path) -> None:
264
- thresh = np.ones((10, 10), dtype=np.float32) * 100.0
265
+ thresh = np.ones((10, 10), dtype=np.float64) * 100.0
265
266
  np.save(os.path.join(param_path, LINEARIZATION_THRESHOLDS_CI), thresh)
266
267
  np.save(os.path.join(param_path, LINEARIZATION_THRESHOLDS_SP), thresh)
267
268
 
@@ -184,3 +184,20 @@ def test_other_parameters(basic_science_task_with_parameter_mixin):
184
184
  ):
185
185
  continue
186
186
  assert pv == getattr(task_params, pn.removeprefix("cryonirsp_"))
187
+
188
+
189
+ @pytest.mark.parametrize("arm", [pytest.param("CI"), pytest.param("SP")])
190
+ def test_linearization_threshold_parameters(
191
+ basic_science_task_with_parameter_mixin, arm, init_cryonirsp_constants_db
192
+ ):
193
+ """
194
+ Given: A Science task with the parameter mixin
195
+ When: Accessing properties for the linearization thresholds
196
+ Then: The correct type is returned
197
+ """
198
+ task, _ = basic_science_task_with_parameter_mixin
199
+ recipe_run_id = task.recipe_run_id
200
+ init_cryonirsp_constants_db(recipe_run_id, CryonirspConstantsDb(ARM_ID=arm))
201
+ linearization_threshold_array = task.parameters.linearization_thresholds
202
+
203
+ assert linearization_threshold_array.dtype == np.float32
@@ -168,6 +168,7 @@ def test_write_l1_frame(write_l1_task, mocker, arm_id, num_stokes_params, num_ma
168
168
  assert len(output_files) == 1
169
169
  output_file = output_files.pop()
170
170
  assert output_file.exists
171
+ assert output_file.name.startswith(f"CRYO-NIRSP_{arm_id}_")
171
172
  assert spec214_validator.validate(output_file, extra=False)
172
173
  hdu_list = fits.open(output_file)
173
174
  header = hdu_list[1].header
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist-processing-cryonirsp
3
- Version: 0.0.65
3
+ Version: 0.0.66
4
4
  Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
5
5
  Home-page: https://bitbucket.org/dkistdc/dkist_processing_cryonirsp/src/main/
6
6
  Author: NSO / AURA