News aggregator

Science Is Life: Ameena's Story of SSFRP - NYC Science Research Mentoring Consortium

Featured News - Fri, 09/23/2016 - 17:46
Ameena Peters writes about her experiences as a student in Lamont's Secondary School Field Research Program and how it taught her leadership and inspired her love of science.

Summer of Hell and High Water Shows Climate Change Is Here - Rolling Stone

Featured News - Thu, 09/22/2016 - 12:00
Simply put, a hotter atmosphere demands more water. In the drought-prone West, it sucks soils, shrubs and trees bone-dry – setting the stage for fire, Rolling Stone writes. It cites a 2015 Columbia University study, led by Lamont's Park Williams, that found California's drought was up to 25 percent more severe due to global warming.

Human Migration: Climate and the Peopling of the World - Nature

Featured News - Wed, 09/21/2016 - 12:00
The human dispersal out of Africa that populated the world was probably paced by climate changes, Lamont's Peter deMenocal writes in Nature.

The Woman Who Mapped the Ocean Floor - WNYC

Featured News - Wed, 09/14/2016 - 12:00
Having a master's degree in geology was rare for a woman in the 1950s, but that didn't stop Lamont's Marie Tharp from changing the field forever.

Scientists Find Innovative Way to Capture CO2: Turn It to Stone - PIX11

Featured News - Fri, 09/09/2016 - 12:00
Researchers from Lamont-Doherty Earth Observatory have worked with engineers from Reykjavik Energy to develop a method in which CO2 is mixed into water that is pumped underground into a volcanic rock called basalt. Lamont's Martin Stute explains.

Art Lerner-Lam: Earthquake Risks and Resilience - Revista Qué Pasa

Featured News - Fri, 09/09/2016 - 12:00
Lamont's Art Lerner-Lam spoke with Chilean media about earthquake risks and building resilience during a visit to Chile shortly after the Italy earthquake. (In Spanish)

Global Warming Increased Odds of Louisiana Downpour, Study Says - Associated Press

Featured News - Wed, 09/07/2016 - 14:15
Lamont's Adam Sobel discusses the new NOAA finding that man-made climate change about doubled the chances for the type of heavy downpours that caused devastating Louisiana floods last month.

New York City in the Not-So-Distant Future - New York Magazine

Featured News - Wed, 09/07/2016 - 12:53
New York Magazine talks with Lamont's Klaus Jacob about urban planning in New York City amid the rising risks of climate change.

Pacific Typhoons Are Hitting Asia with More Intensity - Scientific American

Featured News - Tue, 09/06/2016 - 12:00
Lamont's Suzana Camargo explains why more research is needed to distinguish between natural variability and anthropogenic signal.

Creating a landmask for the West Antarctic Peninsula in R

Chasing Microbes in Antarctica - Sun, 09/04/2016 - 08:50
presentation_graphic

Silicate concentration in µM at 1m depth during the 2014 Palmer LTER cruise.  This plot is lying to you.  The interpolations extend past islets and into landmasses.

