mors.data
data
FWL_DATA_DIR = Path(os.environ.get('FWL_DATA', platformdirs.user_data_dir('fwl_data')))
module-attribute
_BARAFFE_KEY = 'star.tracks.baraffe_2015'
module-attribute
_FWL_IO_FLOOR = '26.7.22'
module-attribute
_SPADA_GRID = 'fs255_grid'
module-attribute
_SPADA_KEY = 'star.tracks.spada_2013'
module-attribute
log = logging.getLogger('fwl.' + __name__)
module-attribute
DownloadEvolutionTracks(fname='')
Download evolution track data
Inputs : - fname (optional) : folder name, "Spada" or "Baraffe" if not provided download both
Both grids are fetched through fwl-io into the versioned data layout. The Spada grid is a single archive, which fwl-io unpacks into its directory.
Source code in src/mors/data.py
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | |
GetFWLData()
Get path to FWL data directory on the disk
Source code in src/mors/data.py
126 127 128 129 130 | |
_dataset(key)
Return the dataset declared under key in the shipped manifest.
An fwl-io older than the manifest schema rejects the shipped manifest as malformed, which points the reader at a file they should not edit, so that case is reported as the version mismatch it is. A manifest error under a current fwl-io is a real error in the shipped file and propagates unchanged.
Source code in src/mors/data.py
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | |
_fetch_baraffe()
Fetch the Baraffe tracks through fwl-io (idempotent, hash-verified).
Source code in src/mors/data.py
161 162 163 | |
_fetch_spada()
Fetch and unpack the Spada grid through fwl-io (idempotent, hash-verified).
Source code in src/mors/data.py
166 167 168 | |
_fetcher(key)
Build an fwl-io fetcher for the dataset key from its manifest pin.
Source code in src/mors/data.py
74 75 76 77 78 79 80 81 82 83 84 85 86 | |
_fwl_io_derives_the_location()
Report whether the installed fwl-io derives a dataset location from its key.
The question is whether subdir is still a manifest field, so the answer
is read off the dataset fields rather than off how the attribute happens to
be implemented. Only positive evidence of the older schema counts: an fwl-io
that cannot be introspected is reported as current, so the caller never
blames a version mismatch it cannot demonstrate.
Source code in src/mors/data.py
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
_versioned_dir(key, label)
Return the version directory that holds the files of dataset key.
A fetcher without a version_dir resolves the bare location, which would put the files one directory above where every reader looks for them.
Source code in src/mors/data.py
89 90 91 92 93 94 95 96 97 98 99 100 101 | |
baraffe_data_dir()
Return the versioned directory that holds the Baraffe track files.
The r<record-id> version segment is resolved by fwl-io from the pinned
manifest, so the layout stays a single source of truth. Resolving the path
creates the FWL_DATA root if absent (an fwl-io side effect) but does not
download the tracks; call DownloadEvolutionTracks("Baraffe") (or
mors download baraffe) to populate it.
Source code in src/mors/data.py
104 105 106 107 108 109 110 111 112 113 | |
manifest_path()
Entry-point target: the MORS dataset manifest read by fwl-io.
Source code in src/mors/data.py
47 48 49 | |
spada_data_dir()
Return the directory that holds the Spada model grid.
This is the fs255_grid directory inside the versioned fwl-io location of
the Spada archive. Resolving the path does not download the tracks; call
DownloadEvolutionTracks("Spada") (or mors download spada) to populate it.
Source code in src/mors/data.py
116 117 118 119 120 121 122 123 | |