Description Usage Arguments Details Value Author(s) Examples
The ProcTraj function is responsible for all setup and execution of the HySplit model.
1 2 3 4 5 6 7 8 9 10 |
lat |
Numeric: Initial point's Latitude. |
lon |
Numeric: Initial point's Longitude. |
hour.interval |
Integer: This value specifies the hour interval when each trajectory will be calculated. |
name |
String: Name of the trajectory endpoints file. |
start.hour |
String: Specifies the START hour of the simulation. An example would be: start.hour = "12:00". |
end.hour |
String: Specifies the END hour of the simulation. An example would be: start.hour = "14:00". |
met |
String: Directory location of the meteorological file. More information concerning to meteorological files can be found in http://www.meteozone.com/home/tutorial/html/meteo_ftp.html. |
out |
String: Directory location to which the [output.RData] trajectory end-point files will be written. Always terminate with the appropriate slash (\ or /). If this argument is omitted, the output will only be returned by the function instead of be saved on the local memory. Also, when [out] is omitted, the argument [name] will not be used. |
hours |
Integer: Total run time. It specifies the duration of the calculation in hours. Backward calculations are entered as negative values. A backward trajectory starts from the trajectory termination point and proceeds upwind. Meteorological data are processed in reverse-time order. Because only two additional meteorological files are loaded, one for the previous and another for the next month, it is recommended a maximum trajectory length of 24 hours. |
height |
numeric: The initial trajectories height. Height is entered as meters above ground-level. |
hy.path |
String: The local path where HySplit is located. Example, for linux/OS X Operating Systems "/home/user/Desktop/hysplit/trunk/" |
ID |
Integer: Process ID. When called in Parallel, the ID argument ensures that each process will deal with separate set of files preventing race condition problems among different processes. |
dates |
Vector containg all the dates that will be calculated by hysplit. |
script.name |
String: Name of the script file that will run HySplit, Default value: "script" |
add.new.column |
Boolean; |
new.column.name |
String: |
new.column.value |
Any Value |
tz |
String: This argument specifies the Time Zone to be applied, e.g. "GMT" |
clean.files |
Boolean: If TRUE, all the files created by HySplit will be deleted. |
In order to make the input files for HySplit consistent, the ProcTraj function will always load 3 meteorological files for a specific month. For example, for the month of January 2014, it will load the meteorological files from December of 2013, January of 2014, and February of 2014.
ProcTraj returns a data frame with the pre-calculated HySplit forward or backward trajectories. If the [out] argument is specified with a valid path, ProcTraj will save the data frame with pre-calculated HySplit forward or backward trajectories in the system local storage.
Thalles Santos Silva
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | ##---- For Windows system
##---- For Unix alike systems
# library("opentraj")
# library("doParallel")
#
# ########################
# # SETUP VARIABLES
# kYear <- 2007
# KHeight <- 100
#
# # path to meteorological files
# # you have to make sure this path is consistent
# # for information on how to get HySplit Meteorological data,
# # http://www.arl.noaa.gov/documents/workshop/Spring2011/HYSPLIT_Tutorial.pdf
# KMetFiles <- "/path/to/the/meteorological/files/"
#
# KOutFiles <- "/path/output/files/"
#
# # HySplit instalation path
# KHySplitPath <- "/path/to/hysplit/"
#
# # load the defoliation point file
# data(pheno2007)
#
# # convert the dates to objects of class Date
# pheno2007$Year.Month.Day <-as.Date(pheno2007$Year.Month.Day)
#
# # subset the data, in order to get only the points with ID = 1
# pointsDf<-split(pheno2007, pheno2007$ID)
#
# # get the number of phisical cores availables
# cores <- detectCores()
# #
# cl <- makeCluster(cores)
#
# registerDoParallel(cl)
#
# start.time<-Sys.time()
#
# hy.traj2007 <-
# foreach(i = 1:length(pointsDf), .packages="opentraj", .combine = rbind) %dopar%
# {
# points <- pointsDf[[i]]
#
# # get the point's latitude and longitude
# lat<-points[[2]][1]
# long<-points[[3]][1]
#
# dates <- points$Year.Month.Day
#
# ########################
# output.file.name<-""
# output.file.name<-paste("pheno", "_", as.character(i), "_", sep="")
#
# ProcTraj(lat = lat, lon = long, year = Year, name = output.file.name,
# hour.interval = 1,
# met = KMetFiles, out = KOutFiles,
# hours = 3, height = KHeight, hy.path = KHySplitPath, ID = i, dates=dates,
# start.hour = "19:00", end.hour="23:00",
# tz="EST", clean.files=F)
# }
#
# end.time<-Sys.time()
# time.taken<-end.time - start.time
# time.taken
#
# stopCluster(cl)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.