{"id":42377585,"url":"https://github.com/mcuntz/jams_fortran","last_synced_at":"2026-01-27T20:52:41.978Z","repository":{"id":112159990,"uuid":"243646006","full_name":"mcuntz/jams_fortran","owner":"mcuntz","description":"A collection of general Fortran modules in the categories Computational, Date and Time, Input / Output, Math / Numerics, Screening, Sensitivity Analysis and Optimising / Fitting, and Miscellaneous.","archived":false,"fork":false,"pushed_at":"2024-03-06T18:13:14.000Z","size":42995,"stargazers_count":35,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-07T15:37:33.159Z","etag":null,"topics":["date-time","fitting","input","math","numeric","optimization","output","screening","sensitivity-analysis"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcuntz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-02-28T00:34:59.000Z","updated_at":"2024-11-11T07:24:26.000Z","dependencies_parsed_at":"2023-05-11T05:30:21.344Z","dependency_job_id":null,"html_url":"https://github.com/mcuntz/jams_fortran","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mcuntz/jams_fortran","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuntz%2Fjams_fortran","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuntz%2Fjams_fortran/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuntz%2Fjams_fortran/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuntz%2Fjams_fortran/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcuntz","download_url":"https://codeload.github.com/mcuntz/jams_fortran/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcuntz%2Fjams_fortran/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28822237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T18:44:20.126Z","status":"ssl_error","status_checked_at":"2026-01-27T18:44:09.161Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["date-time","fitting","input","math","numeric","optimization","output","screening","sensitivity-analysis"],"created_at":"2026-01-27T20:52:40.765Z","updated_at":"2026-01-27T20:52:41.964Z","avatar_url":"https://github.com/mcuntz.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This is the JAMS Fortran library.\n\nThe JAMS Fortran library is a collection of general Fortran modules\noffering miscellaneous functions in the categories\n[Computational](#comp), [Date and Time](#date), [Input / Output](#io),\n[Math / Numerics](#math),\n[Screening, Sensitivity Analysis and Optimising / Fitting](#opti), and\n[Miscellaneous](#misc).\n\nCreated November 2011 by Matthias Cuntz and Juliane Mai  \nwhile at the Department Computational Hydrosystems, Helmholtz Centre\nfor Environmental Research - UFZ, Permoserstr. 15, 04318 Leipzig,\nGermany, and continued while M Cuntz is at the Institut National de\nRecherche pour l’Agriculture, l’Alimentation et l’Environnement\n(INRAE), Nancy, France, and J Mai is at the Department of Civil and\nEnvironmental Engineering of the University of Waterloo, ON, Canada.\n\nIt is distributed under the MIT License (see LICENSE file and below).\n\nCopyright (c) 2011-2020 Matthias Cuntz and Juliane Mai\n\nContact Matthias Cuntz - mc (at) macu (dot) de\n\n\n---------------------------------------------------------------\n\n### Installation\n\nThe library is maintained on a git repository at:\n\n    https://github.com/mcuntz/jams_fortran/\n\nTo use it, checkout the git repository\n\n    git clone https://github.com/mcuntz/jams_fortran.git\n\nCopy the mo\\_\\*.f90 file of the chosen utility to your Fortran\nproject. _grep -i 'use' mo\\_\\*.f90_ to check for dependencies. All\nFortran modules use at least the kind definitions of _mo\\_kind.f90_;\nquite a few use also the general utilities in _mo\\_utils.f90_.\n\n\n---------------------------------------------------------------\n\n### Documentation\n\nDocumentation of the functions is above each function code or above the\nmodule procedure interface at the top of the file. There is a very\nbrief introduction to the modules at the beginning of each file.\n\nSome but not all documentation is in doxygen format and can be\nformatted with the appropriate tools, e.g. using the\n[JAMS Makefile project](https://github.com/mcuntz/jams_makefile).\n\nEach module has a test program in the directory\n_test/test\\_mo\\_\\*/_. These test programs try to test all\nfunctionalities of the modules and provide hence examples of code\nusage of (almost) all subroutines.\n\n\n---------------------------------------------------------------\n\n### Dependencies\n\nThe library is compatible with the Fortran 2003 standard. It was\ntested with the GNU gfortran, Intel ifort, NAG nagfor, and\nPGI pgfortran compilers in various revisions.\n\nInteroperability with C is assured by the use of the intrinsic module\n_iso\\_c\\_binding_ in _mo\\_kind.f90_. The use of C functions were tested using\nthe C-header file _cfortran.h_, for example with the `qhull` library. See\nthe use of _cfortran.h_ in _qhull/qhull\\_c.c_ and the corresponding\nFortran call in _mo\\_qhull.f90_.\n\nThe library uses C preprocessor flags to deal with special compiler\nbehaviours, i.e. one has to compile with the -cpp or -fpp compiler\nflag. For example, gfortran (revisions \u003c 5) did not include an\nintrinsic _ieee\\_arithmetic_ module so that _mo\\_utils_ has convenience\nfuntions such as _is\\_nan(x)_, which uses either the gfortran extension\n_isnan(x)_ or the Fortran standard _ieee\\_is\\_nan(x)_. The decision is\nmade during compile time, checking if the variable `__GFORTRAN__` is\ndefined. The following preprocessor variables are currently checked:  \n`__ABSOFT__`, `__GFORTRAN__`, `__GFORTRAN41__`, `__NETCDF3__`,\n`__pgiFortran__`, `__NAG__`, `__NAGf90Fortran__`.\n\nSome modules use third-party packages such as LAPack or netCDF.  \nThe libraries [MinPack](https://www.netlib.org/minpack/),\n[QHull](http://www.qhull.org), and\n[netCDF3](https://www.unidata.ucar.edu/software/netcdf/release-notes-3.6.3.html)\nare given for convenience with the JAMS library. It is always\nrecommended to use specific installations for the computer system, for\nexample for blas and lapack, which are highly optimised. The netcdf3\ndirectory includes only the parts of the netCDF 3.6.3 version that are\nnecessary for Fortran projects. Read the README in the netcdf3\ndirectory for two system-specific configuration files. The\n[JAMS Makefile project](https://github.com/mcuntz/jams_makefile)\nhandles these kind of special configuration files.\n\nThe only other third-party softwares are\n[LAPack](http://www.netlib.org/lapack/) and\n[netCDF 4](https://www.unidata.ucar.edu/software/netcdf/), which have\nto be installed independently. The latter can be installed by using,\nfor example the installation script _install\\_netcdf_ of\n[https://github.com/mcuntz/install_netcdf](https://github.com/mcuntz/install_netcdf).\n\n\n---------------------------------------------------------------\n\n###  Content\n\nModules are provided in the following categories:  \n * [Computational](#comp)  \n * [Date and Time](#date)  \n * [Input / Output](#io)  \n * [Math /  Numerics](#math)  \n * [Screening, Sensitivity Analysis and Optimising / Fitting](#opti)  \n * [Miscellaneous](#misc)  \n\n\n---------------------------------------------------------------\n\n### Modules ordered alphabetically\n\n| | | |\n| --- | --- | ------------------------------------------------------------------------------------------------------------- |\n| | mo\\_anneal | Simulated Annealing with estimation of initial temperature |\n| | mo\\_ansi\\_colors | Provide colouriser to output coloured text on terminal |\n| | mo\\_append | Appends vectors and/or matrixes like \\*nix *cat* and *paste* |\n| | mo\\_bootstrapping\\_sensitivity\\_analysis.f90 | Bootstrapping for sensitivity analysis |\n| | mo\\_boxcox | Box-Cox transformation, inverse transformation \u0026 estimating best exponent for transformation |\n| | mo\\_combinatorics | Combinatorial algorithms, e.g. binomial coefficient and k-subsets |\n| | mo\\_constants | Mathematical and physical constants |\n| | mo\\_corr | Correlation function with Fast Fourier Transform, or auto- \u0026 cross-correlations via direct calculation |\n| | mo\\_dds | Dynamically Dimensioned Search (DDS) and Modified DDS (MDDS) |\n| | mo\\_delsa | Distributed Evaluation of Local Sensitivity Analysis (DELSA) |\n| | mo\\_distributions.f90 | Continuous distributions density functions such as for the normal distribution |\n| | mo\\_elemeffects | Calculation of parameter's Elementary Effect on model/function output |\n| | mo\\_errormeasures | Distance or error measures between two datasets, e.g. bias, RMSE, ... |\n| | mo\\_file\\_utils | Utilities for file handling, e.g. search free unit |\n| | mo\\_finish | Routine to end program gracefully |\n| | mo\\_fit | Linear \u0026 polynomial fitting, and general fit with singular value decomposition |\n| | mo\\_functional.f90 | Functional programming for modern Fortran |\n| | mo\\_functions | Special functions such as the Gamma function |\n| | mo\\_histo | Histogram of data (useable also for variogram) |\n| | mo\\_integrate | Integration routines |\n| | mo\\_interpol | Linear interpolation for irregular grids |\n| | mo\\_julian | Converts dates between calendars, e.g. Julian Day into Day, Month and Year, and vice versa; Standard and IMSL convention |\n| | mo\\_kernel | Kernel regression and kernel density estimation for PDF and CDF |\n| | mo\\_kind | Definition of numerical precisions |\n| | mo\\_laplace\\_inversion.f90 | Numerical Laplace inversion |\n| | mo\\_linear\\_algebra | Wrapper functions for LAPACK's F77 linear algebra routines + some convenience functions such as the diagonal of a matrix |\n| | mo\\_linfit | Fit a straight line with model I or model II (geometric mean) regression without error bars on input |\n| | mo\\_mad | Median absolute deviation test |\n| | mo\\_mcmc | Monte Carlo Markov Chain sampling of parameter distribution around optimum |\n| | mo\\_message | Write out message; works with num2str from mo\\_string\\_utils |\n| | mo\\_minpack | Optimization package minpack (F90 interfaces) |\n| | mo\\_moment | 1st to 4th moments, central and mixed central moments |\n| | mo\\_mpi\\_stubs.f90 | Dummy functions for common MPI routines |\n| | mo\\_mtclim.f90 | Peter E Thornton's climate generator |\n| | mo\\_ncdump.f90 | Quick dumping of variables into netcdf files |\n| | mo\\_ncread | Reading nc files using the netcdf4 library |\n| | mo\\_ncwrite | Writing nc files using the netcdf4 library |\n| | mo\\_nelmin | Minimizes a function using the Nelder-Mead algorithm with the Applied Statistics algorithms No. 047 |\n| | mo\\_netcdf | David Schaefer's NetCDF Fortran 90 interface wrapper, with NETCDF3 support |\n| | mo\\_nml | Routines to handle namelist files |\n| | mo\\_nr | Main numerical recipes module containing the interfaces |\n| | mo\\_nrutil | Numerical recipes utilities module |\n| | mo\\_ode\\_generator | Given N reactants, generates and solves all corresponding ODE systems |\n| | mo\\_ode\\_solver | Iterative methods for the approximation of solutions of Ordinary Differential Equations (ODE) |\n| | mo\\_opt\\_functions | Test functions for optimization routines |\n| | mo\\_orderpack | Orderpack 2.0 from Michel Olagnon provides order and unconditional, unique, and partial ranking, sorting, and permutation. Provides also convenience routines sort and sort\\_index |\n| | mo\\_percentile | Median, Percentiles |\n| | mo\\_pi\\_index | Parameter importance index PI or alternatively B index calculation |\n| | mo\\_poly | Tests if a given 2D point lies inside, outside, or on edge/vertex of a 2D polygon, compute area and center of mass |\n| | mo\\_pumpingtests.f90 | Thiem and Theis solutions for groundwater-flow equation, and effektive well-flow solution for the effective coarse-graining conductivity |\n| | mo\\_qhull.f90 | Wrapper of C program for convex hull calculation from number of points |\n| | mo\\_quicksort | Several different implementations of Quicksort including an OpenMP version |\n| | mo\\_random\\_field.f90 | Generation of random fields with certain statistical properties, e.g. a given correlation length |\n| | mo\\_remap | Remaps a grid to another grid |\n| | mo\\_sampling | Random and Latin Hypercube Sampling for a set of parameters with Uniform(0,1) or Gaussian(0,1) Distribution |\n| | mo\\_sce | Shuffled Complex Evolution optimisation |\n| | mo\\_select\\_distant\\_entries.f90 | Select elements of matrix with largest distance to each other |\n| | mo\\_sobol | Sampling of parameters using Sobol sequences |\n| | mo\\_sobol\\_index | Sobol indexes (main and total effects) |\n| | mo\\_sort | Quicksort arrays or indices |\n| | mo\\_spatialsimilarity.f90 | Routines for bias insensitive comparison of spatial patterns |\n| | mo\\_specan | Spectral analysis using FFT |\n| | mo\\_spline | Spline functions to approximate or interpolate data |\n| | mo\\_standard_score.f90 | Normalized (anomaly)/standard score/z score and deseasonalized (standard score on monthly basis) values of a time series |\n| | mo\\_string\\_utils | Utilities for strings |\n| | mo\\_tee.f90 | Write out concatenated strings on standard out and to a given file or unit |\n| | mo\\_template | Module template demonstrating the coding standard of the library |\n| | mo\\_timer | CPU time routines, allows setting of multiple CPU timers |\n| | mo\\_utils | Provides general utilities such as comparisons of two reals, swapping of two elements in an array, is\\_nan, etc. |\n| | mo\\_var2nc.f90 | Writing variables to netcdf files |\n| | mo\\_xor4096 | Generating Uniform or Gaussian Random Numbers using the xor4096 algorithm |\n| | mo\\_xor4096\\_apps | Wrapper functions for random number generator xor4096 (Arrays of RNs, ranged RNs, Multivariate Normal Distribution) |\n\n\n---------------------------------------------------------------\n\n### Modules per category \n\n\u003ca name=\"comp\"\u003e\u003c/a\u003e**Computational**\n\n| | | |\n| --- | --- | ------------------------------------------------------------------------------------------------------------- |\n| | mo\\_append | Appends vectors and/or matrixes like \\*nix *cat* and *paste* |\n| | mo\\_constants | Mathematical and physical constants |\n| | mo\\_functional.f90 | Functional programming for modern Fortran |\n| | mo\\_kind | Definition of numerical precisions |\n| | mo\\_message | Write out message; works with num2str from mo\\_string\\_utils |\n| | mo\\_mpi\\_stubs.f90 | Dummy functions for common MPI routines |\n| | mo\\_nml | Routines to handle namelist files |\n| | mo\\_nr | Main numerical recipes module containing the interfaces |\n| | mo\\_nrutil | Numerical recipes utilities module |\n| | mo\\_orderpack | Orderpack 2.0 from Michel Olagnon provides order and unconditional, unique, and partial ranking, sorting, and permutation. Provides also convenience routines sort and sort\\_index |\n| | mo\\_quicksort | Several different implementations of Quicksort including an OpenMP version |\n| | mo\\_remap | Remaps a grid to another grid |\n| | mo\\_sort | Quicksort arrays or indices |\n| | mo\\_string\\_utils | Utilities for strings |\n| | mo\\_template | Module template demonstrating the coding standard of the library |\n| | mo\\_timer | CPU time routines, allows setting of multiple CPU timers |\n| | mo\\_utils | Provides general utilities such as comparisons of two reals, swapping of two elements in an array, is\\_nan, etc. |\n| | mo\\_finish | Routine to end program gracefully |\n\n\n\u003ca name=\"date\"\u003e\u003c/a\u003e**Date and Time**\n\n| | | |\n| --- | --- | ------------------------------------------------------------------------------------------------------------- |\n| | mo\\_julian | Converts dates between calendars, e.g. Julian Day into Day, Month and Year, and vice versa; Standard and IMSL convention |\n\n\n\u003ca name=\"io\"\u003e\u003c/a\u003e**Input / Output**\n\n| | | |\n| --- | --- | ------------------------------------------------------------------------------------------------------------- |\n| | mo\\_ansi\\_colors | Provide colouriser to output coloured text on terminal |\n| | mo\\_file\\_utils | Utilities for file handling, e.g. search free unit |\n| | mo\\_ncdump.f90 | Quick dumping of variables into netcdf files |\n| | mo\\_ncread | Reading nc files using the netcdf4 library |\n| | mo\\_ncwrite | Writing nc files using the netcdf4 library |\n| | mo\\_netcdf | David Schaefer's NetCDF Fortran 90 interface wrapper, with NETCDF3 support |\n| | mo\\_tee.f90 | Write out concatenated strings on standard out and to a given file or unit |\n| | mo\\_var2nc.f90 | Writing variables to netcdf files |\n\n\n\u003ca name=\"math\"\u003e\u003c/a\u003e**Math / Numerics**\n\n| | | |\n| --- | --- | ------------------------------------------------------------------------------------------------------------- |\n| | mo\\_boxcox | Box-Cox transformation, inverse transformation \u0026 estimating best exponent for transformation |\n| | mo\\_combinatorics | Combinatorial algorithms, e.g. binomial coefficient and k-subsets |\n| | mo\\_corr | Correlation function with Fast Fourier Transform, or auto- \u0026 cross-correlations via direct calculation |\n| | mo\\_distributions.f90 | Continuous distributions density functions such as for the normal distribution |\n| | mo\\_errormeasures | Distance or error measures between two datasets, e.g. bias, RMSE, ... |\n| | mo\\_functions | Special functions such as the Gamma function |\n| | mo\\_histo | Histogram of data (useable also for variogram) |\n| | mo\\_integrate | Integration routines |\n| | mo\\_interpol | Linear interpolation for irregular grids |\n| | mo\\_kernel | Kernel regression and kernel density estimation for PDF and CDF |\n| | mo\\_laplace\\_inversion.f90 | Numerical Laplace inversion |\n| | mo\\_linear\\_algebra | Wrapper functions for LAPACK's F77 linear algebra routines + some convenience functions such as the diagonal of a matrix |\n| | mo\\_linfit | Fit a straight line with model I or model II (geometric mean) regression without error bars on input |\n| | mo\\_mad | Median absolute deviation test |\n| | mo\\_moment | 1st to 4th moments, central and mixed central moments |\n| | mo\\_ode\\_solver | Iterative methods for the approximation of solutions of Ordinary Differential Equations (ODE) |\n| | mo\\_percentile | Median, Percentiles |\n| | mo\\_poly | Tests if a given 2D point lies inside, outside, or on edge/vertex of a 2D polygon, compute area and center of mass |\n| | mo\\_qhull.f90 | Wrapper of C program for convex hull calculation from number of points |\n| | mo\\_sampling | Random and Latin Hypercube Sampling for a set of parameters with Uniform(0,1) or Gaussian(0,1) Distribution |\n| | mo\\_select\\_distant\\_entries.f90 | Select elements of matrix with largest distance to each other |\n| | mo\\_sobol | Sampling of parameters using Sobol sequences |\n| | mo\\_spatialsimilarity.f90 | Routines for bias insensitive comparison of spatial patterns |\n| | mo\\_spline | Spline functions to approximate or interpolate data |\n| | mo\\_standard_score.f90 | Normalized (anomaly)/standard score/z score and deseasonalized (standard score on monthly basis) values of a time series |\n| | mo\\_xor4096 | Generating Uniform or Gaussian Random Numbers using the xor4096 algorithm |\n| | mo\\_xor4096\\_apps | Wrapper functions for random number generator xor4096 (Arrays of RNs, ranged RNs, Multivariate Normal Distribution) |\n\n\n\u003ca name=\"opti\"\u003e\u003c/a\u003e**Screening, Sensitivity Analysis and Optimising / Fitting**\n\n| | | |\n| --- | --- | ------------------------------------------------------------------------------------------------------------- |\n| | mo\\_anneal | Simulated Annealing with estimation of initial temperature |\n| | mo\\_bootstrapping\\_sensitivity\\_analysis.f90 | Bootstrapping for sensitivity analysis |\n| | mo\\_dds | Dynamically Dimensioned Search (DDS) and Modified DDS (MDDS) |\n| | mo\\_delsa | Distributed Evaluation of Local Sensitivity Analysis (DELSA) |\n| | mo\\_elemeffects | Calculation of parameter's Elementary Effect on model/function output |\n| | mo\\_fit | Linear \u0026 polynomial fitting, and general fit with singular value decomposition |\n| | mo\\_mcmc | Monte Carlo Markov Chain sampling of parameter distribution around optimum |\n| | mo\\_minpack | Optimization package minpack (F90 interfaces) |\n| | mo\\_nelmin | Minimizes a function using the Nelder-Mead algorithm with the Applied Statistics algorithms No. 047 |\n| | mo\\_opt\\_functions | Test functions for optimization routines |\n| | mo\\_pi\\_index | Parameter importance index PI or alternatively B index calculation |\n| | mo\\_sce | Shuffled Complex Evolution optimisation |\n| | mo\\_sobol\\_index | Sobol indexes (main and total effects) |\n\n\n\u003ca name=\"misc\"\u003e\u003c/a\u003e**Miscellaneous**\n\n| | | |\n| --- | --- | ------------------------------------------------------------------------------------------------------------- |\n| | mo\\_mtclim.f90 | Peter E Thornton's climate generator |\n| | mo\\_ode\\_generator | Given N reactants, generates and solves all corresponding ODE systems |\n| | mo\\_pumpingtests.f90 | Thiem and Theis solutions for groundwater-flow equation, and effektive well-flow solution for the effective coarse-graining conductivity |\n| | mo\\_random\\_field.f90 | Generation of random fields with certain statistical properties, e.g. a given correlation length |\n| | mo\\_specan | Spectral analysis using FFT |\n\n\n---------------------------------------------------------------\n\n###  License\n\nThis file is part of the JAMS Fortran library, distributed under the MIT License.\n\nCopyright (c) 2011-2020 Matthias Cuntz, Juliane Mai, Stephan Thober - mc (at) macu (dot) de\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n\n---------------------------------------------------------------\n\n## Note on Numerical Recipes License\n\nBe aware that some code is under the Numerical Recipes License 3rd\nedition\n[http://www.nr.com/aboutNR3license.html](http://www.nr.com/aboutNR3license.html). \nYou can identity it by the use of  mo\\_nr or mo\\_nrutil.\n\nThe Numerical Recipes Personal Single-User License lets you personally\nuse Numerical Recipes code (\"the code\") on any number of computers,\nbut only one computer at a time. You are not permitted to allow anyone\nelse to access or use the code. You may, under this license, transfer\nprecompiled, executable applications incorporating the code to other,\nunlicensed, persons, providing that (i) the application is\nnoncommercial (i.e., does not involve the selling or licensing of the\napplication for a fee), and (ii) the application was first developed,\ncompiled, and successfully run by you, and (iii) the code is bound\ninto the application in such a manner that it cannot be accessed as\nindividual routines and cannot practicably be unbound and used in\nother programs. That is, under this license, your application user\nmust not be able to use Numerical Recipes code as part of a program\nlibrary or \"mix and match\" workbench.\n\nBusinesses and organizations that purchase the disk or code download,\nand that thus acquire one or more Numerical Recipes Personal\nSingle-User Licenses, may permanently assign those licenses, in the\nnumber acquired, to individual employees. Such an assignment must be\nmade before the code is first used and, once made, it is irrevocable\nand can not be transferred. \n\nIf you do not hold a Numerical Recipes License, this code is only for\ninformational and educational purposes but cannot be used.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcuntz%2Fjams_fortran","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcuntz%2Fjams_fortran","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcuntz%2Fjams_fortran/lists"}