{"id":41362504,"url":"https://github.com/teuben/nemo","last_synced_at":"2026-01-23T07:50:41.882Z","repository":{"id":37333936,"uuid":"115005499","full_name":"teuben/nemo","owner":"teuben","description":"a Stellar Dynamics Toolbox (Not Everybody Must Observe)","archived":false,"fork":false,"pushed_at":"2026-01-19T13:45:11.000Z","size":49000,"stargazers_count":74,"open_issues_count":87,"forks_count":52,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-01-19T19:49:12.280Z","etag":null,"topics":["fits-files","galactic-astronomy","image-analysis","nbody-gravity","orbital-simulation","tabular-data"],"latest_commit_sha":null,"homepage":"https://astronemo.readthedocs.io","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teuben.png","metadata":{"files":{"readme":"README.install","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-12-21T12:51:18.000Z","updated_at":"2026-01-19T13:45:16.000Z","dependencies_parsed_at":"2025-09-25T10:22:28.551Z","dependency_job_id":null,"html_url":"https://github.com/teuben/nemo","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/teuben/nemo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teuben%2Fnemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teuben%2Fnemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teuben%2Fnemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teuben%2Fnemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teuben","download_url":"https://codeload.github.com/teuben/nemo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teuben%2Fnemo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28683997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T05:48:07.525Z","status":"ssl_error","status_checked_at":"2026-01-23T05:48:07.129Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fits-files","galactic-astronomy","image-analysis","nbody-gravity","orbital-simulation","tabular-data"],"created_at":"2026-01-23T07:50:41.380Z","updated_at":"2026-01-23T07:50:41.875Z","avatar_url":"https://github.com/teuben.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Executive Summary\n=================\n\nInstallation of the core version of NEMO is roughly as follows (your choice of yapp may vary):\n\n      git clone https://github.com/teuben/nemo\n      cd nemo\n      ./configure --with-yapp=pgplot\n      make build check bench5\n      source nemo_start.sh\n\nThe biggest caveat on this scheme is the use of the pgplot driver for\nthe yapp plotting interface. By default it would install a safe but\nfairly useless postscript-only driver. The pgplot driver is probably\nthe most functional, but We also have (fairly) functional plplot and\ngiza drivers.\n\nThe configure line can be complex, for example for a Mac it could be:\n\n      CC=gcc-10 CXX=g++-10 F77=gfortran-10 ./configure --disable-shared --with-yapp=pgplot\n\nA simple test to create and plot a 1911 Plummer sphere is the following:\n\n      mkplummer p10.dat 10\n      snapprint p10.dat\n      snapplot p10.dat\n      tsf p10.dat\n\nA more flexible installation script can be found in docs/install_nemo.sh\n\n\n\nFailing pgplot\n--------------\n\nOne of the more common installation problems is with pgplot: didn't compile or link. Usually\nyou can find out with the command\n\n      mknemo tabplot\n\nwhat is wrong/missing.  Sometimes it's the X libraries, sometimes the\nPNG library, or something with PGPLOT alltogether.  We keep a version\nof pgplot for manual compilation, which might work well on a\nmac. Here's an example to try in that case:\n\n      mknemo pgplot\n      #   this needs to work, otherwise the next steps make no sense\n      #   it will have deposited a number of pgplot things in $NEMOLIB\n      \n      ./configure --with-yapp=pgplot --enable-png --with-pgplot-prefix=$NEMOLIB\n      source nemo_start.sh\n      make build check\n      mknemo tabplot\n      tabgen - | tabplot - point=2,0.5\n\nIf this still fails, and you just want a non-graphical NEMO to work, use the PS driver instead:\n\n      ./configure --with-yapp=ps\n      source nemo_start.sh\n      make build check\n      mknemo tabplot\n      tabgen - | tabplot - point=2,0.5\n      open yapp.ps\n\nthere should be a file \"yapp.ps\" which you might be able to open or xdg-open.\n\n\nPreconditions for Installation\n==============================\n\nTo build the basics of NEMO you need compilers (C/C++/Fortran).  C is essential,\nC++ and Fortran highly recommended.  You will also need the usual build tools\n\nC\t\tessential\nC++\t\thighly recommended (essential for gyrfalcON)\nFortran    \thighly recommended\ntcsh\t\tessential (some scripts are still in csh)\nmake \t\tessential\ncmake\t\thighly recommended\npgplot    \trecommended for yapp_pgplot (we also have a \"mknemo pgplot\" builtin option)\ncfitsio\t\trecommended for some tools\nhdf4     \trecommended for some tools\nhdf5\t\trecommended for some tools\nnetcdf          recommended for some tools\npython3\t\trecommended (a builtin anaconda3 is one option)\nboost           recommended (for uns_projects)\nswig            recommended (for unsio)\nx11, cairo      essential, but depending on the selected yapp graphics driver\n\n\nFor debian and redhat based systems, one of these may help to install packages:\n\n    make install_apt\nor\n    make install_dnf\n\nbased on a package requirements style file in $NEMO/src/scripts/requirements.\n\n\n\n\nDepending on your packaging tools (apt, yum, dnf, brew, port, ....) these are hidden under\nvarious package names\n\n   dpkg -L pgplot5\n   dpkg -S /usr/include/cpgplot.h\n   dpkg -l\n\n   rpm -ql pgplot\n   rpm -qf /usr/lib64/libpgplot.so.5.2.2\n   rpm -qa\n\nor your system manager has hidden them in a module\n\n   module avail\n\nSee examples of package names in $NEMO/src/scripts/linux and $NEMO/src/scripts/brew (for Mac too)\n\n\n-gfortran\n-libx11-dev\n-libxt-dev\n-libxext-dev\n-libcairo2-dev\n-build-essential\n-cmake\n-csh\n-pgplot5\n-libhdf4-dev\n-libhdf5-dev\n-hdf5-tools\n\n\nDOWNLOAD and INSTALLATION: two examples \n=======================================\n\nPerhaps the easiest way to install nemo is using the docs/install_nemo.sh\nscript. The following example shows how to bootstrap this:\n\n    wget https://teuben.github.io/nemo/install_nemo.sh\n    bash install_nemo.sh nemo=nemo\n    source nemo/nemo_start.sh\n\n\nif you prefer the more classic approach, we do use configure under the hood\n\n    git clone https://github.com/teuben/nemo\n    cd nemo\n    ./configure ...\n    make build\n    source nemo_start.sh\n\n\nThe configure script has many options, use --help to review them. The\ninstall_nemo script has a number of key=val type command line options that\nwill aid in using some of the configure options.\n\n\nMANUAL INSTALLATION BACKGROUND:\n===============================\n\nThe remainder of this document gives some more examples and background\ninformation in case the more automated script(s) to install NEMO have\nfailed you.\n\nInstallation of NEMO V4.x roughly follows that of most open source\npackages, except that NEMO does not install its products in an\nexternal prefix like /usr/local, but keeps them \"in-place\" and\nbootstraps a special NEMO shell environment by sourcing an \"rc\" file \nwhere things like your search path are modified for your shell.  Hence\nthe basic scheme is more one of (except commands are different and\ndetailed below!!!):\n\n\tconfigure   \n\tmake build\n\tsource nemo_start.sh\n\nIt may be handy to pre-install a few libraries and packages on your\nsystem, if they do not exist yet. For a few common ones (e.g. pgplot,\ncfitsio, gsl, hdf, hdf5) we also do have some support to install them\nwithin the NEMO tree before the NEMO is installed.  Typically you can\nthen use the commonly used sequence\n\n      configure --prefix=$NEMO/opt\n      make\n      make install\nor\n      mkdir build\n      cd build\n      cmake\n      -DCMAKE_INSTALL_PREFIX=$NEMO/opt ..\n      make\n      make install\n\nWe generally now support this via the mknemo script, e.g.\n\n      mknemo cfitsio\n\nwould compile cfitsio under $NEMO/opt, which all Makefiles when building\nNEMO programs use to compile and link.\n\nPreconditions for INSTALLATION\n==============================\n\na1) Installing PGPLOT - native Linux/MacOSX-brew distribution\n\n   Some distributions now keep pgplot in their package list. For example\n   in Ubuntu you can use\n      \t     sudo apt install pgplot5\n   (but see below for the giza version).  In this case you can use\n\n   \tconfigure --with-yapp=pgplot --with-pgplot-prefix=/usr/lib\n\n   In Centos PGPLOT is also available\n\n             sudo yum install pgplot-devel pgplot\n\n   On MacOSX, with brew, you can\n             brew install pgplot\n\n   If you are lucky, you can also find the proper paths via pkg-config, but\n   you will need to know the package name and they can vary. \n\na2) Installing PGPLOT (native CALTECH version)\n\n   It is recommended to install PGPLOT before you install NEMO. \n   We do have a simple procedure to install PGPLOT during the NEMO\n   install itself.  You can also decide to use another plotting (YAPP) \n   device though, e.g. plplot (a pure C plotting library similar to PGPLOT) \n   is gaining in popularity.\n\n   Unless it finds the PGPLOT library in a reasonably location, or as dictated\n   by the PGPLOT_DIR environment variable, or via the --with-pgplot-dir= option\n   to configure, as a fallback NEMO would install itself with a very simple \n   postscript-only graphics library (a.k.a. yapp_ps), \n\n   If none of these options work, you can also try to install PGPLOT in\n   for example the following way\n\n\tcd $NEMO/local\n\t$NEMO/src/scripts/pgplot.install\n\t(you may need to get the pgplot522.tar.gz, or newer, file from\n        Caltech (http://astro.caltech.edu/~tjp/pgplot/) or a local repository)\n\n   or the newer command in a current NEMO:\n\n        mknemo pgplot\n\n   On some older linux systems may need to create the following symbolic link\n\t\t ln -s /usr/X11R6 /usr/X11\n\n\na3) Installing PGPLOT - MIRIAD pgplot git release\n\n   You can also place the pgplot source code in $NEMO/local (the default git install\n   uses this method), and use something like\n\n   \tmake pgplot png=1 gif=1\n\n\na4) Install PGPLOT (giza github installation) -\n\n\tThe giza package is now primarily maintained on the developer's github account\n\t(https://github.com/danieljprice/giza).  The giza implementation of PGPLOT can be installed\n\tby adding an extra parameter to the ./install_nemo script: \"./install_nemo giza=1\"\n\n\tIt can also be cloned from price's repository using git clone https://github.com/danieljprice/giza.git.\n\tThen it can be installed using the same instructions as the sourceforge download.  Here is an example\n\n\tgit clone https://github.com/danieljprice/giza.git\n\tcd giza\n\t./configure --prefix=$NEMO\n\tmake\n\tmake install\n\n\t(OLD) Install PGPLOT (giza sourceforge) - \n\n    The giza package (http://giza.sourceforge.net) has its own implementation of PGPLOT,\n    which is compatible with cairo. Here is an example that seems to work with NEMO\n\n    cd $NEMO/local\n    svn co http://svn.code.sf.net/p/giza/code/ giza\n    cd giza\n    ./configure --prefix=$NEMO\n    make\n    make install\n\n    After this you can use the regular\n\n    cd $NEMO\n    configure --with-yapp=pgplot --with-pgplot-prefix=$NEMO/lib\n\n    My experience with this version of pgplot is not ideal yet.\n\nb1) Installing HDF4\n\n\n   Preferred command:    mknemo hdf4\n    \n   You only need the HDF library if you plan to work with the ZEUS or CMHOG\n   hydrocodes.\n\t\n   This requires:\n\tlibdf.a\n\tlibz.a\t(often comes with the system)\n\tdf.h    -- and many others belonging to HDF4\n   A newer version of HDF (HDF5) is also supported, they used hdf5.h, see below.\n\n   The install package for hdf4 can be found at https://support.hdfgroup.org/products/hdf4/.\n   You will need to extract the package. The next command assumes you are already in HDF4 directory\n   One way to install this package is \n\n   configure --prefix=$NEMO\n   make\n   make install\n\n   examples:\n\n   https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.14/src/CMake-hdf-4.2.14.tar.gz\n   https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.14/src/hdf-4.2.14.tar.gz\n\nb2) Installing HDF5\n\n   Preferred command:    mknemo hdf5\n\n   https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.6/src/hdf5-1.10.6.tar.gz\n\n   This version of HDF may either be installed via the system, or in $NEMO/opt.\n\n\nc) Installing CFITSIO  (pending work on configure.in)\n \n   NEMO has two internal routines (fits.c and fitsio.c) that handle various\n   types of fits I/O. Optionally the CFITSIO library can also be used, e.g.\n   fitsio_nemo.c implements the fitsio.c file by providing a wrapper\n   that actually calls the CFITSIO library (courtesy Bill Pence)\n\n   wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3390.tar.gz\n   (see https://heasarc.gsfc.nasa.gov/fitsio/fitsio.html)\n \n   One way is to embed it into NEMO, so when you configure cfitsio\n\n\tconfigure --prefix=$NEMO\n\tmake\n\tmake install\n\n   If your system has FTOOLS installed, possibly via the LHEASOFT package,\n   you can use their prefix, e.g.\n\n\tconfigure --with-cfitsio-prefix=/opt/lheasoft/SunOS_5.6_sparc\n\n\nd) If you are on a system where you need to install NEMO and other packages,\n   but don't have root access to places like /usr/local, \n   but plenty of disk-space, you can also host these packages inside of NEMO.\n\n   For this a directory $NEMO/opt has also been created during the installation\n   process, \n   Under $NEMO/opt you will then find the usual /usr/local hierarchy:\n\tbin\t\n\tinclude\t\n\tinfo\t\t\n\tlib\t\n\tman\t\n\tshare\n   Packages that NEMO can use can then be installed under this hierarchy\n   easiest with the \"mknemo\" command:\n\n\tgsl\t\tconfigure --prefix=$NEMO\n\tcfitsio\t\tconfigure --prefix=$NEMO\n\tplplot\n\tnetcdf4\n\t\n   NEMO can then use these packages as follows:\n\n\tconfigure --with-gsl-prefix=$NEMO/opt\n\tconfigure --enable-gsl\n\tconfigure --disable-gsl\t\t(the default)\n\nPeer Installations\n==================\n\nHere is a list of peer (astronomy) packages install instructions that could\nwell be useful in case of issues with the instructions listed above:\n\n* cloudy:  https://gitlab.nublado.org/cloudy/cloudy/-/wikis/CompilingCloudyNext\n* cfitsio?\n* wcslib\n\n\n\f\nSome very old notes\n===================\n\n\n*) pieces of configure out of date?  Encountering a new machine?\n\n\t1) you can update the config.guess and config.sub\n\n\t\twget ftp://ftp.gnu.org/pub/gnu/config/config.guess\n\t\twget ftp://ftp.gnu.org/pub/gnu/config/config.sub\n\t\tchmod a+x config.guess config.sub\n\n\t2) regenerate configure from configure.in\n\n\t\tautoconf\n\n\t3) replace some *.m4 files\n\n\t4) replace aclocal.m4:\t\taclocal\n\n\n\n*) Configuration options known to work:\n\n\t--with-pgplot-prefix=$NEMOLIB\n\n\t\texpects grfont.dat and friends to be in the named directory\n\t\t($NEMO/src/scripts/pgplot.install will help you\n\t\tinstalling pgplot in $NEMOLIB if you need)\n\n\t--with-hdf-prefix=PFX\n\n\t\texpects hdf.h to be found somewhere in an {include,hdf} \n\t\tsubdirectory and will link with 'df', 'jpeg' and 'z' library.\n\t\tDoesn't work with HDF5 yet, assumes HDF4 for ow.\n\n\t--with-miriad-prefix=PFX\n\t\tif $MIR is present, it will use this variable, else you need \n\t\tto set it.\n\n\t--disable-fortran\n\t\tif you don't have a working fortran compiler (actually doesn't work)\n\n\t--with-ccmalloc\n\t\tuse CCMALLOC to debug malloc usage\n\n\t--with-yapp=ps\n\t\tuse a PS based yapp, on systems where you cannot get pgplot to work,\n\t\tor really don't have a working fortran compiler\n\n\t--with-cfitsio-prefix=PFX\n\t\t--disable-cfitsio\t\texplicitly disable it \n\t\t--enable-cfitsio\t\texplicitly enable it  (the default)\n\n\t--with-gsl-prefix=PFX\n\t\t--enable-gsl\n\t\t--disable-gsl\t\t(the default)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteuben%2Fnemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteuben%2Fnemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteuben%2Fnemo/lists"}