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
log = logging.getLogger('fwl.' + __name__)
module-attribute
project_id = '9u3fb'
module-attribute
DownloadEvolutionTracks(fname='')
Download evolution track data
Inputs : - fname (optional) : folder name, "Spada" or "Baraffe" if not provided download both
Baraffe is fetched through fwl-io into the versioned data layout; Spada is a single tarball and comes down the legacy Zenodo/OSF path, untarred in place.
Source code in src/mors/data.py
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | |
GetFWLData()
Get path to FWL data directory on the disk
Source code in src/mors/data.py
177 178 179 180 181 | |
_baraffe_dataset()
Return the Baraffe dataset declared 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
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | |
_baraffe_fetcher()
Build an fwl-io fetcher for the Baraffe tracks from the manifest pin.
Source code in src/mors/data.py
79 80 81 82 83 84 85 86 87 88 89 | |
_download_spada()
Download and unpack the Spada grid via Zenodo, falling back to OSF.
Source code in src/mors/data.py
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | |
_fetch_baraffe()
Fetch the Baraffe tracks through fwl-io (idempotent, hash-verified).
Source code in src/mors/data.py
212 213 214 | |
_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
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
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
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | |
download_OSF_folder(*, storage, folders, data_dir)
Download a specific folder in the OSF repository
Inputs : - storage : OSF storage name - folders : folder names to download - data_dir : local repository where data are saved
Source code in src/mors/data.py
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | |
download_zenodo_folder(folder, data_dir)
Download a specific Zenodo record into specified folder
Inputs : - folder : str Folder name to download - folder_dir : Path local repository where data are saved
Source code in src/mors/data.py
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | |
get_zenodo_record(folder)
Get Zenodo record ID for a given folder.
Inputs : - folder : str Folder name to get the Zenodo record ID for
Returns : - str | None : Zenodo record ID or None if not found
Source code in src/mors/data.py
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | |
manifest_path()
Entry-point target: the MORS dataset manifest read by fwl-io.
Source code in src/mors/data.py
52 53 54 | |