husseinaluie / FlowSieve

FlowSieve coarse-graining code base
https://flowsieve.readthedocs.io/en/latest/
Other
18 stars 9 forks source link

Specify minimum requirements for installation in documentation #23

Closed ashwinvis closed 1 year ago

ashwinvis commented 1 year ago

The ones I have found so far...

bastorer commented 1 year ago

Expanding on the list a bit before I add it into the documentation

Not required for FlowSieve, but required for the Tutorials (specified in Tutorials/environment.yml). May not require these specific version, but tested with these versions.

ashwinvis commented 1 year ago

Seems like I have those... will update if I discover something on my end once #24 is fixed.

ashwinvis commented 1 year ago

Seems like

is also required to compile. Here is the Nix file I used to compile

❯ cat default.nix 
# Use `nix-shell --pure` to verify if the listed dependencies are sufficient or not
{ pkgs ? import <nixpkgs> {} }:

let
  shell = pkgs.mkShell {
    name = "flowsieve-nix-dev";

    packages = [
      pkgs.mpi
      pkgs.pkg-config
      pkgs.netcdf-mpi
      pkgs.hdf5-mpi
      pkgs.gcc9
      pkgs.curl
    ];

    # cp -f ${builtins.getEnv "PWD"}/Systems/Graham.mk system.mk
    shellHook = ''
      make clean
      OMPI_CXX=$(command -v g++) make -j Case_Files/coarse_grain.x
    '';
  };
in shell
bastorer commented 1 year ago

I've added a section to the Install documentation outlining these library requirement. Thanks for the suggestion!

I'm not familiar with Nix (or other library image tools), but I'll look into them a bit. I tend to shy away from compiling libraries mostly because it seems daunting, but the improved portability would be nice.

ashwinvis commented 1 year ago

I dont expect you to use Nix, I simply shared it for future reference. It fetches precompiled builds of libraries.and gives an isolated shell. It was handy for me to track down dependencies.

bastorer commented 1 year ago

That's great, thanks!

ashwinvis commented 1 year ago

I see that it updated in https://flowsieve.readthedocs.io/en/latest/install1.html, so this issue can be closed.