Updates to Fortran/Python Code and use of gitHub

Over the past couple of weeks I have been making improvements to the Fortran code and I made use of github.

For the Fortran code, I made the following updates:

1) Transitioned the code to version 3.  This includes making each logical program segment into a separate subroutine, and having the main program perform a list of calls to the individual subroutines.

2) I have modified the code so that it make an initial passthrough to count the number of elements.  This obviates the need to enter this information on the command line.

For the Python code, I have made the following updates:

1) I have modified the Python code so that it takes in comma separated, floating point values in “E” format, i.e. 3.14159E0, and translates it into fixed floating point with 20 digits of precision.  The 20 digits is done for compatibility and an attempt to eliminate round-off errors.

Use of gitHub:

1) Recently, I have the need to be able to work remotely from home.  This immediately opened the thorny issue of revision control for a fairly complex directory tree.  After trying a number of configurations of github, I settled on having the entire website directory to be what is tracked.  So if I make a change to any html file, both my laptop and server will have a common repository to work off of.  Since the Fortran/Python code that is displayed on the website resides in a code directory underneath the main HTML directory, any changes to the Fortran/Python code will also be tracked automatically by git.  This also enables the Free Open-Source Software philosophy, since my repo is open to the public.

The repo is at:

https://github.com/markkhusid/MKDynamics_website

Progress made today

Today I used Scilab to generate a discretized sine wave and save the data into a CSV (comma separated value) file.  The CSV file was then processed by a Python script that stripped away the commas and put each data element on a new line.  The processed data file was then fed into my Fortran program that read the file in and performed a discretized fast Fourier transform on the data, and output the magnitude into a text file.  The magnitude text file contained one data element per line.  Finally, the magnitude data file is plotted using GNUplot to assess whether the results of the entire operation make sense.