This model solves for image positions, magnifications, and time delays
for a gravitationally lensed system using a singularly isothermal
elliptical potential (SIEP) model. We follow Keeton's conventions for
orientation and handedness, so position angle is measured in degrees
East of North (see
https://www.physics.rutgers.edu/~keeton/gravlens/manual.pdf). Our code
reproduces the results of Keeton's code for the SIEP model. There are
two modes: predicting from source and predicting from a single image
point.  There are two methods to use the code: from the command line
or as a Python wrapper from the original C++.


INPUT FILE FORMAT

For predicting from an image point, the input file should have the following input values, space-separated, in the order:
x_lens, y_lens, x_image, y_image, ellipticity, Einstein radius, position angle, D_ol, D_ls, zlens, zsource.
Einstein radius and all detector positions are in arcseconds, position angle is in degrees, and angular diameter distance is 
in h^{-1} Mpc. See 2025wny_input_model_imageA.in for an example with the 2025wny supernova and a single image point.

For predicting from a source, the input file should have the following input values, space-separated, in the order:
x_lens, y_lens, x_source, y_source, ellipticity, Einstein radius, position angle, D_ol, D_ls, zlens, zsource.
Einstein radius and all detector positions are in arcseconds, position angle is in degrees, and angular diameter distance is 
in h^{-1} Mpc. See 2025wny_input_model_source.in for an example with the 2025wny supernova.



RUNNING THE PROGRAM FROM THE COMMAND LINE

The program is contained in the executable "isit4or2or1". To run it from the terminal, navigate into the folder containing "isit4or2or1" and run

>> ./isit4or2or1 input_file.in

for a given input file "input_file.in". By default, isit4or2or1
assumes you are predicting from an image point. To predict from a
source, toggle the --source or -s flag. For example, the input file
"2025wny_input_model_source.in" includes the source position as an
input, so the command is

>> ./isit4or2or1 2025wny_input_model_source.in -s

By default, results are written to output.out. To change the name of
the output file, use the --output or -o option. For example, the
command

>> ./isit4or2or1 2025wny_input_model_source.in -o 2025wny.out -s

runs the program on the "2025wny_input_model_source.in" file and
writes output to "2025wny.out". Lastly, the --print or -p flag toggles
whether to print the results to the terminal in addition to writing to
an output file.

