Life has been a bit demanding lately, so it has been a while since I last worked on the Raspberry Pis. I had a notion that I might dragoon the Pis into serving as compute engines for a simulation I wrote in Python, and that got me motivated to get new Raspbian images and set up two Pis as headless units. It did not take long to disabuse me of the notion that the Pis represented a good alternative to workstation compute time: my simulation on the Pi ran at about 1/20th the speed it did on the workstation. So the simulation is running in background on the workstation, and I had two Pis hooked into the network, up and running.
So I spent a part of the weekend working on steps toward using a Pi as an acoustic monitoring platform. I bought two real-time clock (RTC) modules some time ago, so each of the Pis had one of those onboard. The critical piece of information I was missing in getting those running was that the process of establishing the Linux device corresponding to the I2C device had to be accomplished not merely using “sudo” in front of the command, but in a root-owned shell process because of redirection within the command. I found a web page that offered good advice, including putting the following lines into /etc/rc.local:
echo ds1307 0×68 > /sys/class/i2c-adapter/i2c-0/new_device
When we last visited this topic, I had a USB sound device that could be recognized by the RasPi and that I could take recordings from. There was just one problem: the Pi would not stably reboot with the USB sound device plugged in. Given that my use case is going to be using the system as an instrument that will only be attended maybe every two weeks or so, that problem was a sufficient discouragement to have me doing other things for a few months.
It turns out that time helps. With the most recent Raspbian image, the reboot problem has gone away. Now, everything is not completely rosy. It turns out that I needed to restrict the USB ports to USB 1.1 speed in order to get a clean recording from the mic input. That likely would interfere with using either a USB keyboard or mouse, but I was already aiming at headless operation.
This clears the way for actually getting the system put together and readied for deployment. I need to write some code to handle periodic acoustic samples (cron launching a Python script seems good to me). Having code to connect to a server to upload status updates and/or data would be good; several of the platforms have some sort of Internet service. There’s a chunk to do for hardware. I need to find out exactly what the power supply situation is. I do already have a pair of 4A 5V UBECs. I need to do some testing, though, to make sure that the UBEC does not add a significant amount of noise to acoustic recordings. Since the UBEC is a switched power regulation device, it is quite possible that power-line noise could get into recorded signals. Some sort of housing is needed. And I need to fabricate the hydrophone (a piezo disk soldered to a coax cable with some waterproof potting to cover it) and pair it with an amplifier circuit. Whatever power the amplifier will need I’ll have to figure out, too. Some testing would be good. It would be ideal to find someone with a boat who thinks this sort of thing is cool. I think I have several weekends worth of project to keep me busy.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 4702 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 538 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
One of the courses I enjoyed most in my Ph.D. program was taught by Prof. Kirk Winemiller on population dynamics. There are various collections of models in various languages out there, and multi-model population dynamic applications. But I still think that there is some utility to rolling my own. Since 2009, I’ve gotten more into Python programming, so I thought that I would take a popular class of population dynamic models and produce a Python module to instantiate them.
A long-time standard method in population modeling is the Leslie matrix. This technique applies when one has data about the age structure of a population and produces estimates going forward by using matrix multiplication to go from the population numbers, fecundity, and survivorship numbers to get the estimate of the population in each age class at the next time step.
A similar method is the Lefkovitch approach. This is still based upon matrix operations, but the underlying data involves stages rather than age structure. This sort of model is often used to capture more complex life histories than are tracked in a Leslie matrix model.
The similarities make it straightforward to incorporate both approaches into one supporting Python class.
The following Python module defines the LMatrix class. The dependencies are the Numpy module and the interval module. I used “pip install interval” to get the interval module on my machine. If you run this module in standalone mode, it runs a test of the LMatrix model with a web-accessible example of a Leslie matrix and of a Lefkovitch matrix.
- Trying out population dynamics in Python.
- Wesley R. Elsberry
- class LMatrix:
- A support class for Leslie and Lefkovitch matrix use for
- population dynamics.
- This is a generic class that allows for an arbitrary number of age
- classes or stages.
- def __init__(self,stAges):
- import numpy as num
- import numpy.matlib as M
- from numpy.matlib import rand,zeros,ones,empty,eye
- import interval
- In either Leslie age-structured or Lefkovitch stage-
- structured population modeling, the central feature
- is a special matrix representing both fecundity of
- ages/stages and survivorship in each age/stage.
- The Leslie age-structured matrix is slightly simpler,
- since each iteration moves the population forward
- by a time step equal to the difference between the
- age classes.
- The Lefkovitch stage-structured matrix,
- on the other hand, may have unequal times spent in
- each stage, and thus other elements of the matrix
- represent the fraction of individuals that continue
- to remain in the stage per time step of the model.
- Those lie on the main diagonal.
- The matrix in either case is an N-by-N matrix, where
- N is the number of ages or stages (stAges parameter).
- Because most values in the matrix are zero, we'll
- start with that.
- self.stAges = stAges # Keep track of how many age/stage classes there are
- self.m = zeros((self.stAges,self.stAges))
- self.step = 0 # We are at the beginning
- self.popvec = None
- self.survival = None
- self.recurrence = None
- self.fecundity = None
- def LM_AddFecundity(self,fvector):
- Method to set fecundity values for an LMatrix.
- This is done by setting the first row of the
- matrix to the values in the vector.
- A mismatch between the length of the vector and
- the width of the matrix leaves both unchanged.
- if (fvector.shape == self.stAges):
- # Just replace the row
- self.m = fvector
- # Save it in the object
- self.fecundity = fvector
- print "Mismatch in size: %s vs. %s" % (self.stAges - 1,fvector.shape)
- def LM_AddSurvival(self,survival):
- Add the values for survival that shift population members
- from one age/stage to the next.
- The values come in as the "survival" vector, a Numpy array.
- They replace values in the m matrix in the diagonal from
- [1,0] to [N-1,N-2].
- if (survival.shape == (self.stAges - 1)):
- for ii in range(1,self.stAges):
- self.m[ii,ii-1] = survival[ii-1]
- # Save it in the object
- self.survival = survival
- print "Mismatch in size: %s vs. %s" % (self.stAges - 1,survival.shape)
- def LM_AddRecurrence(self,recur):
- Add the values for survival of organisms remaining in the same
- stage. This is for stage-structured population models only.
- The input is as the vector recur, and its values replace those
- in the m matrix along the main diagonal from [1,1] to [N-1,N-1].
- if (recur.shape == (self.stAges - 1)):
- for ii in range(1,self.stAges):
- self.m[ii,ii] = recur[ii-1]
- # Save it in the object
- self.recurrence = recur
- print "Mismatch in size: %s vs. %s" % (self.stAges - 1,recur.shape)
- def LM_SetOneRelation(self,fromState,toState, value):
- Method to set a relation that does not fall on the survival
- diagonal or the recurrence diagonal. This is useful for more
- complex stage-structured population modeling where organisms
- from one stage may graduate to multiple other stages at defined
- iv = interval.Interval.between(0,self.stAges-1)
- if ((fromState in iv) and (toState in iv)):
- print self.m
- self.m[toState,fromState] = value
- print self.m
- def LM_SetPopulation(self,popvector):
- Another central feature of these models is that the size
- of the population is kept in a 1xN column vector. For the
- implementation here, the actual representation is as a
- Numpy array, which has no column vector as such. This will
- be handled in the actual stepping method.
- if (popvector.shape == (self.stAges)):
- self.popvec = popvector
- print "Mismatch in size: %s vs. %s" % (self.stAges,popvector.shape)
- def LM_StepForward(self):
- Do the matrix multiplication to obtain the new population
- vector. Retain the previous population vector.
- Handle turning population vector into a column vector for the
- # Convert the population array to a Numpy matrix and transpose it
- # to get the column vector we need. Multiply the L* matrix by
- # the column vector, resulting in a new column vector with the
- # population at the next step.
- nextpopvec = num.mat(self.m) * num.mat(self.popvec).T
- # Save the old population vector
- self.lastpopvec = self.popvec
- # Replace the population vector with the new one, which means
- # transposing it and converting to Numpy array type
- self.popvec = num.array(nextpopvec.T)
- # Track the number of steps taken
- self.step += 1
- def LM_TotalPopulation(self):
- Return the total population size. Sums the "popvec" vector.
- if (None != self.popvec):
- # Population vector as array multiplied by column vector of 1s is a sum
- t = num.mat(self.popvec) * ones(self.stAges).T
- return t[0,0]
- return 0.0
- if __name__ == "__main__":
- Generic initialization suggested at
- # Make all numpy available via shorter 'num' prefix
- import numpy as num
- # Make all matlib functions accessible at the top level via M.func()
- import numpy.matlib as M
- # Make some matlib functions accessible directly at the top level via, e.g. rand(3,3)
- from numpy.matlib import rand,zeros,ones,empty,eye
- # Define a Hermitian function
- def hermitian(A, **kwargs):
- return num.transpose(A,**kwargs).conj()
- # Make some shorcuts for transpose,hermitian:
- # num.transpose(A) --> T(A)
- # hermitian(A) --> H(A)
- T = num.transpose
- H = hermitian
- import interval
- # Check it against an existing example data set
- # http://www.cnr.uidaho.edu/wlf448/Leslie1.htm
- ex1 = LMatrix(4)
- fex1 = num.array([0.5, 2.4, 1.0, 0.0])
- sex1 = num.array([0.5, 0.8, 0.5])
- pex1 = num.array([20, 10, 40, 30])
- print pex1
- print ex1.m
- print ex1.popvec
- # It checks out!
- # Another example, this time of a stage-structured population
- # http://www.afrc.uamont.edu/whited/Population%20projection%20models.pdf
- ex2 = LMatrix(3)
- fex2 = num.array([0.0, 52, 279.5])
- sex2 = num.array([0.024, 0.08])
- rex2 = num.array([0.25, 0.43])
- pex2 = num.array([70.0,20.0,10.0])
- print pex2
- print ex2.m
- print ex2.popvec
- print ex2.LM_TotalPopulation()
- print ex2.LM_TotalPopulation()
- print ex2.LM_TotalPopulation()
- for ii in range(22):
- print ex2.popvec
- # Tests OK!
Output from the standalone run:
- [20 10 40 30]
- [[ 0.5 2.4 1. 0. ]
- [ 0.5 0. 0. 0. ]
- [ 0. 0.8 0. 0. ]
- [ 0. 0. 0.5 0. ]]
- [[ 74. 10. 8. 20.]]
- [ 70. 20. 10.]
- [[ 0.00000000e+00 5.20000000e+01 2.79500000e+02]
- [ 2.40000000e-02 2.50000000e-01 0.00000000e+00]
- [ 0.00000000e+00 8.00000000e-02 4.30000000e-01]]
- [[ 3835. 6.68 5.9 ]]
- [[ 19837904.89838918 393232.36554185 30519.85368983]]
Well, I spent my Saturday morning programming a C# application for Windows Mobile 5 to periodically record audio.
I was aiming to set up a data logger using the Raspberry Pi board I’ve got, but I’ve run into enough problems that I decided to look at another approach.
The idea is to log acoustic data underwater to get snapping shrimp snaps. Snapping shrimp are small crustacean predators who use a specialized claw to generate cavitation events that stun or kill their prey. Cavitation events are loud, and snapping shrimp populations are large, so a major component of the acoustic background in tropical to semi-tropical waters where there is structure is snapping shrimp snaps. These various elements come together to make snapping shrimp an excellent indicator species. The acoustic record can be used as an indicator of population health for snapping shrimp, and since snapping shrimp are metazoan predators, they indicate the health of the ecosystem.
The state of Florida has a Harmful Algal Bloom (HAB) program where monitoring stations are scattered around places. The stations have power, some have internet, and there’s space for more instruments to be loaded aboard. The regular schedule of sampling of other instruments is four times an hour. So I’m looking to sample one minute of acoustic data on each quarter hour, so my data can be correlated with the data generated by the other instruments.
The Raspberry Pi looked pretty promising as a data logging platform. It comes with an SD card slot, has an Ethernet port, and allows expansion via USB. There are three things that are holding me back on that: stable power, USB audio compatibility, and time synchronization. Getting the RasPi to power on from a cold start is a piece of cake. Getting it to reboot with “sudo shutdown -r now” is not reliable. This is likely a power interaction between my power source(s) (I’ve tried three so far) and the USB hub(s) (I’ve tried two so far). The recommended low-cost USB audio interface for Linux is a Behringer UCA202. ALSA on the RasPi, though, doesn’t think it has a capture device. The RasPi doesn’t have an RTC. This isn’t a problem with an Ethernet connection to the internet, but it is a problem if there is no connection when the RasPi boots. I’ve tried setting up GPSD with NTP to fill in when there is no network connection, but with negative results so far.
That brings me to my alternative plan. Back in 2005, Diane and I had to hurriedly design an autonomous acoustic recording system with COTS parts in order to deploy in three weeks for a field season in Wyoming. We settled on using Pocket PC devices with Core Audio’s PDAudio sound cards and A/D devices. I rigged regulated power supplies that ran off motorcycle batteries so that each unit only had to be serviced every couple of days to swap batteries and memory cards.
Since I’ve gotten my Android phone, I haven’t been using my Dell Axim X50v PDA much. I’ve done ad hoc recordings with the X50v before dropping a hydrophone over a seawall or overpass, and it’s done OK. So I started looking at audio programming for Windows Mobile devices. It was a bit tougher than it strictly needed to be. The declining market share for Windows CE/Pocket PC/Windows Mobile means that application development goes through Visual Studio 2008, not the latest development tools. (I did install SharpDevelop, but dropped that for VS2008). Audio support for Windows Mobile looks pretty minimal. There’s an interface based on the Platform Invoke Library (PIL) provided by Microsoft, and there’s the OpenNETCF library that wraps the PIL. I tried OpenNETCF because it looked simpler to implement, but I ended up with memory leaks. Using PIL directly gave me success this morning, and now I’m just letting the application record one minute of audio every five minutes as a test. The system memory report under Settings is showing stable usage of memory so far. I’m aiming to deploy the system where it will only be serviced every two weeks, so I really need to watch out for long-term problems. So far, though, it looks like I should be able to finish up with power supply issues and the acoustic gear side of things and get it installed by the time the next HAB station gets deployed. And it fits on the budget I’ve got, which is pretty close to nothing at all.
I spoke a little too soon. While the periodic recording bit seems stable and I appear to have quashed memory leaks, I think I’ve got a hardware issue. I had listened to a couple of recordings that actually picked up the signal I was providing on line-in. I checked some more, and found that at some point the X50v went back to recording from its built-in microphone. That, of course, does me no good. I have tried two different cables with the same result. Usually, switching with a plug is simply a matter of physical displacement; if the plug is in, the alternative input makes no connection to the system. I’m not sure how it goes with the X50v, but I’ll probably have to disassemble it to find out.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 21459 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 5430 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
I had the chance to work with my Raspberry Pi some more late last night and this morning. Quite a lot of stuff works, given that the board design is essentially at a state of “ready for the software developers to do their thing”. But some things are not quite there, or behave oddly.
My first boot-up that I talked about was on a bench without networking. That turns out to be significant. When I tried to run my RasPi with the full load of peripherals in the USB hub and also have the wired Ethernet on, I got a lot of “kevent 4 may have been dropped” error messages and no network connection. The canonical answer on the RasPi forum is that this is a power supply issue, where marginal power to the board means there isn’t enough to properly run the Ethernet circuitry. Some respondents have noted that their circumstances don’t fit into that neatly. I suspect that I may be joining them, but I have some more experimentation to do before saying so categorically. My get-it-working solution so far is to run the RasPi off a dedicated power supply and have all the peripherals on a powered hub. This isn’t ideal for something I hope to deploy remotely. I need to figure out really reliable, comes-up-on-power-on every time configurations.
I spent entirely too much time dealing with something that I should have caught early. The RasPi is a UK invention, and its default settings are convenient for people in the UK. I have a firewall here, and I set my RasPi to enable SSHD so I could login over the net. I logged in from an Ubuntu box and changed the “pi” user password to something approaching a strong password, you know, one with odd case, numbers, and symbols. That’s all to the good, but then I rebooted and ran into the network interface being offline. Fine, I thought, I’ll login directly. But I couldn’t, because no matter what I did, I could not generate one of the symbols in the new password from the directly-connected keyboard, not even with alt-codes. Stripping the RasPi down to just power and network allowed it to boot and establish the network interface, and I could login once again from a remote computer. I changed the password to avoid the bad symbol and worked on localization. The involves “dpkg-reconfigure” applied with three different targets, the keyboard, the locale, and the timezone.
I’ve been able to install a batch of additional software. I installed Cmake and libncurses5, then tried building Avida on the RasPi. The Avida build doesn’t get far. tcmalloc apparently is known to have build issues on ARMv6, plus multiple classes got an “out of virtual memory” error. That still holds with the boot switched to the 224MB main memory setting. But python-scipy and python-gps installed without issues. I even installed VLC to check if the final piece of a media center was anywhere close to done. While the VLC and its dependencies went on without complaint, plugging in a USB DVD drive and pointing VLC at it did not go much of anywhere. There was no continuous playback, and if I changed the media pointer, it would display a single frame. I think that the color rendition was off, but I had plugged in a movie that I hadn’t watched yet, so it is just possible that the cinematographer thought a strange palette would be a good thing.
I tried out my USB GPS dongle. I installed “gpsd-clients” and ran cgps, which reported … absolutely nothing. That was disappointing. I plugged the GPS into my Ubuntu box, and cgps happily displayed a fix and chatter from the dongle. I went back to the RasPi, stopped gpsd, then used gpsmon. That displayed a fix and messages from the dongle. So I’m not sure why gpsd on the RasPi is doing things differently than on the Ubuntu box.
For those pulling up “Geany” to do some Python scripting, you’ll need to change the preferences so that the terminal of choice is not “xterm”, but rather “lxterminal” (this is for Debian Squeeze).
That’s it for now. I’m expecting to have to repeat this process whenever a new version of the operating system is released, so a set of notes on what gets done seems in order.
<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 21646 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 5794 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
Notes on RasPi
sudo nano /etc/resolv.conf
sudo dpkg-reconfigure keyboard-configuration
sudo dpkg-reconfigure locales
sudo dpkg-reconfigure tzdata
Additional python modules:
sudo apt-get install python-scipy
sudo apt-get install python-gps
WiFi dongle —————————————–
Add to /etc/apt/sources.list:
deb http://ftp.us.debian.org/debian squeeze non-free
sudo aptitude update
sudo aptitude install firmware-atheros
sudo wget http://wireless.kernel.org/download/htc_fw/1.3/htc_9271.fw
sudo wget http://wireless.kernel.org/download/htc_fw/1.3/htc_7010.fw
I checked the UPS tracking number periodically today. My Raspberry Pi was marked as delivered at about 2:30 today.
When I got home, I found the package. I still needed to prepare the SD card, so I brought up the RasPi Wiki instructions for SD card setup and went with the Debian Squeeze distribution to start with. While “dd” was doing its thing, I was preparing other things.
The LCD monitor I want to use needed to have its built-in stand removed. There wasn’t room to attach the HDMI cable to the HDMI to DVI adapter and fit that to the while the stand was on.
I located a USB keyboard and trackball. I also found a USB trackpad.
Back to the Ubuntu box and the SD card. I went through the steps to resize the SD card partition with parted. I got some weird messages from the two steps following parted, but apparently one other step was needed: remove the SD card and reader, then plug it back in. With that done, the SD card looked to be in good shape.
I unpacked the USB hub and plugged in power. I hooked up the USB Y cable to the USB to Micro B cable and the hub. I plugged the keyboard and trackball into the hub.
Then I opened up the RasPi package. The package held a packing list (one RasPi, of course), a “Getting Started” single sheet document, and a plain cardboard box. The RasPi was in an antistatic sleeve in the box. It came out, and I started hooking things up.
The SD card holder gave me pause. There’s a gold-plated bar that the card meets, and it took me a moment with a magnifying glass to make sure that it was intended to move when the card was inserted. It looks to be a switch arrangement to indicate the presence of a card.
Then the HDMI cable went in. The monitor changed from its “no signal” display to a blank black screen.
I hooked up a USB data cable between the RasPi and the USB hub.
Then I plugged in the power. There was about a three-count before the monitor started displaying the initial boot-up screen. Things proceeded nicely from there.
The RasPi all hooked up.
Here’s the USB hub and a couple of USB peripherals of interest, an audio interface and a GPS.
And here is the RasPi system hooked up and driving the monitor, showing the default X Windows desktop.
The RasPi doesn’t like my Logitech USB trackball, but it works fine with a trackpad. I’m having some trouble with the keyboard, but I expect that it is the keyboard’s fault. These accessories are pretty ancient by computer standards.
It’s a bit disappointing that the USB WiFi adapter that I have on hand doesn’t seem to be working with the system. I’ll give it another try before moving on to other stuff. That means I’ll need to put the RasPi setup where I can run a physical Ethernet cable.
Looking at dmesg, both the GPS and the audio interface appear to be recognized OK. That’s about as far as I’ve gotten on that.
The word is that the platform I’d like to deploy on won’t go out for two to four weeks, so I have a little time to organize and develop a RasPi-based data collection system. The first step went nicely enough that I’m hopeful about the rest.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 20619 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 5664 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
We’ve heard tales of officialdom greasing the way for people to profit over the consideration of species and ecosystems. Now we’ve got a home-grown Florida tale along those lines.
Craig Pittman wrote an article appearing in the Tampa Bay Times that goes into the details. Department of Environmental Protection employee Connie Bersok has been suspended from her position by her supervisor, Jeff Littlejohn, for failing to approve an application giving a lot of wetlands restoration “credits” to developer Marc El Hassan’s mitigation bank. According to the article, Littlejohn’s basis for doing so is material given to him by the mitigation bank’s lawyer and its consultant. If your blood pressure is trending a bit low, please go read the article and you’ll likely find it heading right back up again.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 10503 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 2908 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
Diane and I are working on a personal project to put together an acoustic sampling system that could yield information about the activity levels of snapping shrimp. Whitlow Au and his group have done this sort of thing out in the Pacific. Of course, they’ve gotten research funding to do it. We’re looking to do this out of our pockets, at least for the first proof-of-concept.
Snapping shrimp are small crustaceans. They stun their prey using an oversized claw. Well, that’s just half the story. Any crustacean with a claw might grab or bonk a prey item using a claw. Snapping shrimp create a cavitation event with a snap of their claw. The resulting burst of acoustic energy is a natural disruptor beam (obligatory SF reference can be checked off now). There’s some cool high-speed video of snapping shrimp doing their thing that got published some years back.
Those cavitation events are loud. Until human shipping noise is added to the picture, the single biggest item in the tropical to semi-tropical littoral marine acoustic environment is energy from snapping shrimp snaps. Part of the challenge for my dissertation work on dolphins clicks was coding a recognizer that would include dolphin clicks but exclude snapping shrimp snaps.
Because their method of prey capture produces a signal that travels significant distances, their activity can be tracked for a particular location just using acoustic recording. Because snapping shrimp are so widely distributed and so abundant anywhere there is structure in the (relatively shallow) marine environment, this can be done just about anywhere of interest: seagrass beds, reefs, mangrove swamps, etc.
We’re thinking of snapping shrimp as an indicator species. The various factors of their life history and acoustic features makes them well-suited for this role. A drop in snapping shrimp activity that doesn’t fit the usual diurnal and seasonal patterns would be taken as an indicator of declining ecosystem health.
But to get there, we have to be able to sample those acoustics. This is a job that we’re hoping to accomplish with an instrument we’ve budgeted $200 for parts. This is pretty much penny-pinching taken to an extreme. Here’s the basic gist of where we’re going.
We’re hoping to base the instrument on the new Raspberry Pi platform. This ARM-based Linux system comes with an SD-card interface plus USB. It doesn’t come with a clock. For places with a network connection, NTP can handle setting the time. For other places, we’re hopeful that a cheap USB GPS dongle will serve to provide both time and location. The RasPi also has no sound input, so a USB sound interface is needed. The RasPi needs a power supply, as do whatever USB devices we want to use, so a powered USB hub seems the best solution. We’ll need a hydrophone. That’s something we can make out of a piezo disk, cabling, and some waterproofing method (epoxy, urethane, or perhaps even Plasti-Dip). And that will need a preamplifier. This is where we might bust our budget.
The RasPi is $35. The GPS with USB is $28. The sound interface is $29. The powered USB hub is $27. A piezo disk is about $0.50, and the Plasti-Dip for it might cost a buck.
Some time back, Diane worked with engineers at the University of Texas at Austin’s Applied Research Lab on a dolphin biosonar project. They set out to make a preamp that would provide flat response from a few kilohertz up to two megahertz. The result was a circuit they called the Universal Dolphin Preamplifier. Depending on the discrete components on the circuit, it could be configured for 0, 20, or 40 dB of gain. Even though our first pass at an instrument would be strictly human audio range, I had hoped to be able to construct one of these preamplifiers for use in the project. That was before I started pricing the integrated circuits used in it. There are three of them, and the prices are $37, $16, and $13. All told, I’m estimating about $86 for the cost of parts for one preamplifier circuit. Instead, I’ll be looking to use a more common — and cheap — audio-range preamplifier for our first instrument to deploy.
There are some other things that would be useful to add that may not make it, like some sort of LCD panel to indicate system status. We may just go with some LEDs.
There are consequences of being cheap. The peak frequency of the broadband transient that is a snapping shrimp click is upwards of 50kHz. There’s energy at frequencies within the human audio range, so recording at that range will allow detection of snapping shrimp clicks, but not any sort of spectral analysis that would mean anything. That means just getting measures of activity, like number of detectable clicks. Recording a single point likewise doesn’t tell us much about spatial distribution of snapping shrimp being recorded. We might group clicks by relative received amplitude as a proxy for distance from the hydrophone. And because we’ll deploy an uncalibrated hydrophone, we won’t be getting absolute amplitudes out of the samples, everything will simply be relative.
Doing this for the maximum amount of information would thus imply use of calibrated hydrophones, multiple hydrophones to allow for acoustic localization, and sampling rates high enough to capture the full frequency range of snapping shrimp clicks. A calibrated hydrophone from a vendor could easily run over $1000 each. A system for recording four simultaneous channels of acoustic data at up to 500 kilosamples per second could be done for about $1000 using the Tern Micro GR4 ADC units and a microcontroller. That complete system could easily run between $6000 and $10000 all told. So for the moment we’ll stick with the limitations of doing science on a shoestring budget.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 6946 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 1999 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
An op-ed piece by Mike Deering, the National Cattlemen’s Beef Association Director of Communications, lays out an argument to let ranchers handle conservation of the sage grouse without involving the protection of the Endangered Species Act:
The wackos – as I still prefer to call them – have successfully weaseled their way to the front steps of BLM and the U.S. Forest Service. Late last year, the agencies released a plan to implement sage grouse protections on 45 million acres of federal lands with the goal of preventing the listing of sage grouse. While that’s a worthy goal, the plan fails to recognize that grazing is responsible for retaining expansive tracts of sagebrush-dominated rangeland, stimulating growth of grasses, eliminating invasive weeds and reducing the risk of wildfire. These services can only be provided by ranches that are stable and viable. Without grazing, sustaining and increasing the sage grouse population would be nearly impossible.
Grazing prevents fires. Fires cause death. Death equals barbecued chicken. It is that simple.
OK, let’s posit that Deering is giving it to us straight for a moment. What does he say next?
Ranchers stand ready to work with the government to prevent the listing of the sage grouse, which has the potential to put public lands grazing to a complete halt (according to Dave White, Chief of the Natural Resources Conservation Service, March 7, 2012).
Hmmmm. This doesn’t exactly inspire confidence that the NCBA is altruistically looking out for the best interests of sage grouse as a species. It sounds like a group that recognizes that a major resource may no longer be available to them and is taking steps to prevent losing that resource for their own use.
That line about “barbecued chicken” is an instance of rhetorical framing applied to sage grouse in the article.
“massive chicken barbecue”
“that barbecued chicken I mentioned earlier”
“the chicken debacle – officially called the greater sage grouse”
“ignore the chicken and set their sights on ranchers”
“not protect the chicken”
This isn’t just what passes for folksy charm in the NCBA. Likening sage grouse to chicken blurs distinctions between a native species in undisputed decline and a ubiquitous introduced domestic species. How could something that is called chicken deserve protection under law, after all?
Now lets drop the notion that Deering’s argument stands on its own. No, Mike, it is not “that simple” that ranching practices will produce a thriving population of sage grouse. The particular threat that Deering concentrates on, fire in sage habitat, is not always and everywhere a bad thing. Sage grouse need a particular mix of sage and other plants, and fire at a particular rate helps clear too-dense sage and restores a balance between cover and plants supporting forage for sage grouse. So a simple “no fires” policy is not a win for sage grouse.
Let’s have a look at another part of Deering’s rant:
I admit, those are some pretty inflammatory words. But these extremists deserve every ounce of it and I will back it up with one of many examples. Let’s hone in on that barbecued chicken I mentioned earlier. Extremists, for the most part, have refused any meaningful reform to the Endangered Species Act, which has resulted in a less than two percent species recovery rate over the past 40 years. Instead of looking at ranching as part of the solution, they spout rhetoric over facts. Look no further than the chicken debacle – officially called the greater sage grouse. Instead of working aggressively to prevent the listing of the sage grouse on the Endangered Species List, they are working aggressively to ignore the chicken and set their sights on ranchers. Say what? Yeah, their end goal is to end ranching; not protect the chicken.
Deering doesn’t mention here what, exactly, constitutes “reform” of the ESA. One might take it to mean specific things that would improve its record on the metric of “species recovery rate”, i.e., how often listed species become delisted. (A comment I’ve seen elsewhere notes that this is the wrong metric to use to evaluate the ESA; instead, one should look at the rate of extinction of listed species.) One would be wrong, though; the NCBA is on record with its list of proposed “reforms” to the ESA, and these have nothing at all to do with making the ESA more effective. They would, instead, guarantee less effectiveness of the ESA, putting in place automatic delisting criteria, providing exemptions that let certain classes of people off the hook for not following ESA regulations, placing even more burdens on those seeking to have a species listed, providing money to private property owners to implement policies, and adding logistical and paperwork burdens in the process of listing any species under the ESA.
I don’t know why activists would want to ‘aggressively prevent the listing of the sage grouse on the endangered species list’. Deering certainly doesn’t inform us as to why an activist should consider that a bad thing. Nor is the claim that protecting sage grouse is not the aim of people urging conservation supported in Deering’s rant by anything other than his assertion.
I’m not anti-rancher. But I am pro-sage grouse, and I think that preserving sage grouse is going to require more than stopping fires on grazing lands, which is the only thing I hear as a concrete policy coming out of the NCBA. The record of action on sage grouse conservation is a continual off-putting of listing as an endangered species, which is due to intense political action, not biological reality.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 2396 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 751 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
Upcoming television series on PBS: Inside Nature’s Giants, begins January 18th at 10 PM.
Professor Joy Reidenberg is an unlikely TV star. She’s a comparative anatomist with the Mount Sinai School of Medicine in New York. Physically, she is diminutive, dark-haired and dark-eyed, and not the sort of slender sylph in morphotype that TV producers seem to favor. But Joy has deep anatomical knowledge and a gift for communicating what she knows, and that led the producers of the documentary series, “Inside Nature’s Giants”, to feature Joy in their program.
Diane and I have known Joy for years as a fellow attendee of various biennial conferences hosted by the Society for Marine Mammalogy. At the latest conference, we caught up with her following the conference-end banquet. She spun us a fascinating tale of how she came to star in a television series. Joy said that she received a call from the producers early one Friday afternoon preceding a holiday weekend, asking her if she might be interested in dissecting a stranded fin whale for a television program. Sure, she said, thinking that they were prospecting and planning for a project that would be months, if not years, down the road. So the question following her “yes” response floored her: Could she be on the plane for Ireland at 6 PM? Maybe was the answer, as Joy told us that physically getting to each part of the transportation network she’d need to get her stuff and passport would stretch things. Her husband and daughter decided to join the expedition. To cut things short, Joy and family made it to Ireland, and despite various amusing misadventures, made it to the locality of the whale stranding on time. There, the documentary producers pressed her into service as liaison to the local health authorities, who had to be convinced that permitting a whale necropsy on the spot was the best way forward to safely disposing of the carcass. She also had to try to convince the police to keep people away from the body, and she reported less success on that front. In any event, Joy got to do the dissection there for the cameras, and her innate enthusiasm and ability to draw people into discussion of anatomy impressed the producers so much that she became a regular co-host on the series.
There was also the adventure of traveling back home. Diane and I have attended necropsies of cetaceans, sirenians, pinnipeds, and sea turtles, and one has to take fairly strong measures to deal with the remaining odor that clings to clothes, skin, and hair. Joy had to physically get inside a decaying whale there in Ireland, and that makes for a different scale of olfactory assault. Joy told us of taking a succession of showers with vigorous scrubbing, but in the end even her family opted to stay in a separate room at the hotel. On the plane ride back, Joy was shifted to the very rear of the plane by the flight attendants, who kindly told the other passengers that they were having trouble with the toilets to explain the stench.
The TV series, “Inside Nature’s Giants”, is slated to air six episodes on PBS, starting January 18th, 2012, at 10 PM. The series is all about charismatic megafauna, but concentrates on post-mortem anatomical examination. Check your local PBS affiliate to make sure of the schedule. Another regular on the series who should be familiar to readers is Prof. Richard Dawkins.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 41054 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 3960 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
I’m attending the Society for Marine Mammalogy biennial conference this year. The location is the Tampa Convention Center, making this pretty simple to get to.
Saturday and Sunday are when various workshops are held. Today, I’m attending the Sirenian workshop. It is an all-day affair, with 33 speakers and over 200 attendees.
My early connectivity was best with my Facebook account (Wesley R. Elsberry), but I’ve gotten set up with synced Twitter (welsberr) and Facebook status updates, so most of what I’m noting as things proceed will be going out that way.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 65977 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 4446 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
The editors of the Tulsa World think that Lawmakers should adopt stronger wildlife laws. That’s fair enough in light of the tragedy in Ohio where exotic predators like lions, tigers, and bears were released by a suicidal keeper. But the editorial’s structure left much to be desired, in my opinion. They do have a good opening:
It’s understandable, and in most instances maybe even OK, for Oklahomans to own and keep certain kinds of unusual critters on their homesteads, even in the city. There’s nothing wrong with a few chickens or an occasional horse or donkey.
But tigers and bears? Allowing people to own and keep large, sometimes-predatory animals on their premises is just asking for a tragedy to occur.
This next part looks all right on first reading, but there is a problem when it is paired with the ending of the editorial:
But in many parts of the state, a tiger can be kept as a backyard pet without the approval of any agency. And too often, the results are predictably tragic.
“These animals are being bought and sold at the hands of people that have no business owning them. I have seen what happens to them in private hands, and the animal loses,” said Dr. Kay Backues, director of animal health and the senior staff veterinarian at the Tulsa Zoo.
“It’s horrifying,” she said. “It’s tragic. And nationally, there are a good number of people that are killed every year or injured by exotic animals they’ve kept as pets.”
Once we get to the end, things have gone from the specific focus and into the completely general:
Micah Holmes, who’s with the Oklahoma Department of Wildlife Conservation, which licenses native-animal breeders, perfectly summed up what ought to be the Legislature’s marching orders: “First thing we’re going to say is that wildlife belongs in the wild.”
This is a potential problem with a simple solution. Let’s address it before another tragedy occurs.
Do they really want to advocate a simple solution of all wildlife belonging in the wild, that is, that no one can be allowed to have any animal considered wild? They don’t clarify what, exactly, their “simple solution” is supposed to cover. I thought of falconry first. Then in composing my response on their site, I discovered that one of their authorities quoted, Dr. Kay Backues, herself owns exotic wildlife that could be at risk under an exceedingly broad wildlife ban. How far might that go? Many people keep aquaria stocked with exotic wildlife, many species of which are obligate predators. It seems to me that the legislative response to the Ohio tragedy either is going to be more complex than the editors claim, or a lot of people are unexpectedly going to find themselves at the wrong end of a simple law.
Here’s my response in a comment left on their site:
<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 91015 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 5526 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
As the saying goes, every complex problem has a solution that is simple, neat, and wrong. The editorial starts with a more specific thrust concerning large, predatory exotic animals capable of killing humans, but ends with an incredibly broad statement about all wildlife as the “marching orders” to the state legislature.
Hopefully the “simple solution” eventually advocated is just complex enough to permit falconry to continue to be practiced in Oklahoma. Falconry involves always-predatory and sometimes large animals kept by people for the purpose of hunting. The falconry community acted to conserve endangered raptor species when pollution threatened those populations, which sounds to me like the wildlife won in that case, contrary to the import of the quote in the editorial from Backues. Of course, Backues may have been more circumspect and nuanced in what she said than what the editors chose to pass on to us. In fact, given that Backues herself owns an exotic pet (an umbrella cockatoo, according to Anne Brockman’s article), one would expect that she must have done so. Does Backues agree with Holmes on the exceedingly broad dictum, “wildlife belongs in the wild”? I’m unaware of any successful release into the wild (success meaning that the released animal lives out the remainder of a normal lifespan there) of an umbrella cockatoo, especially one that has spent 25 years in the care of man.
The legislators might want to talk to the folks at the Oklahoma Falconers Association to figure this issue out, at least as far as falconry is concerned. There may be other stakeholders, such as Dr. Backues, who would also be negatively affected by too-broad a “simple solution”. And if the editors want to advocate a simple solution to the problem, maybe a little more care ought to be invested in saying what they think the simple solution is, since “the regulation of exotic wildlife” leaves quite a bit unspecified.
It’s been a long time coming, but the paper on evidence for multiple sound sources in the bottlenose dolphin appears in the October 15th issue of the Journal of Experimental Marine Biology and Ecology. I’ve been told that the PDF will be freely available soon, hopefully in the next week or so.
The abstract is:
Indirect evidence for multiple sonar signal generators in odontocetes exists within the published literature. To explore the long-standing controversy over the site of sonar signal generation, direct evidence was collected from three trained bottlenose dolphins (Tursiops truncatus) by simultaneously observing nasal tissue motion, internal nasal cavity pressure, and external acoustic pressure. High-speed video endoscopy revealed tissue motion within both sets of phonic lips, while two hydrophones measured acoustic pressure during biosonar target recognition. Small catheters measured air-pressure changes at various locations within the nasal passages and in the basicranial spaces. Video and acoustic records demonstrate that acoustic pulses can be generated along the phonic fissure by vibrating the phonic labia within each set of phonic lips. The left and right phonic lips are capable of operating independently or simultaneously. Air pressure in both bony nasal passages rose and fell synchronously, even if the activity patterns of the two phonic lips were different. Whistle production and increasing sound pressure levels are generally accompanied by increasing intranarial air pressure. One acoustic “click” occurred coincident with one oscillatory cycle of the phonic labia. Changes in the click repetition rate and cycles of the phonic labia were simultaneous, indicating that these events are coupled. Structural similarity in the nasal apparatus across the Odontoceti suggests that all extant toothed whales generate sonar signals using the phonic lips and similar biomechanical processes.
This was a big undertaking, requiring the coordinated effort of a lot of talented and busy people.
Diane Blackwood designed and implemented our acoustic recording layout and the dolphin stationing device and biteplate, and made sure the amplifying equipment was operational and protected from incident. (Incidents with electronics in proximity to sea water are all too common.) I designed and wrote the software that acted as a multichannel digital data recorder, the data reduction program, and the analysis program. Bill van Bonn was our veterinarian who spent our data recording sessions lying prone on the dock as he placed, checked, and positioned the endoscopes and pressure catheters. Our principal investigator, Ted Cranford, operated the video side of things, including the high-speed video capturing the endoscope views. Sam Ridgway and Don Carder consulted with us, helping us with the use of the pressure catheters (which had previously been used in two prior studies they authored). Monica Chaplin and Jennifer Jeffress were the dolphin trainers on the spot during data recording. Tricia Kamolnick and Mark Todd were trainers who helped get the subjects prepared for our data collection process, and Mark Todd implemented the regular video system. It took between two and three hours each data collection day for us to set up, test, and calibrate all the equipment. Breaking down took somewhat less time, but I would still have to run a custom program to demux the data, produce images visualizing the data for each trial, and then shift the day’s data off the hard disk and on to CD-ROM media.
Update: The Marine Mammal Center has put up the PDF of the paper.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 117228 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 7915 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
Wildlife Wesley R. Elsberry on 31 Aug 2010
See here for a few more comments on the photo.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 1628 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 509 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
Wildlife Wesley R. Elsberry on 15 Aug 2010
About 5 AM, I heard an owl outside the house. I went out to check, since owls and hawks don’t mix well. I wanted to make sure the owl wasn’t near Rusty. The owl turned out to be perched high in an oak tree in the front yard.
The owl proved to be a pretty cooperative subject, continuing to sit in the tree while I got together the camera, flash, and big 12V flashlight. Unfortunately, the owl was still about 75 feet away from the camera, so this is a pretty severe crop of the original image.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 1572 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 500 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
There’s an article in the Austin American Statesman about the ongoing Gulf oil spill. It talks about the effects of the spill throughout the water column. The massive use of dispersants at depth is noted as being experimental: nobody knows exactly what outcomes you get by doing that. Well, other than that less of the oil washes ashore where it is convenient for photographers to document the pathetic demise of many a bird and marine mammal because of the oil. It is a lot harder to get cameras on the pathetic demise of benthic, nektonic, and pelagic animals, but those deaths count no less because they pass unseen. Nor is most of the problem going to be at the level of charismatic megafauna, as the authors point out. This spill is disrupting the food web from the lowest levels right up to the top predators. Further, they note that the bacteria that are relied upon to consume the oil over time do so in the presence of oxygen. As they metabolize the oil, they deplete the oxygen. High levels of methane gas are not helping, either. It doesn’t take much to make the inference that “dead zones” with low to no oxygen in the water will expand. What’s worse is that given the toxicity of what we’re dumping into the Gulf, they may well persist over time scales we have not experienced before.
It seems to me to be only common sense that off-shore oil drilling at any depth, if done at all, should be conditional on the principals demonstrating that they have the capacity on-hand to deal with even worst-case problems within a short time window. Turning loose the machinery and hoping for the best is no way to safeguard the public welfare.
As usual, this is only personal opinion.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 1530 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 486 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
I’m working on setting up a citizen scientist project to document where snapping shrimp (family Alpheidae) are active pre- and post-contamination by the oil spill in the Gulf of Mexico. In this post, I just want to introduce the basic concepts and provide an example sound file.
Snapping shrimp comprise a number of species, mostly distributed in tropical to temperate waters. They live in near-shore structured environments, including seagrasses, rocks, and coral reefs. They are predators on small, live prey, and they kill or stun their prey using a snap from a disproportionately large claw. The snap of the claw generates a cavitation event and, by the way, a high-amplitude, broadband transient sound that is also called a snap. The combined noise from the local population of snapping shrimp is a familiar feature not only to bioacoustics researchers, but to anyone who snorkels or SCUBA dives in areas with snapping shrimp.
Because of this noise and the role snapping shrimp play in the marine food web, they are an excellent candidate as an “indicator species”, a species that can be easily monitored and which provides a measure of the health of that part of the marine food web. Better yet, the monitoring and assessment can be done acoustically, by sound recording, to get a measure for a local population.
If I had a chunk of money to throw at this, a sophisticated way to do this would be to make a baseline of calibrated sound recordings and be able to characterize tidal and daily cycle effects on snapping shrimp sound activity, and thus be able to statistically determine a reduction in activity post-contamination. I estimate somewhere around $10K would be needed to set up a portable data collection system from scratch with that kind of capability. Not having that in spare change in my pocket, I’m looking at a somewhat different approach that a lot more people can get into with minimal outlay of funds and just a bit of do-it-yourself drive.
Because snapping shrimp noise is broadband, you can hear it even in plain audio recordings, though the peak frequencies are actually ultrasonic. This means any sort of audio recorder can be used to find out if snapping shrimp are present in a location: cassette tape recorder, digital recorders, and even video cameras. The thing that any of those will need is a microphone input. What to plug in for that recording? A hydrophone would be great, but most people don’t have those lying around. But one can also make a normal microphone water-resistant and use it. It is best to think of such a microphone as disposable, since better sensitivity also corresponds to the water-resistance being more fragile, and saltwater is great at destroying electronics. In another post, I’ll describe making your own hydrophone or water-resistant microphone. If you already have a recorder, the additional cost is under $50 to be able to record underwater sound. I’m not looking for this sort of recording to do as much, simply to say whether a snapping shrimp population is active or not.
Below is an example of a simple recording I made last night that demonstrates the presence of an active population of snapping shrimp at one location and time. I’m still working on what additional information should be noted along with the recording, but I think what I provide here may be sufficient.
Recorder: Olympus WS-320M, ST HQ mode, CONF mic sensitivity
Transducer: Salvaged hydrophone from a sonobuoy
Transducer depth: Approximately 2 feet
Recording made by: Wesley R. Elsberry
Time: 18:51 EDT
Location description: South Sunshine Skyway Bridge on road to south fishing pier, at overpass over water, north side, toward east end.
I’ll be posting more on this topic later.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 3672 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 979 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
My parents send me interesting articles from my hometown paper, the Lakeland Ledger. One of the latest of these I got was an article by Eric Pera titled, A Special Kind of Air Patrol. It is about Polk county farmers employing American Bird Abatement Service (ABAS) to keep crops like blueberries safe from depredation by flocks of cedar waxwings and other birds. Their method? Fly falcons over the fields during the daytime. Check out the article; it has some nice pictures of the Aplomado falcons used by ABAS.
While reading the article I realized that I had a personal connection in the story: Jim Nelson, co-owner of ABAS, was quoted in there. Jim is a friend of Diane and I from back when we were living in eastern Washington state. Jim is an avid longwinger who nonetheless took time to help us train our then-new Harris’ hawk, Rusty. Rusty surprised Jim by showing enthusiasm for hunting upland birds and ducks. (Rusty also surprised him in having an absolute unwillingness to be or remain hooded.) We wish Jim and his colleagues all the best with the ABAS venture.
In the article, it says that ABAS’s “services aren’t cheap, costing as much as $600 a day for one falconer and up to four birds”. Well, I don’t know how one defines cheap here. It is likely that the falconer gets half or less of the day’s charge, so they are specialists with federal/state permits probably working for less than $40/hour. The other half would have to cover the costs of breeding, training, and maintaining the falcons. That is a not-inconsiderable expense in terms of materials and labor itself. There are travel costs and the costs of radio-telemetry for each falcon. Figure in also that ABAS likely does not have a full year-round schedule, so the days that do get paid have to cover the parts of the year that don’t. If the farmer gets about $2/pint of blueberries, and needs about a week’s protection to get the crop harvested, he comes out ahead if the falcons save him over 2,100 pints of blueberries.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 62857 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 6532 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
The Los Angeles Times reports on how the US Interior Department made a decision about sage grouse:
The Interior Department declared Friday that an iconic Western bird deserves federal protection under the Endangered Species Act, but declined to offer that protection immediately — a split decision that will allow oil and gas drilling to continue across large swaths of the mountainous West.
The department issued a so-called “warranted but precluded” designation for the greater sage grouse, meaning that the bird merits protection but won’t receive it for now because other species are a higher priority.
Yes, that’s right, sage grouse are an endangered species, but not so endangered as to have us do anything about it.
The “other species” bit is a particularly bogus piece of argumentation. The fact is that listing sage grouse as an endangered species would put most of the burden on developers, who would have far more stringent requirements to meet to show that their projects would not unduly impact sage grouse. Plus, I’d like to hear the list of endangered species that are getting better attention within the Department of the Interior because they don’t have to pay attention to sage grouse. That ought to be darkly amusing for a while as we contemplate what the Department of the Interior has done for them.
Now let’s have a look at what Department of the Interior head honcho Ken Salazar had to say:
“The sage grouse’s decline reflects the extent to which open land in the West has been developed in the last century,” Interior Secretary Ken Salazar said in an issued statement.
“This development has provided important benefits, but we must find common-sense ways of protecting, restoring and reconnecting the Western lands that are most important to the species’ survival while responsibly developing much-needed energy resources,” Salazar said. “Voluntary conservation agreements, federal financial and technical assistance and other partnership incentives can play a key role in this effort.”
Let’s see, Salazar correctly notes that the problem for sage grouse is one of habitat loss. Then, Salazar goes on to emit some bafflegab that doesn’t actually imply that anything will be done that has any effect on habitat loss. There’s already a history of “voluntary conservation” when it comes to sage grouse: I don’t think that the rate of habitat exploitation has even slowed due to this; I’d appreciate comments from people who have the numbers. The feds are broke, so there isn’t much that we can expect in the way of financial assistance there. The feds have given the technical assistance that would be of help (“If you build it, they will go away.”), and it has been ignored. I’m not sure what a “partnership incentive” is, but my suspicion is that it is merely pretty pettifoggery to try to obscure the fact that the Interior Department has decided that corporate interests are more important than the survival of the sage grouse as a species.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 46063 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 6704 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
The regional National Ocean Sciences Bowl, the Spoonbill Bowl, happens this next Saturday, March 6th, 2010. The location is at the USF Marine Sciences and Fish and Wildlife Institute (100 SE 8th Ave., St. Petersburg, Florida 33701). It gets going pretty early in the morning. This is a quiz competition with each game pitting two teams of four players against each other. There are two rounds of toss-up questions requiring fast responses, with bonus questions for correctly answered toss-ups. In between, there are two “team challenge” questions that give each team a set time to collaborate on answering more involved questions. The questions are drawn from topics contributing to marine science, including
7. Marine Policy
8. Social sciences (including economics, history and human interactions)
9. Technology (including instrumentation, remote sensing, & navigation)
10. Current Events
The public is welcome to attend the event.
I’ve volunteered to help with the event, where I will be one of the moderators. I think that we are planning on running eight rooms for the round-robin initial phase of the event. The final phase will be run as a double-elimination tournament. I’m really looking forward to this. In April, the NOSB nationals will be held here in St. Petersburg, where teams winning at the regional competitions around the country will compete.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 46364 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 7085 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>
This past Monday, Diane was out house-hunting. She checked out a listing for a house that was interesting in part because it was close to a park. After looking at the house, Diane went over to the park to have a look at it, too. This was Sawgrass Lake Park in St. Petersburg, Florida, near I-275 and Gandy Boulevard. She took Ritka, our Vizsla, walking with her. Diane and Ritka were near the water’s edge at about 4:30 PM when Diane saw the water churn. She immediately called to Ritka and started moving away from the water. Ritka’s usual behavior is to run ahead, and that’s just what Ritka did. Diane, though, slipped on the slope and fell to her hands and knees, perhaps in part due to the slip-on “Crocs”-like shoes she was wearing at the time. The churning water was, indeed, a sign of a gator making a lunge, coming out of the water. The gator didn’t connect with anything on his first lunge, but he grabbed Diane’s left calf with his second lunge.
Diane turned and grabbed the gator’s jaw to discourage it from ripping her calf muscle. The gator then released her calf, but when it snapped its jaws shut the second time, Diane’s left thumb was caught there by a tooth. She says that she didn’t care to play tug with a gator, not with just her thumb as the part in the middle. She reached over with her right hand and grabbed the gator’s eye ridge. Diane says that after maybe 30 seconds to a minute of this standoff, the gator opened his jaws, releasing Diane’s thumb. Diane released the gator’s eye ridge. She says that she briefly had considered trying to hold the gator’s jaws closed and using Ritka’s leash to tie it up, but that she didn’t think that she was up to any more tussling with the gator. So the gator headed back to the water and Diane on up the bank and away.
Diane then went back to the van with Ritka, and called to find out about where the nearest medical facility that would treat a gator bite and take our insurance for payment was. She then drove there, to the Morton Plant Bardmoor emergency facility at Starkey and Bryan Dairy Road. Her parents and then I caught up with her there. Her bite wounds were cleaned and dressed, and somewhere around there she had a bout of nausea, sometime about two hours post-attack. The medical staff gave her IV anti-nausea medicine, morphine, and then Vancomycin. They decided she should have observation for the next 24 hours, so they arranged for admittance at Morton Plant Mease in Clearwater. On Tuesday, she received more anitbiotics, since gator bites almost always get infected, and the infections can themselves be fatal. The principal pathogen to be countered is apparently Aeromonas hydrophila. Two orthopedic surgeons had a look and concurred that she would not need surgery. Diane was discharged around 5 PM on Tuesday.
Diane has a couple of weeks of oral antibiotics to continue with, plus twice-daily changes of the wound dressings. We are watching for fever or any sign of infection in the wounds, but so far she is doing fine. She is sleeping a good chunk of the day. That is, when the reporters will leave her alone. She has marks from about two dozen gator teeth on her calf, ranging from scratches through scrapes, tears, and full punctures. She has a pretty big puncture on her left thumb. She had some cuts and abrasions on her right hand.
A second nuisance complaint from the same park was called in Wednesday. A trapper went out and found a gator that had no fear of people at the site of Diane’s attack. He measured it at 6′ 9″ and noted that it was missing about a foot of tail, making it overall about an eight-footer. In looking at past records of fatal attacks, those have been done by gators as small as 6′ 6″. Diane was very fortunate to have come out of this with as little damage as she did.
Here’s some of the coverage of Diane’s story so far:
St. Petersburg Times. This one is slightly inaccurate in places, but was filed before Harwell did an in-person interview with Diane, so we are hoping for a better article later.
Diane says that she wouldn’t mind going to an alligator-free place for a while, so please go vote for our bid to blog an Antarctic trip next February.
Update: ABC News has taken the story to the national audience. Fox News had a segment, but I don’t know if that was regional or national.<= get_option(\'vc_tag\') ?>> = get_option(\'vc_text_before\') ?> 41211 = get_option(\'vc_human_count_text_many\') ?> = get_option(\'vc_preposition\') ?> 8592 = get_option(\'vc_human_viewers_text_many\') ?> = get_option(\'vc_tag\') ?>>