earth_surf | R Documentation |
earth_surf
computes the surface of 1d by 1dg grid cells as a function of latitude.
Based on data that give the surface distance per 1 dg change in lat/lon from https://en.wikipedia.org/wiki/Latitude
earth_dist
calculates the distance between two (lat, lon) points
earth_surf(lat = 0, lon = 0)
earth_dist(alat, alon, blat, blon, method = 1)
lat |
latitude (-90 - +90). |
lon |
longitude - not used. |
alat |
first latitude (-90 - +90). |
alon |
first longitude (-180, 180). |
blat |
second latitude (-90 - +90). |
blon |
second longitude (-180, 180). |
method |
an integer indicating the formula to use, either the
spherical law of cosines ( |
Surface of the grid cell, in m^2
.
Distance between the points (alat, alon), (blat, blon), m.
Karline Soetaert <karline.soetaert@nioz.nl>
Bathymetry
, Oceans
earth_surf(seq(0, 90, by = 15))
SURF <- outer(X = Bathymetry$x,
Y = Bathymetry$y,
FUN <- function(X, Y) earth_surf(Y, X))
earth_dist(10, 80, 10, 81)
earth_dist(20, 80, 20, 81)
SURF <- outer(X = Bathymetry$x,
Y = Bathymetry$y,
FUN <- function(X, Y) earth_surf(Y, X))
sum(SURF) #is: 510,072,000 km2
# the surface of the Oceans, m2
sum(SURF*(Bathymetry$z < 0)) # is: 3.58e14
# the volume of the Oceans, m3
- sum(SURF*Bathymetry$z*(Bathymetry$z < 0)) # is: 1.34e+18
# the surface area at several depths
SurfDepth <- vector()
dseq <- seq(-7500, -250, by = 250)
for (i in 2:length(dseq)) {
ii <- which (Bathymetry$z > dseq[i-1] & Bathymetry$z <= dseq[i])
SurfDepth[i-1]<-sum(SURF[ii])
}
plot(dseq[-1], SurfDepth, xlab = "depth, m", log = "y",
ylab = "m2", main = "Surface at ocean depths")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.