As mentioned in the previous post, I no longer take care of the Neptune database, nor is it currently available, except as an archive on Zenodo, that is also available through the chronosphere
package for R.
So as a last hurrah, I decided to update my NSBcompanion
package, which I have been providing since 2013 (i. e. since as long as the website interface),... not that anybody ever used it but still.
Not only did I modify it so that it can still be used despite the server and the website being gone, but I added a bunch of new functions to replicate as best as I could the functionality that used to be offered by the website. Of course, unfortunately, it will only be useful to R users.
First and foremost, here is how to install the package:
library(devtools)
install_github("plannapus/NSBcompanion")
Then, how to connect, and perform various queries:
library(NSBcompanion)
nsb <- nsbConnect() # It does not require any password anymore as it connects using chronosphere to the Zenodo archive
# download the database as a SQLite db and opens it.
# Query micropaleontological data, here Antartic Neogene radiolarians, with synonymy resolved
getNeptuneData(nsb, fossil_group="R", age_range=c(0,23), lat_range=c(-90,-40), resolve_syn=TRUE)
# Query the age model we currently used for Leg 120 Site 751A
getAgeModel(nsb, "120_751A")
# Query all the age models we have for that site
getAgeModel(nsb, "120_751A", current=FALSE)
#Query the underlying stratigraphic data:
getStratData(nsb,"120_751A")
You can also just use the database to perform routine task useful in any paleoceanographic studies such as computing the depth, the age, the sedimentation rate or the paleocoordinates of a set of specific samples:
samples <- c("751A-1-1,10", "751A-5-3,20","751A-10-CC")
d <- findSampleDepth(nsb, samples) #Find the depth based on their names
# 1 site done
# leg site hole core sect top mbsf
# 1 751 A 1 1 10 0.10
# 2 751 A 5 3 20 30.40
# 3 751 A 10 CC NA 90.53
# Warning message:
# In findSampleDepth(nsb, samples) : NAs introduced by coercion
a <- findAge(nsb,"120_751A",d$mbsf) #Find their age
# hole_id depth_mbsf age_ma
# 1 120_751A 0.10 0.03177339
# 2 120_751A 30.40 4.55394677
# 3 120_751A 90.53 11.65761692
coord <- findPaleocoordinates(nsb, "120_751A", a$age_ma) #Find the paleocoordinates (according to Seton et al. 2012 rotation model)
# hole_id age_ma paleo_latitude paleo_longitude
# 1 120_751A 0.03177339 -57.69746 79.79809
# 2 120_751A 4.55394677 -57.34568 79.55676
# 3 120_751A 11.65761692 -56.86685 79.16370
findLSR(nsb, "120_751A")
# hole from to lsr
# 1 120_751A 0.083 1.750 0.2699101
# 3 120_751A 1.750 7.417 1.8570038
# 5 120_751A 7.417 35.667 2.0455939
# 7 120_751A 35.667 41.833 1.3994172
# 9 120_751A 41.833 44.917 1.5868850
# 11 120_751A 44.917 70.273 3.8777164
# 13 120_751A 70.273 103.364 1.8922475
# 15 120_751A 103.364 109.833 0.8525281
# 17 120_751A 109.833 131.333 2.1893648
# 19 120_751A 131.333 147.841 1.2428898
# 21 120_751A 147.841 159.848 1.5807919
And last but not least, let's say you have data calibrated on a different GPTS, or that you want to translate the one from Neptune (given on Gradstein et al. 2012 GPTS) to a different one in order to compare:
changeAgeScale(nsb,c(30,31.2,33.9),from="Grad12",to="GTS2020") #From Gradstein et al. 2012 to the 2020 Geological Time Scale
# [1] 30.00000 31.15191 33.93336
One thing that this package can do that the website could not is time-travel, in order to replicate an old study that used Neptune:
nsb2016 <- nsbConnect(ver="2016-02-29")
getAgeModel(nsb2016,"119_744A")
# site_hole age_ma depth_mbsf age_comment
# 5 744A 0.918134 2.636 False
# 6 744A 2.573495 15.182 False
# 7 744A 3.605161 19.046 False
# 8 744A 4.307629 20.068 False
# 9 744A 5.308647 23.068 False
# 26 744A 9.767322 23.068 False
# 10 744A 9.990740 41.727 False
# 11 744A 11.062029 41.727 False
# 12 744A 14.792489 59.909 False
# 13 744A 16.040071 65.545 False
# 14 744A 16.727717 65.545 False
# 15 744A 17.558208 75.182 False
# 16 744A 18.709492 83.121 False
# 17 744A 19.790421 92.818 False
# 18 744A 20.265372 96.455 False
# 25 744A 21.579258 96.455 False
# 19 744A 21.711284 104.333 False
# 1 744A 23.414777 104.333 False
# 20 744A 23.958621 107.606 False
# 21 744A 26.451593 115.455 False
# 3 744A 26.914188 118.182 False
# 2 744A 30.381881 118.182 False
# 22 744A 32.105518 130.758 False
# 4 744A 33.171855 138.788 False
# 23 744A 35.708441 162.273 False
# 24 744A 36.514006 171.212 False
getAgeModel(nsb,"119_744A")
# site_hole age_ma depth_mbsf age_comment
# 1 744A 0.918134 2.636 <NA>
# 2 744A 2.573495 15.182 <NA>
# 3 744A 3.605161 19.046 <NA>
# 4 744A 4.307629 20.068 <NA>
# 5 744A 5.308647 23.068 <NA>
# 6 744A 10.008745 40.186 <NA>
# 7 744A 11.062029 41.727 <NA>
# 8 744A 12.572802 49.982 <NA>
# 9 744A 14.792489 59.909 <NA>
# 10 744A 15.980724 64.769 <NA>
# 11 744A 16.694766 66.248 <NA>
# 12 744A 17.558208 75.182 <NA>
# 13 744A 18.709492 83.121 <NA>
# 14 744A 20.297427 95.638 <NA>
# 15 744A 22.147442 95.638 <NA>
# 16 744A 24.257109 105.249 <NA>
# 17 744A 26.154198 105.249 <NA>
# 18 744A 27.420117 112.175 <NA>
# 19 744A 28.167467 118.317 <NA>
# 20 744A 30.394265 118.317 <NA>
# 21 744A 31.105411 124.842 <NA>
# 22 744A 32.144016 130.757 <NA>
# 23 744A 33.182621 139.445 <NA>
# 24 744A 33.799293 147.023 <NA>
# 25 744A 35.227375 156.819 <NA>
# 26 744A 35.941416 163.843 <NA>
# 27 744A 36.915108 174.379 <NA>