feedback from a new user
Created originally on Bitbucket by apatlpo (Aurelien LPO)
After about a week spent on the development of fluidsim_ocean, here are various feedbacks from the experience. Things went pretty smoothly overall, I'll highlight what was more difficult the goal being to provide leads for improvements of the library.
-
mercurial: I am git user and had never used mercurial before. It's only natural then to wish the project was versioned with git. It's installed by default on my computing platforms (laptop, dekstop, cluster) unlike mercurial. The usage of mercurial was fairly trivial though as I have been so far pretty much the only one committing. I do not know if this would extend to a situation where multiple users would commit or to a situation where I wanted to work on different issues independently. I am sure mercurial has an equivalent of the branch concept but I did not find anything straightforward.
-
bitbucket: I have recently hosted all my codes on github and am fairly happy about it. Notifications seem more fluid to me there and I like the live update of issue threads which transforms in live chat rooms. I feel code have more exposure when they are on github. Notably I would not think about searching for code on bitbucket while I do on github.
-
install: ease of installs is critical to attract users and unfortunately I've got to admit I got confused in order to install fluidsim. I count 4 webpages (1, 2, 3, 4) that give partly overlapping information about how to install the library and that are each fairly rich in information. My vision of a good install is a one or two line, I can't help to think it would be useful to have a dedicated conda environment. Note that I am not sure how involved it is to do that. A simple
pip install fluidsim
would be nice too, but it is not working for me on osx. -
call tree: I've got to admit that after some time developing fluidsim_ocean, my vision of fluidsim call tree is still pretty blurry. The intensive use of class inheritance is probably responsible for this. It would nice to have a better explanation for it.
-
user implementations of forcing, outputs:
-
outputs postprocessing:
I'll most like be updating this over the next weeks.