The joys of Nabble: Re: Cannot use negative argument in function
This is yet another problem with the Nabble interface to the list.
On Wed, Feb 29, 2012 at 6:21 PM, Richard M. Heiberger <rmh at temple.edu> wrote:
This line ?TT <- *Temp*+273.15 makes it unexecutable. ?that is not the error you mentioned.
On nabble, that variable is in bold. When it's reformatted for the plain-text email list, the formatting is converted to ** surrounding that bit of text. This is not helpful. Please note, this is an argument for NOT using nabble, rather than for converting the list to HTML. The latter would cause many more problems. Another problem with nabble is that there is no context in this post. What error? What reproducible example? What are we trying to solve? With the erroneous formatting codes removed, the function runs, as far as I can tell. Sarah
should that be ?TT <- "Temp"+273.15 or ?TT <- Temp+273.15 or something else? On Wed, Feb 29, 2012 at 2:14 PM, lidaky <svfilhol at alaska.edu> wrote:
here is the code:
index.refraction <- function(Temp,Press, RH, CO2)
{
?#define constant
?lambda ?<- ?531 #nm
?Co ?<- 299792458 #m/s
?ww <- c(295.235,2.6422,-0.03238,0.004028)
?kk ?<- c( 238.0185 ,5792105 ,57.362 ,167917)
?aa ?<- c( 1.58123 * 10^(-6) , -2.9331 * 10^(-8) , 1.1043 * 10^(-10))
?bb ?<- c( 5.707 * 10^(-6) , -2.051 * 10^(-8))
?cc ?<- ?c(1.9898 * 10^(-4) , -2.376 * 10^(-6))
?dd ?<- 1.83 * 10^(-11)
?ee ?<- ?-0.765 * 10^(-8)
?pp <- 101325
?tt <- 288.15
?zz <- 0.9995922115
?ro <- 0.00985938
?R <- 8.314472
?M <- 0.018015
?S <- 1/(lambda*10^-3)^2
?ras <- 10^-8*((kk[2]/(kk[1]-S))+(kk[4]/(kk[3]-S)))
?rvs ?<- 1.022*10^-8*(ww[1]+S*ww[2]+ww[3]*S^2+ww[4]*S^3)
?Ma ?<- ?0.0289635 + 1.2011 * 10^(-8) * (CO2 - 400)
?raxs ?<- ras*(1+5.34*10^-7*(CO2-450))
?TT <- *Temp*+273.15
#Saturation vapor pressure over ice
# A1 <- -13.928169
# A2 <- 34.7078238
# Theta <- (*Temp*+273.15)/273.16
# Y ?<- ?A1 * (1 - Theta^(-1.5)) + A2 * (1 - Theta^(-1.25))
# Psv <- 611.657*exp(Y)
?#Saturation vapor pressure over water
?Tc ?<- ?647.096 ? ? ? # K ? : Temperature at the critical point
?Pc ?<- ?22.064 * 10^4 # hPa : Vapor pressure at the critical point
?nu ?<- ?(1-TT/Tc)
?a1 ?<- ?-7.85951783
?a2 ?<- ?1.84408259
?a3 ?<- ?-11.7866497
?a4 ?<- ?22.6807411
?a5 ?<- ?-15.9618719
?a6 ?<- ?1.80122502
?Psv ?<- ?Pc * exp(Tc/TT * (a1*nu + a2*nu^1.5 + a3*nu^3. + a4*nu^3.5 +
a5*nu^4. + a6*nu^7.5))
Alpha ?<- ?1.00062
Beta ?<- ?3.14 * 10^(-8)
Gamma ?<- ?5.60 * 10^(-7)
fpt <- Alpha+Beta*Press+Gamma**Temp*^2
Xv <- (RH/100)*fpt*Psv/Press
?Zm <- 1-(Press/TT)*(aa[1]+aa[2]**Temp*+aa[3]**Temp*^2
? ? ? ? ? ? ? ? ? ? ?+(bb[1]+bb[2]*Temp)*Xv+(cc[1]+cc[2]**Temp*)*Xv^2)
+(Press/TT)^2*(dd+ee*Xv^2)
Roaxs <- pp*Ma/(zz*R*tt)
Rov <- Xv*Press*M/(Zm*R*TT)
Roa <- (1-Xv)*Press*Ma/(Zm*R*TT)
n <- 1+(Roa/Roaxs)*raxs+(Rov/ro)*rvs
return(n)
}
Basically, this is just a function to calculate index of refraction in air.
The function is just dealing with numbers.
So i am quite surprise getting this error.
Simon
--
View this message in context:
http://r.789695.n4.nabble.com/Cannot-use-negative-argument-in-function-tp4430667p4432628.html
Sent from the R help mailing list archive at Nabble.com.
?______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
? ? ? ?[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Sarah Goslee http://www.functionaldiversity.org