KOMPOTpy 0.0.1
A package that should make the analysis of KOMPOT tables easier for my Master's thesis.
Requires Python: >=3.9

# KOMPOTpy
A package that should make the analysis of KOMPOT tables easier for my Master's thesis.

Logo and name still in progress

Requirements:

- The package shall provide the possibility to read in output-tables generated by the KOMPOT code.
- The package shall provide a way to switch between cgs-units (which the KOMPOT code uses) and SI-units. [NOT YET IMPLEMENTED]
- The package shall contain a function/method to calculate the integrated flux in the UV-A, -B, and -C bands at any given atmospheric height.
- The package shall contain a function/method to calculate the integrated flux in any arbitrary wavelength-range at any given atmospheric height.
- The package should, if feasible, contain a function/method that takes the calculated integrated flux over a given wavelength-range and return whether given microbes could survive this radiation or not. [NOT YET IMPLEMENTED]

User Stories:

Main Functionality:

- Dr. Henry Jekyll is an astronomy student working on his Master's thesis, for which he has to work with output tables generated by the KOMPOT-code. To work with this data, he needs to access the KOMPOT tables for further analysis, which would be easiest by creating a class for this type of table.
- Mr. Edward Hyde, who is a completely different person and is in no way related to Dr. Jekyll from the previous user story, also just so happens to be an astronomy student, working with KOMPOT-tables for his Master's thesis. Mr. Hyde wants to find out whether microbes can survive in the clouds of Venus. To do this, he needs a function that calculates the integrated flux in certain wavelength-ranges (especially UV-A, -B and -C) at a given atmospheric height.

Edge-Cases [NOT YET IMPLEMENTED]:

- Aragorn, son of Arathorn, Isildur's heir and the rightful king of the Reunited Kingdom of Gondor and Arnor is also working with the KOMPOT code for unrelated reasons as a side-project. He has not had much time next to his duties as king and has thus not familiarised himself very well with the KOMPOT output tables and makes the mistake of inputting a wavelength-range that is not covered by the code. For this reason there should be a built-in contingency that tells him that his selected wavelength range is not (fully) contained in the table.
- Gimli, son of Gloin, the Elf-friend and Lord of the Glittering Caves of Aglarond tries accessing a non-KOMPOT table of a different format with the KOMPOT-table class. This should result in Gimli getting an error message telling him that the input table is of the wrong format to prevent confusion/wrong outputs.
- Legolas of the Woodland-Realm wants to calculate some integrated fluxes and has neglected to read through the documentation, so he doesn't know that the integrated flux he calculated is in cgs-units. To prevent this, there should be an easy way to check the units of the different parameters in the table.

Mock Code Example:

- Example of accessing a table and receiving the integrated flux:

input_table_path = [PATH]

KOMPtab = KOMPOT_table(input_table_path)

KOMPtab.integrated_flux("UV-A", 65, SI = True)

-> Returns integrated flux in UV-A range at height of 65 kilometers in SI units (if SI = False, returns the flux in cgs instead)