Skip to content

The NIST DATAPAC package modularized and made available as an fpm(1) package

License

Notifications You must be signed in to change notification settings

urbanjost/M_datapac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Name

M_datapac(3f) - an fpm module derived from the NIST DATAPAC package (LICENSE: CC0-1.0)

Synopsis

   use M_datapac, only : 
    & autoco,  betran,  bincdf,  binppf,  binran,  caucdf,  caupdf,  cauplt,  &
    & cauppf,  cauran,  causf,   chscdf,  chsplt,  chsppf,  chsran,  code,    &
    & copy,    corr,    count,   decomp,  define,  delete,  demod,   dexcdf,  &
    & dexpdf,  dexplt,  dexppf,  dexran,  dexsf,   discr2,  discr3,  discre,  &
    & dot,     ev1cdf,  ev1plt,  ev1ppf,  ev1ran,  ev2cdf,  ev2plt,  ev2ppf,  &
    & ev2ran,  expcdf,  exppdf,  expplt,  expppf,  expran,  expsf,   extrem,  &
    & fcdf,    fourie,  fran,    freq,    gamcdf,  gamplt,  gamppf,  gamran,  &
    & geocdf,  geoplt,  geoppf,  georan,  hfncdf,  hfnplt,  hfnppf,  hfnran,  &
    & hist,    invxwx,  label,   lamcdf,  lampdf,  lamplt,  lamppf,  lamran,  &
    & lamsf,   lgncdf,  lgnplt,  lgnppf,  lgnran,  loc,     logcdf,  logpdf,  &
    & logplt,  logppf,  logran,  logsf,   max,     mean,    median,  midm,    &
    & midr,    min,     move,    nbcdf,   nbppf,   nbran,   norcdf,  norout,  &
    & norpdf,  norplt,  norppf,  norran,  norsf,   parcdf,  parplt,  parppf,  &
    & parran,  plot,    plot10,  plot6,   plot7,   plot8,   plot9,   plotc,   &
    & plotco,  plotct,  plots,   plotsc,  plotsp,  plotst,  plott,   plotu,   &
    & plotx,   plotxt,  plotxx,  pltsct,  pltxxt,  poicdf,  poiplt,  poippf,  &
    & poiran,  propor,  range,   rank,    ranper,  relsd,   replac,  retain,  &
    & runs,    sampp,   scale,   sd,      sort,    sortc,   sortp,   spcorr,  &
    & stmom3,  stmom4,  subse1,  subse2,  subset,  tail,    tcdf,    time,    &
    & tol,     tplt,    tppf,    tran,    trim,    unicdf,  unimed,  unipdf,  &
    & uniplt,  unippf,  uniran,  unisf,   var,     weib,    weicdf,  weiplt,  &
    & weippf,  weiran,  wind

Description

A modernized version of DATAPAC including man-pages and HTML documentation as a stand-alone library independent of Dataplot available as an fpm(1) package.

The M_datapac Fortran module contains a variety of statistical procedures as well as a number of general utilities useful in statistical analysis.

The original DATAPAC library was written by James Filliben of the Statistical Engineering Division, National Institute of Standards and Technology. After these routines were incorporated into the Dataplot program, development of DATAPAC stopped. However, there are many routines that are useful external to Dataplot. In particular, there are a number of routines for computing various probability functions.

Therefore, DATAPAC is presented here on an "as-is" bais apart from Dataplot as a separate make(1) and fpm(1) package for use in other applications.

This software is not formally supported and is not being further developed other than to develop a test suite at this time, but has been updated to use more modern syntax and structure as the original source is written in Fortran 77.

There initially was no formal documentation apart from most of the subroutines contain extensive usage instructions in the comments in the source code. This documentation was modified so man-pages and HTML documents are also generated based on this information.

The initial conversion from Fortran 77 was done with spag from plusfort.

Needs

Looking for unit tests and example programs that use DATAPAC, and to reformat the comments to man-page format.

Building the Module Using make(1) gmake

 git clone https://github.com/urbanjost/M_datapac.git
 cd M_datapac/src
 # change Makefile if not using one of the listed compilers

 # for gfortran
 make clean
 make F90=gfortran gfortran

 # for ifort
 make clean
 make F90=ifort ifort

 # for nvfortran
 make clean
 make F90=nvfortran nvfortran

This will compile the Fortran module and basic example programs that exercise the routine and place the resulting files in the src/lib/ directory.

Build and Test with FPM -

Alternatively, download the github repository and build it with fpm ( as described at Fortran Package Manager )

        git clone https://github.com/urbanjost/M_datapac.git
        cd M_datapac
	fpm build

Tests and examples are under construction as well

        fpm run "*"
        fpm run --example "*"
        fpm test

or just list it as a dependency in your fpm.toml project file.

        [dependencies]
        M_datapac        = { git = "https://github.com/urbanjost/M_datapac.git" }

Documentation docs

User

  • a simple index to the man-pages in HTML form for the routines and programs

  • A single page that uses javascript to combine all the HTML descriptions of the man-pages is in BOOK_M_datapac.

  • man-pages There are man-pages in the repository download in the docs/ directory that may be installed on ULS (Unix-Like Systems)

  • CHANGELOG provides a history of significant changes

Developer


License

CC0-1.0

References


Releases

No releases published

Packages

No packages published

Languages