This is going to be a pretty niche topic, but probably useful for someone out there.  Lately I’ve been working with a lot of geospatial data for the West Antarctic Peninsula.  One of the things that I needed to do was krig the data (krigging is a form of 2D interpolation, I’m using the pracma library for this).  Krigging is a problem near coastlines because it assumes a contiguous space to work in.  If there happens to be an island or other landmass in the way there is no way to represent the resulting discontinuity in whatever parameter I’m looking at.  Because of this I needed to find a way to mask the output.  This doesn’t really solve the problem, but at least it allows me to identify areas of concern (for example interpolation that extends across an isthmus, if there are sample points only on one side.

I’m krigging and building maps entirely inside R, which has somewhat immature packages for dealing with geospatial data.  The easiest masking solution would be to use filled polygons from any polygon format shapefile that accurately represents the coastline.  Unfortunately I couldn’t find an R package that does this correctly with the shapefiles that I have access too.  In addition, because of my downstream analysis it was better to mask the data itself, and not just block out landmasses in the graphical output.

Sharon Stammerjohn at the NSIDC pointed me to the excellent Bathymetry and Global Relief dataset produced by NOAA.  This wasn’t a complete solution to the problem but it got me moving in the right direction.  From the custom grid extractor at http://maps.ngdc.noaa.gov/viewers/wcs-client/ I selected a ETOPO1 (bedrock) grid along the WAP, with xyz as the output format.  If you’re struggling with shapefiles the xyz format is like a cool drink of water, being a 3-column matrix of longitude, latitude, and height (or depth).  For the purpose of creating the mask I considered landmass as any lat-long combination with height > 0.

There is one more really, really big twist to what I was trying to do, however.  The Palmer LTER uses a custom 1 km pixel grid instead of latitude-longitude.  It’s a little easier to conceptualize than lat-long given the large longitude distortions at high latitude (and the inconvenient regional convergence of lat-long values on similar negative numbers).  It is also a little more ecologically relevant, being organized parallel to the coastline instead of north to south.  Unfortunately this makes the grid completely incompatible with other Euclidean reference systems such as UTM.  So before I could use my xyz file to construct a land mask I needed to convert it to the line-station grid system used by the Palmer LTER.  If you’re working in lat-long space you can skip over this part.

grid

The Palmer LTER grid provides a convenient geospatial reference for the study area, but converting between line (y) and station (x) coordinates and latitude-longitude is non-trivial.

Many moons ago someone wrote a Matlab script to convert lat-long to line-station which you can find here.  Unfortunately I’m not a Matlab user, nor am I inclined to become one.  Fortunately it was pretty straightforward to copy-paste the code into R and fix the syntatic differences between the two languages.  Three functions in total are required:

## AUTHORS OF ORIGINAL MATLAB SCRIPT: #   Richard A. Iannuzzi #   Lamont-Doherty Earth Observatory #   iannuzzi@ldeo.columbia.edu #   based on: LTERGRID program written by Kirk Waters (NOAA Coastal Services Center), February 1997 ## some functions that are used by the main function SetStation <- function(e, n, CENTEREAST, CENTERNORTH, ANGLE){   uu = e - CENTEREAST   vv = n - CENTERNORTH   z1 = cos(ANGLE)   z2 = sin(ANGLE)   NorthKm = (z1 * uu - z2 *vv) / 1000 + 600   EastKm = (z2 * uu + z1 * vv) / 1000 + 40     return(c(NorthKm, EastKm)) } CentralMeridian <- function(iz){   if(abs(iz) > 30){     iutz = abs(iz) - 30     cm = ((iutz * 6.0) -3.0) * -3600   }   else{     iutz = 30 - abs(iz)     cm = ((iutz * 6.0) +3.0) * +3600   }   return(cm) } GeoToUTM <- function(lat, lon, zone){   axis = c(6378206.4,6378249.145,6377397.155,           6378157.5,6378388.,6378135.,6377276.3452,           6378145.,6378137.,6377563.396,6377304.063,           6377341.89,6376896.0,6378155.0,6378160.,           6378245.,6378270.,6378166.,6378150.)     bxis = c(6356583.8,6356514.86955,6356078.96284,           6356772.2,6356911.94613,6356750.519915,6356075.4133,           6356759.769356,6356752.31414,6356256.91,6356103.039,           6356036.143,6355834.8467,6356773.3205,6356774.719,           6356863.0188,6356794.343479,6356784.283666,           6356768.337303)     ak0 = 0.9996   radsec = 206264.8062470964     sphere = 9     a = axis[sphere - 1]             # major axis size   b = bxis[sphere - 1]             # minior axis size   es = ((1-b^2/a^2)^(1/2))^2      # eccentricity squared   slat = lat * 3600                # latitude in seconds   slon = -lon * 3600               # longitude in seconds   cm = 0                           # central meridian in sec   iutz = 0     cm = CentralMeridian(zone)       # call the function     phi = slat/radsec   dlam = -(slon - cm)/radsec   epri = es/(1.0 - es)   en = a/sqrt(1.0 - es * sin(phi)^2)   t = tan(phi)^2   c = epri * cos(phi)^2   aa = dlam * cos(phi)   s2 = sin(2.0 * phi)   s4 = sin(4.0 * phi)   s6 = sin(6.0 * phi)   f1 = (1.0 - (es/4.)-(3.0*es*es/64.)-(5.0*es*es*es/256))   f2 = ((3*es/8)+(3.0*es*es/32)+(45*es*es*es/1024))   f3 = ((15*es*es/256)+(45*es*es*es/1024))   f4 = (35*es*es*es/3072)   em = a*(f1*phi - f2*s2 + f3*s4 - f4*s6)   xx = ak0 * en * (aa + (1.-t+c) * aa^3/6 + (5 - 18*t + t*t + 72*c-58*epri)* aa^5/120) + 5e5   yy = ak0 * (em + en * tan(phi) *((aa*aa/2) + (5-t+9*c+4*c*c)*aa^4/24 + (61-58*t +t*t +600*c - 330*epri)* aa^6/720))     if(zone < 0 | slat < 0){     yy = yy + 1e7   }     return(c(xx, yy)) } ## This function actually works with your data ll2gridLter <- function(inlat, inlon){   NorthKm = 0           # initialize   EastKm = 0            # initialize   zone = -20            # set zone (for LTER region, I think)   ANGLE = -50 * pi / 180   CENTEREAST = 433820.404        # eastings for station 600.040   CENTERNORTH = 2798242.817     # northings for station 600.040     # take latitude longitude and get station   x.y = GeoToUTM(inlat, inlon, zone)   NorthKm.EastKm = SetStation(x.y[1], x.y[2], CENTEREAST, CENTERNORTH, ANGLE)   return(NorthKm.EastKm) }

Once the functions are defined I used them to convert the lat/long coordinates in the xyz file to line-station.

## Read in xyz file. lat.long.depth <- read.table('etopo1_bedrock.xyz', header = F, col.names = c('long', 'lat', 'depth')) ## Limit to points above sea level. lat.long.land <- lat.long.depth[which(lat.long.depth$depth >= 0),] ## Create a matrix to hold the output. line.station.land <- matrix(ncol = 3, nrow = length(lat.long.land$long)) colnames(line.station.depth) <- c('line', 'station', 'depth') ## Execute the ll2gridLter function on each point. Yes, I'm using a loop to do this. for(i in 1:length(lat.long.land$long)){   line.station.land[i,] <- c(ll2gridLter(lat.long.land$lat[i], lat.long.land$long[i]), lat.long.land$depth[i])   print(paste(c(i, line.station.land[i,]))) } ## Write out the matrix. write.csv(line.station.land, 'palmer_grid_landmask.csv', row.names = F, quote = F)

At this point I had a nice csv file with line, station, and elevation.  I was able to read this into my existing krigging script and convert into a mask.

## Read in csv file. landmask <- read.csv('palmer_grid_landmask.csv') ## Limit to the lines and stations that I'm interested in. landmask <- landmask[which(landmask[,1] <= 825 & landmask[,1] >= -125),] landmask <- landmask[which(landmask[,2] <= 285 & landmask[,2] >= -25),] ## Interpolated data is at 1 km resolution, need to round off ## to same resolution here. landmask.expand <- cbind(ceiling(landmask[,1]), ceiling(landmask[,2])) ## Unfortunately this doesn't adequately mask the land. Need to expand the size of each ## masked pixel 1 km in each direction. landmask.expand <- rbind(landmask.expand, cbind(floor(landmask[,1]), floor(landmask[,2]))) landmask.expand <- rbind(landmask.expand, cbind(ceiling(landmask[,1]), floor(landmask[,2]))) landmask.expand <- rbind(landmask.expand, cbind(floor(landmask[,1]), ceiling(landmask[,2]))) landmask.expand <- unique(landmask.expand)

I’m not going to cover how I did the krigging in this post.  My krigged data is in matrix called temp.pred.matrix with colnames given by ‘x’ followed by ‘station’, as in x20 for station 20, and row names ‘y’ followed by ‘line’, as in y100 for line 100.  To convert interpolated points that are actually land to NA values I simply added this line to my code:

temp.pred.matrix[cbind(paste0('y', landmask.expand[,1]), paste0('x', landmask.expand[,2] * -1))]

Here’s what the krigged silicate data looks like after masking.

stuff

Silicate concentration in µM at 1m depth during the 2014 Palmer LTER cruise after masking the underlying data.

Excellent.  The masked area corresponds with known landmasses; that’s Adelaide Island (home of Rothera Station) at the bottom of the Peninsula, and various islets and the western edge of the Antarctic Peninsula to the northeast.  At this point erroneous data has been eliminated from the matrix.  Annual inventories and such can be more accurately calculated form the data and our eyes are drawn to interesting features in the interpolation that have no chance of reflecting reality because they are over land.  The white doesn’t look that appealing to me in this plot however, so I masked the land with black by adding points to the plot.  Again, I’m not going to show the whole plotting routine because some variables called would require a lengthy explanation about how the larger data is structured.  The plot was created using imagep in the oce package.  This command automatically transposes the matrix.

## Show masked points as black squares. points(landmask.expand[,1] ~ {-1 * landmask.expand[,2]}, pch = 15, cex = 0.6)

And the final plot:

si

Silicate concentration in µM at 1m depth during the 2014 Palmer LTER cruise after masking the underlying data and adding points to indicate the masked area.

 

 

Truth and Beauty - Columbia Magazine

Featured News - Wed, 08/31/2016 - 17:38
Colors, patterns, symmetries, textures. Just look at the photographs produced in recent years by Columbia scientists for Lamont's Research as Art program and you can begin to appreciate why so many artists take their cues from nature.

Seeing Is Believing: How Marie Tharp Changed Geology - Smithsonian Magazine

Featured News - Tue, 08/30/2016 - 12:00
There’s no denying that maps can change the way we think about the world. But what about the way we think about what’s underneath? That was the case in 1953, when a young Lamont geologist named Marie Tharp made a map that helped set the stage for understanding plate tectonics.

Two Earthquakes, One Day: Examining Italy and Myanmar - National Geographic

Featured News - Wed, 08/24/2016 - 12:00
Large earthquakes shook Italy and Myanmar on the same day this month. Though the quakes were similar in size — magnitude 6.2 in Italy and 6.8 in Myanmar — the seismic events were unrelated. National Geographic talked with Lamont's Mike Steckler.

Why the Earthquake in Italy Was So Destructive - Washington Post

Featured News - Wed, 08/24/2016 - 12:00
The earth beneath Italy's Apennine Range — where a magnitude-6.2 earthquake struck early today — is a tangle of fault lines and fractured rock. Lamont's Leonardo Seeber has studied the tectonic activity of this region for more than 35 years and talked with the Washington Post about the risks.

Testing Water Quality in the Hudson, from Adirondacks to Ocean - Associated Press

Featured News - Tue, 08/23/2016 - 12:00
Lamont's Andy Juhl helps lead an effort with Riverkeeper to test water quality in the Hudson River this week from its source in the Adirondacks to New York Harbor.

Louisiana Floods Damage 60,000 Homes - KQED

Featured News - Mon, 08/22/2016 - 12:00
Lamont's Adam Sobel joined KQED's Forum for an on-air discussion of the Louisiana flood and the role of climate change in extreme weather.

Astrobiology Primer v2

Chasing Microbes in Antarctica - Sat, 08/20/2016 - 23:16

The long-awaited version 2 of the Astrobiology Primer was published (open access) yesterday in the journal Astrobiology.  I’m not sure who first conceived of the Astrobiology Primer, first published in 2006, but the v2 effort was headed by co-lead editors Shawn Domagal-Goldman at NASA and Katherine Wright  at the UK Space Agency.  The Primer v2 was a long time in coming; initial section text was submitted back in early 2011!  The longer these projects go on, the easy it is for them to die.  Many thanks to Shawn and Katherine for making sure that this didn’t happen!

The downside of course, is that the primer ran the risk of being outdated before it even went into review.  This was mitigated somewhat by the review process itself, and authors did have a chance to update their various sections.  Some sections are more stable than others; the section that I wrote with Shawn McGlynn (now at the Tokyo Institute of Technology) on how life uses energy for example, covers some fairly fundamental ground and is likely to stand the test of time.  Less so for sections that cover planetary processes in and outside of our solar system; paradigms are being broken in planetary science as fast as they form!

The Astrobiology Primer is a very valuable document because it takes a complicated and interdisciplinary field of study and attempts to summarize it for a broad audience.  Most of the Primer should be accessible to anyone with a basic grasp of science.  I wonder if it could even serve as a model for other disciplines.  What if the junior scientists in every discipline (perhaps roughly defined by individual NSF or NASA programs) got together once every five years to write an open-access summary of the major findings in their field?  This might provide a rich and colorful counterpoint to the valuable but often [dry, esoteric, top-down?  There’s an adjective that I’m searching for here but it escapes me] reports produced by the National Academies.

The co-lead editors were critical to the success of the Primer v2.  I haven’t explicitly asked Shawn and Kaitlin if they were compensated in any way for this activity – perhaps they rolled some of this work into various fellowships and such over the years.  More likely this was one more extracurricular activity carried out on the side.  Such is the way science works, and the lines are sufficiently blurred between curricular and extracurricular that most of us don’t even look for them anymore.  In recognition of this, and to speed the publication and heighten the quality of a future Primer v3, it would be nice to see NASA produce a specific funding call for a (small!) editorial team.  Three years of partial salary and funding for a series of writing workshops would make a huge difference in scope and quality.

Ocean Slime Spreading Quickly Across the Earth - National Geographic

Featured News - Fri, 08/19/2016 - 12:00
Toxic algae blooms, perhaps accelerated by ocean warming and other climate shifts, are spreading, poisoning marine life and people. National Geographic talks with Lamont's Joaquim Goes about the changes.

Algae Blooms Adding to the Melt of Greenland's Ice Sheet - UPI

Featured News - Thu, 08/18/2016 - 12:00
The Black and Bloom project examines the role that microbes might have in darkening the Greenland ice sheet – and boosting its melt. UPI talks with Lamont's Marco Tedesco about the forces driving melting in Greenland.

Wildfire Spreading in Bone-Dry California Forces 82,000 to Evacuate - Washington Post

Featured News - Wed, 08/17/2016 - 12:00
Lamont's Park Williams talks to the Washington Post about how drought has been contributing to increases in fire activity over the past several decades in the western United States.

Pages

 

Subscribe to Lamont-Doherty Earth Observatory aggregator