Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions scripts/convert_density_tables.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
"""Convert a directory of ASCII ``.rad`` density tables into one packaged ``.npz``.

Usage::

python scripts/convert_density_tables.py <rad_dir> <out.npz>

``<rad_dir>`` holds one ``<Symbol>.rad`` file per element. Each file is a
sequence of blocks: a header line ``Z A n_points dr`` followed by ``n_points``
rows of 11 whitespace-separated columns, of which column 0 (radius in fm),
column 1 (proton density) and column 6 (neutron density) are used. Only those
densities are kept, as float32, on the uniform grid ``np.arange(n_points) * dr``.

The original ``bskg3`` and ``d1m`` tables were committed to the jitr repository
in commit ``71e4ea0`` under ``src/data/densities/<model>/`` and were replaced by
``src/data/densities/<model>.npz`` to stay under PyPI's file-size limit::

git show 71e4ea0:src/data/densities/bskg3/Pb.rad

The model name used at runtime is the ``.npz`` file stem.
"""

from __future__ import annotations

import argparse
import sys
from pathlib import Path

from jitr.utils.density import DensityTable, read_rad_file, write_density_npz


def convert(rad_dir: Path, out_path: Path) -> int:
"""Read every ``*.rad`` in ``rad_dir`` and write ``out_path``.

Returns:
Number of nuclides written.
"""

model = out_path.stem
tables: list[DensityTable] = []
rad_files = sorted(rad_dir.glob("*.rad"))
if not rad_files:
raise FileNotFoundError(f"No .rad files found in {rad_dir}")
for path in rad_files:
tables.extend(read_rad_file(path, model=model))
write_density_npz(tables, out_path)
return len(tables)


def main(argv: list[str] | None = None) -> int:
parser = argparse.ArgumentParser(description=__doc__.splitlines()[0])
parser.add_argument("rad_dir", type=Path, help="directory of <Symbol>.rad files")
parser.add_argument("out", type=Path, help="output .npz path; stem = model name")
args = parser.parse_args(argv)
n = convert(args.rad_dir, args.out)
print(f"wrote {n} nuclides to {args.out} ({args.out.stat().st_size / 1e6:.1f} MB)")
return 0


if __name__ == "__main__":
sys.exit(main())
Binary file added src/data/densities/bskg3.npz
Binary file not shown.
16,564 changes: 0 additions & 16,564 deletions src/data/densities/bskg3/Ac.rad

This file was deleted.

14,342 changes: 0 additions & 14,342 deletions src/data/densities/bskg3/Ag.rad

This file was deleted.

6,060 changes: 0 additions & 6,060 deletions src/data/densities/bskg3/Al.rad

This file was deleted.

19,796 changes: 0 additions & 19,796 deletions src/data/densities/bskg3/Am.rad

This file was deleted.

7,676 changes: 0 additions & 7,676 deletions src/data/densities/bskg3/Ar.rad

This file was deleted.

10,504 changes: 0 additions & 10,504 deletions src/data/densities/bskg3/As.rad

This file was deleted.

18,180 changes: 0 additions & 18,180 deletions src/data/densities/bskg3/At.rad

This file was deleted.

19,998 changes: 0 additions & 19,998 deletions src/data/densities/bskg3/Au.rad

This file was deleted.

16,968 changes: 0 additions & 16,968 deletions src/data/densities/bskg3/Ba.rad

This file was deleted.

19,392 changes: 0 additions & 19,392 deletions src/data/densities/bskg3/Bh.rad

This file was deleted.

18,382 changes: 0 additions & 18,382 deletions src/data/densities/bskg3/Bi.rad

This file was deleted.

19,594 changes: 0 additions & 19,594 deletions src/data/densities/bskg3/Bk.rad

This file was deleted.

11,514 changes: 0 additions & 11,514 deletions src/data/densities/bskg3/Br.rad

This file was deleted.

7,878 changes: 0 additions & 7,878 deletions src/data/densities/bskg3/Ca.rad

This file was deleted.

15,150 changes: 0 additions & 15,150 deletions src/data/densities/bskg3/Cd.rad

