Hi Andy,
1.a - Anaconda does indeed have its own set of packages/libraries, so yes, there is a lot of duplication. But this does ensure Anaconda had exactly the libraries it needs. For the Mac, it actually is our recommended method of installing PyFerret.
1.b - On multiple occasions I have had no problem installing PyFerret using the instructions in the README.md in
https://github.com/NOAA-PMEL/PyFerret under the Anaconda Installation. (So the "/my/path/to/miniconda/bin/conda create -n FERRET -c conda-forge pyferret ferret_datasets --yes" command where "/my/path/to/miniconda" is replaced appropriately. Note that there is no anaconda package for traditional Ferret.) Often I then create a script called "pyferret" somewhere in the user's path (typically in $HOME/bin/) containing to conda commands to activate the FERRET environment and run the anaconda pyferret:
#! /bin/sh
. /my/path/to/miniconda/bin/activate FERRET
/my/path/to/miniconda/envs/FERRET/bin/pyferret $*
(again, substituting /my/path/to/miniconda appropriately; remember to make the script executable - "chmod 755 pyferret") which allows the user to run PyFerret without having to worry about being in a bash shell and activating the environment.
1.c - I do not know if there are any conflicts with having both MacPorts and Anaconda. I am not sure if that might have been a source of complications for you.
2.a - It would be nice if there was a proper "configure" for PyFerret (and possibly Ferret), but we just haven't had time available to put that together. With the Anaconda build available, there is even less pressure to work on that.
2.b - FC is defined in platform_specific.mk.intel-mac and could be changed there. What is there sets FC to the reply of the shell command "which gfortran".
2.c - If you wish to use NetCDF dynamic/shared libraries instead of static libraries, leave the definition of HDF5_LIBDIR empty in the
site_specific.mk file. (This goes for either traditional Ferret or PyFerret.) If you are building for you own system (and not a distribution), one probably should use the dynamic/shared libraries; I need to update the documentation example. With HDF5_LIBDIR empty, the flags to link in the NetCDF libraries then becomes "-L$(NETCDF_LIBDIR) -lnetcdff -lnetcdf" (thus, leaves it up to the compiler to figure it out).
Karl
Karl M. Smith, Ph.D.
JISAO Univ. Wash. and PMEL NOAA
"The contents of this message are mine personally and do
not necessarily reflect any position of the Government
or the National Oceanic and Atmospheric Administration."