Added logging output to the two primary NSE placefile scripts. Defined at the top of get_data.py and process.py. Hard-coded just for simplicity. Otherwise, could pass in via app.
Turned off the surface placefile status bar for now (set to 0 percent) until we can figure out an ideal solution for that.
Placefile icons moved into assets/placefiles/iconfiles. NSE code update to provide the rssic url.
Big change was to meso.calc.compute.worker and to allow numba to cache the compiled machine code. Originally, numba would just-in-time compile thousands of lines of parcel lifting code at runtime, every time, slowing the first loop (1st hour of model data) down. Caching allows numba to save the compiled object code within the pycachedirectories (see calc, and sharptab), eliminating the need to runtime compile everything. The very 1st iteration will still be slow, but this can be handled immediately by running:
cd scripts/meso
python cache_nse_funcs.py
This will take about 3 minutes and will loop through the meso.calc.compute.worker function twice to get the initial caching of machine code out of the way. You should see several files update within the __pycache__ directories. You can test that things are faster by running python cache_nse_funcs.py a second time and it should complete much faster (you'll see text output on the screen).
get_data.py
andprocess.py
. Hard-coded just for simplicity. Otherwise, could pass in via app.assets/placefiles/iconfiles
. NSE code update to provide the rssic url.meso.calc.compute.worker
and to allow numba to cache the compiled machine code. Originally, numba would just-in-time compile thousands of lines of parcel lifting code at runtime, every time, slowing the first loop (1st hour of model data) down. Caching allows numba to save the compiled object code within the pycachedirectories (see calc, and sharptab), eliminating the need to runtime compile everything. The very 1st iteration will still be slow, but this can be handled immediately by running:This will take about 3 minutes and will loop through the
meso.calc.compute.worker
function twice to get the initial caching of machine code out of the way. You should see several files update within the__pycache__
directories. You can test that things are faster by runningpython cache_nse_funcs.py
a second time and it should complete much faster (you'll see text output on the screen).