This file was deleted.

17,574 changes: 0 additions & 17,574 deletions src/data/densities/bskg3/Ce.rad

This file was deleted.

19,392 changes: 0 additions & 19,392 deletions src/data/densities/bskg3/Cf.rad

This file was deleted.

7,272 changes: 0 additions & 7,272 deletions src/data/densities/bskg3/Cl.rad

This file was deleted.

18,786 changes: 0 additions & 18,786 deletions src/data/densities/bskg3/Cm.rad

This file was deleted.

22,018 changes: 0 additions & 22,018 deletions src/data/densities/bskg3/Cn.rad

This file was deleted.

9,494 changes: 0 additions & 9,494 deletions src/data/densities/bskg3/Co.rad

This file was deleted.

9,898 changes: 0 additions & 9,898 deletions src/data/densities/bskg3/Cr.rad

This file was deleted.

17,574 changes: 0 additions & 17,574 deletions src/data/densities/bskg3/Cs.rad

This file was deleted.

10,504 changes: 0 additions & 10,504 deletions src/data/densities/bskg3/Cu.rad

This file was deleted.

21,210 changes: 0 additions & 21,210 deletions src/data/densities/bskg3/Db.rad

This file was deleted.

21,614 changes: 0 additions & 21,614 deletions src/data/densities/bskg3/Ds.rad

This file was deleted.

18,382 changes: 0 additions & 18,382 deletions src/data/densities/bskg3/Dy.rad

This file was deleted.

18,180 changes: 0 additions & 18,180 deletions src/data/densities/bskg3/Er.rad

This file was deleted.

19,392 changes: 0 additions & 19,392 deletions src/data/densities/bskg3/Es.rad

This file was deleted.

16,766 changes: 0 additions & 16,766 deletions src/data/densities/bskg3/Eu.rad

This file was deleted.

4,444 changes: 0 additions & 4,444 deletions src/data/densities/bskg3/F.rad

This file was deleted.

9,494 changes: 0 additions & 9,494 deletions src/data/densities/bskg3/Fe.rad

This file was deleted.

21,816 changes: 0 additions & 21,816 deletions src/data/densities/bskg3/Fl.rad

This file was deleted.

19,594 changes: 0 additions & 19,594 deletions src/data/densities/bskg3/Fm.rad

This file was deleted.

17,372 changes: 0 additions & 17,372 deletions src/data/densities/bskg3/Fr.rad

This file was deleted.

10,706 changes: 0 additions & 10,706 deletions src/data/densities/bskg3/Ga.rad

This file was deleted.

16,160 changes: 0 additions & 16,160 deletions src/data/densities/bskg3/Gd.rad

This file was deleted.

10,504 changes: 0 additions & 10,504 deletions src/data/densities/bskg3/Ge.rad

This file was deleted.

19,392 changes: 0 additions & 19,392 deletions src/data/densities/bskg3/Hf.rad

This file was deleted.

19,594 changes: 0 additions & 19,594 deletions src/data/densities/bskg3/Hg.rad

This file was deleted.

18,988 changes: 0 additions & 18,988 deletions src/data/densities/bskg3/Ho.rad

This file was deleted.

19,190 changes: 0 additions & 19,190 deletions src/data/densities/bskg3/Hs.rad

This file was deleted.

17,978 changes: 0 additions & 17,978 deletions src/data/densities/bskg3/I.rad

This file was deleted.

15,150 changes: 0 additions & 15,150 deletions src/data/densities/bskg3/In.rad

This file was deleted.

20,200 changes: 0 additions & 20,200 deletions src/data/densities/bskg3/Ir.rad

This file was deleted.

8,080 changes: 0 additions & 8,080 deletions src/data/densities/bskg3/K.rad

This file was deleted.

10,908 changes: 0 additions & 10,908 deletions src/data/densities/bskg3/Kr.rad

This file was deleted.

16,766 changes: 0 additions & 16,766 deletions src/data/densities/bskg3/La.rad

This file was deleted.

20,402 changes: 0 additions & 20,402 deletions src/data/densities/bskg3/Lr.rad

This file was deleted.

Loading