lowtran | LOWTRAN atmospheric absorption extinction , scatter
kandi X-RAY | lowtran Summary
kandi X-RAY | lowtran Summary
LOWTRAN7 atmospheric absorption extinction model. Updated by Michael Hirsch to be platform independent and easily accessible from Python ≥ 3.6 and Matlab. The main LOWTRAN program has been made accessible from Python by using direct memory transfers instead of the cumbersome and error-prone process of writing/reading text files. xarray.Dataset high-performance, simple N-D array data is passed out, with appropriate metadata.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Helper function to read horizontal path
- Helper function for looping
- Build CMake files
- Convert nm and longitude to lm
- Import a f2py module
- Setup the lowtran dataset
- Plots the transit spectrum
- Loop through all the angles
- Calculate irradiance
- Plot irradiance
- Calculate the heatmap for a horizontal path
- Calculate the user - oriented transmittance matrix
- Plot irradiance spectrum
- Determine the minimum number of nm and longitude
- Plot the transmission
- Plot a horizontal horizontal transformation
- Transmittance matrix
lowtran Key Features
lowtran Examples and Code Snippets
Community Discussions
Trending Discussions on lowtran
QUESTION
I am working on a very old, fortran 77 code called LOWTRAN.
It basically is a simulation tool used to model atmospheric light propagation.
(if you wish to see the complete lowtran code you can check it out here though I dont think it will help in answering the question).
Unfortunately, as that code was originally made for punch-cards, it was adapted for modern input/output methods and that created a few nasty glitches.
Those glitches are of the easy to spot/hard to fix kind.
In order to fix one of them i had no other choice than to setup an IF statement, which contains a GOTO that goes outside the IF statement, somwere else in the code.
However, Sometimes, the GOTO itself causes a segmentation fault. It does not happend randomly, it rather depends on a few variables that seem unrelated to that IF statement.
I am compiling this project on two different machines and one does not segfault. Both use gfortran On the windows Machine (the one that does not segfault) i use gfortran 7.2.0 and on the Linux Machine (the one that has segfaults) i use gfortran 4.8.5
(i can't update the gfortran version on the linux machine as i dont have the required rights)
Note that Both compilers obviously raise a warning when i compile my fix:
...ANSWER
Answered 2019-Aug-23 at 09:39The code that the computer runs is not your source code, but rather machine code. The compiler generates that machine code from your source code. The generation can be more or less direct, so one statement of your source code corresponds to a few contiguous machine code instructions. But it need not be direct. In particular, if the compiler provides optimizations, the correspondence between lines of your source code and the machine code instructions can break down. In that case, the line that a debugger reports as the location of the SEGV can be wrong.
The simple implementation of a GOTO statement is an unconditional jump machine code instruction, jumping to a valid code address. That simple implementation would never result in a SEGV. You might be tempted to blame your compiler for being buggy, but that would be a mistake. Compiler optimzation has probably confused things. You probably have a fault in an array access near that GOTO statement, or the code just after its destination (the statement labelled 100).
Try recompiling your program with optimizations turned off (typically with a command-line option like -O0
) and rerunning your program. You should then see the SEGV reported at the line where there is an invalid array access.
QUESTION
I am using DB2 LUW v11.1 with BLU acceleration.
When I run the following code, I got the error "DB21018E A system error occurred. The command line processor could not continue processing."
...ANSWER
Answered 2017-Feb-10 at 14:53As suggested by my group's db expert, I used old fashioned way to create the table, then used "load from cursor" (suggested by @mustaccio) to populate the table from select ...
.
The following is how the new script looks like and it succeeded this time:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install lowtran
If a Fortran compiler is not already installed, install Gfortran: Linux: apt install gfortran Mac: brew install gcc Windows use MSYS2 or MinGW to get Gfortran. Windows only: from Powershell: echo "[build]`ncompiler=mingw32" | Out-File -Encoding ASCII ~/pydistutils.cfg Note: Cygwin is essentially obsolete due to Windows Subsystem for Linux. Cygwin is broken for Numpy and Gfortran and general.
Install Python Lowtran code pip install -e .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page