Log Python module versions to disk
Script to log module version: checkversions.py
Script to log module version: checkversions.py
AGU Data Position Statement
My comments to AGU were:
I like the new emphasis on documentation. I would strengthen this even further by emphasizing the provision of open-source code/API that allows at minimum recreation of all figures in published papers, and canonical registration cases. Publication of source code AND build instructions necessary to recreate all paper figures should be an essential requirement for publication.
At YouTube, from Worcester Polytech Inst.:
The 902 MHz band plan was adapted to reflect reality in much of the USA with regard to easily adaptable commercial equipment. FM next to weak signal situation might include:
| band | discussion |
|---|---|
| 50MHz | The SSB/CW only and “any mode” meet at 50.3 MHz. Do most FM operators stay about 51MHz? |
| 144MHz | I assume most weak signal work is at least 100 kHz away from the popular 144.390MHz APRS frequency |
| 220MHz | Again a case of ~100 kHz spacing between FM and whatever weak signal work may exist |
| 440MHz | The satellite band with what are typically very directive antennas keep multi-MHz separation between FM and weak-signal |
| 900MHz | I would expect below 902.080MHz and above 902.120 MHz to have heavy interference for weak signal operators according to the band plan. |
Consider the relevant FCC specifications demand for “off-channel, in-band” emissions. Is this specified as say -60dB so many kHz from center channel, or with an emission mask? Is the specification sufficient to protect a weak signal operator within N km of a powerful FM transmitter? If the specification is not sufficient for weak signal protection from nearby (in range) FM transmitters, do the practical filter implementations used by the most frequently used equipment provide enough protection any way as a corollary to meeting the FCC specification?
Run AGI STK on a Linux PC by using a Windows guest virtual machine.
If STK crashes upon opening a scenario in VirtualBox, shut down the virtual machine. In the options for that virtual machine, disable 3D acceleration, enable 2D acceleration, and set video memory to at least 64 MB. Then startup the virtual machine and try STK again.
Normally we install precompiled Matplotlib via
conda install matplotlibor
pip install matplotlibIf you need to install/upgrade Matplotlib via pip and need TkAgg:
apt install tk-dev libpng-dev libffi-dev dvipng texlive-latex-base
pip install cairocffi
pip install --upgrade matplotlibAIRtools is a popular Matlab data inversion toolbox now available in Python package airtools Functions include Maximum Entropy Regularization and parallel LOGMART.
PC Hansen’s Regutools has functions used for similar purposes.
Find all PDFs sent to joe@yahoo.com: type in GMail search:
to:joe@yahoo.com filename:pdf
Find any email sent to joe@yahoo.com with any attachment:
to:joe@yahoo.com has:attachment
The Lenovo X220 represents the pinnacle of ThinkPad development, having in effect a 7 row keyboard, excellent display and battery life. Now that new old stock (NOS) 42T4967 slice batteries are showing up at reasonable prices, it’s worth thinking about adding one on. The Lenovo X220 can have a second “slice” battery that snaps onto the bottom, adding nearly 60 Watt-hour to the 86 Watt-hour 9-cell battery built-in to most Lenovo X220. By this time, you might not have your full 9-cell 42T4940 battery life anymore, so the slice battery will nearly double your battery working time.
Charging order: Lenovo firmware prioritizes charging first the built-in (non-slice battery) first, and the slice battery last.
When discharging, the slice battery discharges first all the way, then the built-in battery is used.
For those working with real-world inverse problems, P.C. Hansen’s AIRtools and ReguTools are great ways to quickly try out inverse methods.
As in general in Python and Matlab, you need to be sure that your column vector of observations “b” is actually passed into the functions as a column vector. I’ll illustrate the issue by example.
Assume you have ill-conditioned problem Ax = b, with dimensions:
| variable | dimensions |
|---|---|
| A | 256 x 10 |
| x | 10 x 1 |
| b | 256 x 1 |
so to use the ReguTools function maxent.m from Python, implementing the Berg Maximum Entropy method, your myinv.py file would look like:
import oct2py
import numpy as np
def myinv(A,b,maxentLambda):
oc = oct2py.Oct2Py(oned_as='column')
oc.addpath('ReguTools')
xhat = oc.maxent(A,b,maxentLambda)
return xhatPC Hansen AIRtools and Regutools in Python.