as.tidem {oce} | R Documentation |
This function is intended to provide a bridge to
predict.tidem
, enabling tidal predictions based
on published tables of harmonic fits. CAUTION: this
is a provisional function, and its action and argument list
may change through the summer of 2018 ... use with caution!
as.tidem(tRef, latitude, name, amplitude, phase, debug = getOption("oceDebug"))
tRef |
a POSIXt value indicating the mean time of the
observations used to develop the harmonic model. This is rounded
to the nearest hour in |
latitude |
Numerical value indicating the latitude of the observations that were used to create the harmonic model. |
name |
Character vector holding names of constituents, in the
notation used within the |
amplitude |
Numeric vector of constituent amplitudes. |
phase |
Numeric vector of constituent Greenwich phases. |
debug |
an integer specifying whether debugging information is
to be printed during the processing. This is a general parameter that
is used by many |
An object of tidem-class
, with only minimal
contents.
# Simulate a tide table with output from tidem(). data(sealevelTuktoyaktuk) # 'm0' is model fitted by tidem() m0 <- tidem(sealevelTuktoyaktuk) p0 <- predict(m0, sealevelTuktoyaktuk[["time"]]) m1 <- as.tidem(mean(sealevelTuktoyaktuk[["time"]]), sealevelTuktoyaktuk[["latitude"]], m0[["name"]], m0[["amplitude"]], m0[["phase"]]) # Test agreement with tidem() result, by comparing predicted sealevels. p1 <- predict(m1, sealevelTuktoyaktuk[["time"]]) expect_lt(max(abs(p1 - p0), na.rm=TRUE), 1e-10) # Simplified harmonic model, using large constituents # > m0[["name"]][which(m[["amplitude"]]>0.05)] # [1] "Z0" "MM" "MSF" "O1" "K1" "OO1" "N2" "M2" "S2" h <- " name amplitude phase Z0 1.98061875 0.000000 MM 0.21213065 263.344739 MSF 0.15605629 133.795004 O1 0.07641438 74.233130 K1 0.13473817 81.093134 OO1 0.05309911 235.749693 N2 0.08377108 44.521462 M2 0.49041340 77.703594 S2 0.22023705 137.475767" coef <- read.table(text=h, header=TRUE) m2 <- as.tidem(mean(sealevelTuktoyaktuk[["time"]]), sealevelTuktoyaktuk[["latitude"]], coef$name, coef$amplitude, coef$phase) p2 <- predict(m2, sealevelTuktoyaktuk[["time"]]) expect_lt(max(abs(p2 - p0), na.rm=TRUE), 1) par(mfrow=c(3, 1)) oce.plot.ts(sealevelTuktoyaktuk[["time"]], p0) ylim <- par("usr")[3:4] # to match scales in other panels oce.plot.ts(sealevelTuktoyaktuk[["time"]], p1, ylim=ylim) oce.plot.ts(sealevelTuktoyaktuk[["time"]], p2, ylim=ylim)