jacobwilliams/odepack

Would this modernization of ODEPACK be worth continuing?

Closed this issue · 9 comments

wget 'http://www.urbanjost.altervista.org/REMOVE/M_odepack_20220130.tgz'

I used this version of ODEPACK as something to test taking an older package and converting it to more-maintainable modern syntax/fpm/ford. I completed enough to get the answers I wanted.

(primarily I wanted to try the trial plusFORT package on something that might be of interest to the OpenSource community, while evaluating what we might do with a commercial license where I work, (where using the trial version would be complicated (with a capital C)).

It needs further work, especially a more rigorous unit test suite; and there are some tricky issues to clean up with using scratch space for multiple types. A lot has been done but there is a lot to do to do this right. If you get time let me know if this is something you want, or if you think work on it should continue if you do not want it? I do not plan on doing anything more with it myself (not even a user of ODEPACK) unless it is valuable to continue; but rather than let what I did get done go to waste I wanted to get some thoughts on what use this might have. Not really sure if you use it either; but I did start with your package.

This is great! Yes, I would like to study this. I do use ODEPACK and this looks like it would be great to continue with what you have.

Can I commit it here in this repo, or would you like to make a new one?

I was hoping it looked useful enough for you to host.

I could make a new one, I am familiar with that and have several but I really do not have any personal major use for it in the foreseeable future ( I was using it more to evaluate the process of updating it starting with fortPLUS/spag and purposely picked something I was not particularly familiar with)

If it is useful to the OS programming community I can continue; because the plusFORT license was for a limited time I rushed a bit and I did not create a unit test suite first but I was reasonably careful and it still gets the same answers with the original tests, although they needed slight tweeks to conform to the standard usage now enforced by the module interface.

So I was looking for someone to host it that knows more about it. I could help finish up some of the documentation changes. The spag utility was great with standard-conforming older code but I did find a problem where if external procedures are being passed and not the last arguments that subsequent intents might be in error and so need looked at or rerun once a fix (in progress) is available to double-check the intents, otherwise (although no compiler complained) the intent in those routines can be removed or verified some other way. The most vexing problem is to untangle the use of the scratch working array so the last few procedures can be placed in the module, that memory use is the last non-standard coding I am aware of. Busy work is to get all the documentation in a form that works with ford, and to possibly make a script that extracts the resulting markdown text and runs it through pandoc to automatically make a user manual external to ford (I wish ford did that).

So -- was hoping you would host it. If not, if it is useful I can host it but I would want others to group develop it. Otherwise I will try to polish it up as a time-permits project.

I did a little more on the documentation in M_odepack_20220201.tgz. So "yes", "no", "maybe"?

Terrific! Yes I'll host it here. Later tonight I'll grab your latest file and just commit everything. I can also add you as a maintainer of this repo.

Great. I just pushed some documentation changes. Curious if you get a chance to run any cases other than the ones in the package what the results are like. I was going to extract the examples from the help text to add a few more test cases as a simple project.

ok I merged into master (I committed as you, hope that was ok). Also added you as a collaborator so I think that should give you push access?

Yep, when I get time I want to experiment with this and I can run some test cases.

Perfect. Nice logo! I extracted the examples (found a typo in one I introduced which I will correct later) from the documentation and updated them and will try a push to put them into a test/ directory. They differ slightly from the values in the documentation but I think (so far) it is a reasonable deviation from the CDC 60-bit results.

Appears to be good. test/ directory PR worked.

Great! Closing this issue.