from runpy import run_path import matplotlib.pyplot as plt from fluiddyn.util import has_to_be_made as _has_to_be_made from util import tmp_dir, has_to_save, here def has_to_be_made(name, sources: list): if not isinstance(name, str): names = name return any(has_to_be_made(name, sources) for name in names) if isinstance(sources, str): sources = [sources] sources.append("util.py") if not any(name.endswith(ext) for ext in (".png", ".tex")): name += ".png" return _has_to_be_made(tmp_dir / name, sources, source_dir=here) def make_fig(name, source=None): if source is None: source = f"save_{name}.py" fig_name = f"{name}.png" if has_to_be_made(fig_name, source): print(f"Calling {source} to make {fig_name}") run_path(str(here / source)) def make_table(name, source=None): if source is None: source = f"save_table_{name}.py" if has_to_be_made(f"table_{name}.tex", source): print(f"Calling {source} to make {name}") run_path(str(here / source)) make_fig("forcing_vs_time") make_table("better_simuls") make_fig("figure2") make_fig("figure3") make_fig("figure5") make_fig("figure6") make_fig("figure7") make_fig("figure8") make_fig("figure9") make_fig("figure10") make_fig("figure11") make_fig("figure12") make_fig("figure13") make_fig("figure14") make_fig("figure15") make_fig("figure16") make_fig("figure17") """ for n in (1, 17): if n not in [1,4]: make_fig(f"figure{n}") """ if not has_to_save: plt.show()