vignettes/OISST_preparation.Rmd
OISST_preparation.Rmd
In this vignette we shall look at retrieving and processing the Reynolds optimally interpolated sea surface temperature (OISST), which is a global data set of Advanced Very High Resolution Radiometer (AVHRR) derived SSTs at a daily resolution, starting on 1 September 1981. The source of the data is the Physical Oceanography Distributed Active Archive Centre (PODAAC).
Each global, daily file is around 8.3Mb, so they add up to a large amount of data when a time series of at least 30 years duration is downloaded. A time series of at least 30 years is needed for heatwave detection. Currently I have 13,216 of these global files, and this amounts to ~108Gb of total disk space. Since not everyone will need all of these data, we shall subset the data using a python script prior to downloading them.
To do the subsetting and bring the data to your local computer/server, you will need access to python 2.7 with numpy. Make sure it is installed on your system and visible on the system PATH.
Create a folder on your server where all the data will be received, below, for example, I use /Users/ajsmit/spatial/test/netCDF
.
Into this directory, copy the python script, subset_dataset.py
(link). Remember to make the file executable by running chmod +x subset_dataset.py
. I use MacOS X (or linux), so I’m not able to provide instructions if you use Windows. In a terminal, change to the directory that will receive the netCDF files, where the python script now lives. If python is in your system’s path, you should be able to execute the following command on the terminal/command line at the prompt >
:
> ./subset_dataset.py -s 19810901 -f 20171014 -b 6.25 45 -45 -20 -x AVHRR_OI-NCEI-L4-GLOB-v2.0
Encapsulated by the above command are the following parameters:
The spatial extent is for the Agulhas Current region around South Africa; we select files starting in 1981-09-01 and going up to 2017-10-19. The short name is the name mentioned on the Reynolds OISST data website—substituting this name for any of the other SST datasets on that website should then permit the retrieval of other data sets (e.g. the MUR data’s short name is MUR-JPL-L4-GLOB-v4.1).
Adjust any of these parameters to taste in order to define the spatial extent and the time period as required by your study.
If everything works according to plan, a bunch of data will now be downloaded. This might take several hours. There will be one netCDF file for each day of the study period. In later steps in R we shall combine them into one .csv
file, and then do some other processing steps on them to extract the heat waves.
There are many ways to approach this problem, and the one I take here is to produce an intermediate .csv
file that has all the data for the region/period of interest—all of it in one file. For the subregion/period defined by the python subsetting function, above, this combined file weighs in at 4.88Gb. This might not be the most efficient way to deal with the problem, but I like having this intermediate .csv
file on hand as I subject these data to several other processing steps besides marine heat wave detection.
Here is a set of steps that does the job for me:
# generic_netCDF2csv.R
# NOTES ON USING THIS SCRIPT ----------------------------------------------
# 1. The Reynolds OISST v2 data processed by this script can be retrieved from:
# https://podaac.jpl.nasa.gov/dataset/AVHRR_OI-NCEI-L4-GLOB-v2.0
# 2. Subsetting and the selection of the time steps to be done via the python
# script `subset_dataset.py`.
# 3. This R script requires the already subsetted netCDFs to reside inside a
# directory whose path is specified by `nc.dir`, below.
# 4. The .csv files produced will be placed inside of the directory named by
# `csv.dir` (make sure this directory already exists).
# 5. The dates that will be included with the final .csv file will be extracted
# directly from the names of the daily netCDF files; please, therefore, make
# sure to never change them by manually editing them.
# 6. The base name of the new .csv file will be partly based on the name of the
# input netCDF files, with the start and end dates appended at the end. These
# things are hard coded into the script below.
# 7. I am sure I have missed some things, or that some things may break somehow;
# please let me know if this happens and I shall fix it.
# 8. This file may take a while to run (10s of minutes to hours, depending on
# the amount of data processed); please be patient while it does its thing.
# Author: AJ Smit
# Date: 27 April 2018
# e-mail<EMAIL_ADDRESS># CAUTION -----------------------------------------------------------------
# This function will append data to the end of an existing file that had been
# previously produced by this script. This will result in duplicate data. If you
# need to rerun the script for some reason, please make sure to delete the file
# created as the result of the previous run from the `csv.dir`.
# LOAD LIBRARIES ----------------------------------------------------------
library(ncdf4) # library for processing netCDFs
library(data.table) # for fast .csv write function, `fwrite()`
library(tidyverse) # misc. data processing conveniences
library(reshape2) # for making a long data format
library(plyr) # for `llply()`
library(lubridate) # for working with dates
library(stringr) # for working with strings
library(doMC); doMC::registerDoMC(cores = 4) # for multicore spead-ups
# SPECIFY FILE PATHS ------------------------------------------------------
# Setup OISST netCDF data path and csv file output directory
nc.dir <- "/Users/ajsmit/spatial/test/netCDF"
csv.dir <- "/Users/ajsmit/spatial/test/csv"
# PARSE FILE INFO (not used directly) -------------------------------------
# Use to determine the start/end points of the `name.stem` (see code below)
# 1 2 3 4 5 6 7
#<PHONE_NUMBER>12345678901234567890123456789012345678901234567890123456789012345
#<PHONE_NUMBER>0000-NCEI-L4_GHRSST-SSTblend-AVHRR_OI-GLOB-v02.0-fv02.0_subset.nc
# OISST netCDF READ FUNCTION ----------------------------------------------
# Function to extract the dims and data from OISST netCDFs
ncRead <- function(nc.dir = nc.dir, csv.dir = csv.dir) {
nc.list <- list.files(path = nc.dir, pattern = "*.nc", full.names = TRUE, include.dirs = TRUE)
strt.date <- str_sub(basename(nc.list[1]), start = 1, end = 8)
end.date <- str_sub(basename(nc.list[length(nc.list)]), start = 1, end = 8)
ncFun <- function(nc.file = nc.file, csv.dir = csv.dir) {
nc <- nc_open(nc.file)
name.stem <- substr(basename(nc.file), 16, 72)
date.stamp <- substr(basename(nc.file), 1, 8)
sst <- round(ncvar_get(nc, varid = "analysed_sst"), 4)
dimnames(sst) <- list(lon = nc$dim$lon$vals,
lat = nc$dim$lat$vals)
nc_close(nc)
sst <-
as.data.frame(melt(sst, value.name = "temp"), row.names = NULL) %>%
mutate(t = ymd(date.stamp)) %>%
na.omit()
# Use data.table's `fwrite()` because it is much faster than anything else
# for large csv files
fwrite(sst,
file = paste0(csv.dir, "/", name.stem, "-", strt.date, "-", end.date, ".csv"),
append = TRUE, col.names = FALSE)
rm(sst)
}
# `parallel = FALSE` allows for better error checking should something go wrong;
# there's also a helpful progress bar that becomes available
llply(nc.list, ncFun, csv.dir = csv.dir, .parallel = FALSE)
}
Now I simply run this function:
# RUN THE FUNCTION --------------------------------------------------------
# If everything works according to plan, all that's required is to execute
# this line as is after specifying `nc.dir` and `csv.dir` paths, above
system.time(ncRead(nc.dir, csv.dir))
Now we shall detect the extreme heat events using the RmarineHeaWaves package (soon to be replaced with heatwaveR).
# SET-UP SOME THINGS ------------------------------------------------------
csv.dir <- "/Users/ajsmit/spatial/test/csv"
# Specify the name of the file created by `system.time(ncRead(nc.dir, csv.dir))` in the
# `csv.dir` that was named above
csv.file <- "NCEI-L4_GHRSST-SSTblend-AVHRR_OI-GLOB-v02.0-fv02.0_subset-19810901-20171014.csv"
# Read in the data in the combined .csv file and assign column names;
# again using the data.table way (`fread()`), which is FAST...
sst.dat <- fread(paste0(csv.dir, "/", csv.file))
colnames(sst.dat) <- c("lon", "lat", "temp", "t")
# A FAST DATE FUNCTION ----------------------------------------------------
# This speeds the creation of the date vector up immensely
fastDate <- function(x, tz = NULL) {
require(fasttime)
as.Date(fastPOSIXct(x, tz = tz))
}
# APPLY FAST DATE FUNCTION ------------------------------------------------
sst.dat$t <- fastDate(sst.dat$t)
# DETECT FUNCTION FOR GRIDDED DATA ----------------------------------------
# The `clim` switch selects either climatology or events as output;
# please provide your own date range in here
OISST_detect <- function(dat = data, doy = doy, x = t, y = temp,
warm = TRUE, clim = FALSE,
climatology_start = "1983-01-01",
climatology_end = "2012-12-31") {
require(RmarineHeatWaves)
dat <- dat[,3:4] # hard-code cols with temp and date
whole <- make_whole(dat)
if (warm) {
out <- detect(whole, min_duration = 5, max_gap = 2, cold_spells = FALSE,
climatology_start = climatology_start,
climatology_end = climatology_end)
} else {
out <- detect(whole, min_duration = 5, max_gap = 2, cold_spells = TRUE,
climatology_start = climatology_start,
climatology_end = climatology_end)
}
if (clim) {
clim <- out$clim
return(clim)
} else {
event <- out$event
return(event)
}
}
# DETECT EVENTS! ----------------------------------------------------------
events <- as_tibble(ddply(sst.dat, .(lon, lat), OISST_detect,
warm = TRUE, clim = FALSE,
.parallel = FALSE, .progress = "text"))
# SAVE AND CLEAN UP -------------------------------------------------------
event.dir <- "/Users/ajsmit/spatial/test/events"
# Reuse the existing name; this ensures traceability of the files back to
# the input sources
event.file <- gsub(pattern = "\\.csv$", "", csv.file)
# Write the file out to disk
fwrite(events, file = paste0("event.dir", "/", event.file, "-events.csv"))
remove(events); remove(sst.dat)
Please let me know if there are issues with the scripts, or if you have suggesations about how to improve them.


{% extends 'base.html' %} {% block content %} Browse for recipes by category Browse your recipes After a particular cuisine? Concerned about dietary requirements? Or just fancy that particular dish with your favourite ingredient? Search the Cookbook by clicking on the categories below. Search Category: {%for ingredient in category_list["ingredients"] %} {{ingredient}} {%endfor%} Select at least one ingredient {%for allergy in category_list["allergens"] %} {%if allergy=="Meat"%} Vegetarian {%else%} {{allergy}}-free {%endif%} {%endfor%} Select at least one option {%for difficulty in category_list["difficulty"] %} {{difficulty}} {%endfor%} Select at least one difficulty level {%for meal in category_list["meal"] %} {{meal}} {%endfor%} Select at least one type of recipe {%for country in category_list["country"] %} {{country}} {%endfor%} Select at least one country {%for author in category_list["author"] %} {{author}} {%endfor%} Select at least one author Cancel Cancel Search Search Ingredients Dietary Difficulty Meal Country Author Home Home {% endblock %}
After a particular cuisine? Concerned about dietary requirements? Or just fancy that particular dish with your favourite ingredient? Search the Cookbook by clicking on the categories below.
Ingredients
Dietary
Difficulty
Meal
Country
Author


Situated on the extreme eastern tip of the land forming the northern shore of Brunei Bay, Muara is an important port for Brunei being its only deep-water one. It is also well-known for its long, fine, white sandy beach.
Position 5° 0.52' N, 115° 04.1'E.
Port control should be contacted on VHF Channel 16.
If arriving in the evening it is OK to report in next morning.
The easiest way to check in is to anchor off the Serasa Ferry Terminal (5°0.9' N 115°03.8'E) on the way in, then move to the yacht club once checked in. It's a long dinghy ride from the yacht club with a slow dinghy!
Tie the tender to to the small landing inside the ferry terminal, about half way down the central covered walkway. The Port Authorities are just round the second turning, at the end of the walkway. After having completed all the clearing in procedures, to get back to your tender, enter the departure lounge, walk through (after having you newly issued visa checked), down the covered walkway to the extreme end, back on your self until adjacent to the tender landing area.
You may also have to check in with quarantine but this is not always required.
The ferry terminal is open from 07:00 to 18:00.
Last updated June 2013.
It is important to keep to the marked channel because of the training walls which extend some way out from the entrance. There can be a current of up to 1.5 knots in or out of the river as well as a cross current where the training wall rises above sealevel.
Yachts can anchor past the pier, close to the Royal Brunei Yacht Club which is a little way up the river on the starboard side at approx 5°0.1'N 115°04.0'E. The RBYC anchorage is good holding in mostly mud. Don't come closer in than the moored yachts as it gets shallow fast.
There are no longer any free moorings here, and the locals will get upset if you grab their mooring while they are out sailing for the day.
Last updated June 2013.


This is a link styled as a button:
This is a <button> element:
Vertical vs. Inline buttons:
These buttons are part of a control group:
Buttons with icons in them:


The Japanese Government Made This Car Almost Entirely Out Of Wood
Wood you believe it?
by Anthony AlanizWe don’t know what tomorrow will bring. The automotive future we imagine today could be vastly different from the reality we will encounter. Autonomous and electric vehicles, 5G cellular network tech, ride- and car-sharing services, and more are eager to disrupt the industry. Companies are merging and partnering, global car sales are slowing, and Japan’s Ministry of the Environment is made a car out of wood. Well, sort of. It’s called the Nano Cellulose Vehicle and it’s as wild as the styling suggests.
Wood Could Come To Your Next Car:
This isn’t the first car made of wood, which automakers have used since the inception of the automobile. Companies have used wood as structural pieces of a vehicle before, though today we most often find wood in the form of various interior trim pieces. Japan’s innovative automobile is a bit different. It’s made of nano cellulose fibers, or, as Jalopnik notes, which found the story, “plant-derived material.”
Wood isn’t the first material that jumps to mind when you think of a modern-day automobile, but the material does provide several benefits that other automakers may be eager to use. The cellulose fiber is one-fifth the weight of steel while being five times as strong. The Ministry used the material to build the vehicle’s bodywork and part of the tub. The benefit is weight savings. The Nano Cellulose Vehicle is half the weight of a traditional automobile. This could increase a vehicle’s efficiency and/or range.
Gallery: Nano Cellulose Vehicle Concept
However, the focus wasn’t about the car, as cool as it looks. Instead, the vehicle is the result of exploring new manufacturing techniques, processes, and materials designed to reduce carbon emissions when building a car. Does that mean your next car will be made out of wood? That’s unlikely. What’s more likely is automakers selectively using nano cellulose fibers throughout a vehicle, saving weight, increasing efficiency, and pushing the automotive industry to new places.
Source: Japan's Ministry of the Environment via Jalopnik


Gaffe-Prone Biden Briefly Claims He’s In Ohio During Iowa Stop
Former Vice President Joe Biden (D) experienced another gaffe during a stop in Iowa over the weekend, briefly claiming that he was in Ohio while campaigning in the Hawkeye State.
by Hannah BleauBiden, who has remained gaffe-prone throughout his presidential bid, misspoke yet again during a campaign stop at Abby Finkenauer’s Fish Fry in Cedar Rapids, Iowa, on Saturday, briefly claiming that he was in Ohio before correcting himself.
“How many unsafe bridges you still have here in the state of Ohio?” he said before correcting himself. “I mean Iowa. I was just in Ohio because they have more”:
While it is true that Biden corrected himself, the flub draws attention to the mounting gaffes he has committed throughout his campaign.
On Friday, for instance, Biden confused former Presidents Andrew Johnson and Andrew Jackson during a speech in Des Moines.
“Look what happened in Charlottesville,” Biden said.
“He said there were very fine people on both sides,” he continued, repeating the long-debunked lie he has heavily relied on throughout his presidential bid. “No president, no president has ever said that, including Andrew Johnson before the Civil War.”
Similarly, Biden confused which state he was in during a campaign stop in Keene, New Hampshire in August:
Days prior to the New Hampshire gaffe, the former vice president confused Burlington, Vermont with Burlington, Iowa, although he corrected his mistake as he did in Iowa on Saturday.


Sperm Race | a journey of life and death (part 1)
SPERM RACE|DOCUMENTARY
CONTENT PROVIDED BY: ITV GLOBAL
Everyday around 350babies are born, each of them unique a few months ago this baby didn’t exist and the story of how it came is against impossible odds and is extraordinary
This is the moment of conception when one single sperm fertilized the mothers egg if another has gotten there this baby wouldn’t be formed. So, what makes that winning sperm so special? Why did it succeed out of the millions of others? To find out we would take you to the epic Journey of the sperm and how it got to the human body and we would do it by scaling up the whole thing to the size of human(34m)
For the 1st time we should be able to appreciate what an extra-ordinary journey a sperm faces as they try to reach the egg, it is one of nature spectacular story and this is the reason we are alive. The sperm will face death at every point. There is no going back, no surrender and there is only one winner and occasionally two or three share the prize(egg).
Meet Mr. john like most average man, john as no idea about the miracle and engineering within his pant. John’s testicle hanging slightly 3degree cooler than the rest of the body, are producing a 1000 sperm within every heartbeat. And it in this tiny world of genetic activity that fascinate the world of reproductive science.
| “sperm are really quite unique because they are like free living cell and have life. They have one aim to deliver the genetic load of the male to the female through series of complex environment in both the male and female reproductive tract…and the fact that its occurring in the microscopic level means that as a scientist there Is great difficulty in studying them….”(Dr. Allen Pacey, sperm expert university of Sheffield). A sperm is just 500nm long to make it easier for this study we would scale it up to the size of human(34m) Now, we asked our experts in Our people sized sperm world, what would a testicle look like?
Dr. Allan “the testicle is a round-like structure if you cut it into half and place it under a microscope, we would see series of tubules u might liken to the floor of building. If you take a sperm, you might liken it to a building with a 100m3.


[§84-38] Judicial branch. The powers and duties assigned in this part IV to the governor shall, with respect to employees in the judicial branch, be assigned to the chief justice of the supreme court. [L 1977, c 159, §15]


--- layout: default title: RVKendo - Articles --- Articles Blogs, articles, and other helpful links {% for article in site.data.articles %} {{ article.name }} {% endfor %}


Originally written by Marta Kauffman and David Crane
Trascribed by Mindy Mattingly Phillips<EMAIL_ADDRESS>Minor additions and adjustments by Dan Silverstein.
[Scene: Monica and Rachel's apartment. Phoebe, Monica, and Rachel are there, discussing the night before.]
RACH: Ross kissed me.

RACH: It was unbelievable!

PHOE: Ok, all right. We want to hear everything. Monica, get the wine and unplug the phone. Rachel, does this end well or do we need to get tissues?
RACH: Oh, it ended very well.
PHOE: Oh.
MNCA: [getting the wine] Do not start without me. Do not start without me.
PHOE: Ok, all right, let's hear about the kiss.  Or was it like a, you know, a "I gotta have you now" kind of thing?
RACH: Well, at first it was really intense, you know. And then, oh, god, and then we just sort of sunk into it.
PHOE: Ok, so, ok, was he holding you?
RACH: No, actually first they started on my waist. And then, they slid up, and then, they were in my hair.
PHOE/MNCA: Ohhhh.
[Scene: Ross' apartment. Ross, Chandler, and Joey are there eating pizza.]
ROSS: And, uh, and then I kissed her.
JOEY: Tongue?
ROSS: Yeah.
JOEY: Cool.
[Scene: Central Perk. Joey, Phoebe, Monica, and Chandler are there; Chandler is showing everyone his new computer.]
CHAN: All right, check out this bad boy. 12 megabytes of ram. 500 megabyte hard drive. Built-in spreadsheet capabilities and a modem that transmits at over 28,000 b.p.s.
PHOE: Wow. What are you gonna use it for?
CHAN: [doggedly] Games and stuff.
MNCA: [reading the paper] There are no jobs. There are no jobs for me.
JOEY: [reading over her shoulder] Wait, here's one. Uh, would you be willing to cook naked?
MNCA: There's an ad for a naked chef?
JOEY: No, but if you're willing to cook naked, then you might be willing to dance naked. And then... [rubs his fingers together]
[Ross enters, distraught.]
ROSS: Hi.

ROSS: That, that is funny. That is painfully funny. No, wait. Wait, yeah, that's just painful
MNCA: Wait a minute. I thought last night was great.
ROSS: Yeah, it was, but...I get home, ok, and I see Julie's saline solution on my night table.  I mean, here I am, I am with Julie, this incredible, great woman, who I care about and who cares about me, and I'm like, what, am I just gonna throw all that away?
JOEY: You got all that from saline solution?
MNCA: We are talking about Rachel here. You and Rachel.
ROSS: Believe me, I've been dreaming about me and Rachel for ten years now. But now, I'm with Julie, so it's like me and Julie, me and Rachel, me and Julie, me and... [Rachel enters, carrying a tray]... Rachel. Rachel, Rachel.
RACH: [to Ross] Hey, you.
ROSS: How are you?
RACH: Good. How are you?
ROSS: Good.
[Julie enters.]
JULIE: Hi, honey.
ROSS: Hi, Julie. [nervous] Hi, Julie. Julie, um, how are you?
JULIE: Good.
ROSS: [uncomfortable] Good, so everybody's here. Everybody's good. So, were you gonna play something, Phoebe?
PHOE: Oh, well, actually.
ROSS: [impatient] Play it.
PHOE: Ok, all right.
JOEY: Hey, Julie, I didn't know you wore lenses.
JULIE: What?
ROSS: [to Joey] Ssshh.
PHOE: Ok, um, hi, hello, hi, ok, so, um, this is a song about a love triangle between three people that I made up. Um, it's called, um, "Two of Them Kissed Last Night".
[Ross and Rachel look at each other and then at Phoebe, realizing the song is about their situation.]
PHOE: [singing] There was a girl, we'll call her Betty, and a guy let's call him Neil. Now I can't stress this point too strongly, this story isn't real. Now our Neil must decide, who will be the girl that he casts aside. Will Betty be the one who he loves truly? Or will it be the one who we'll call Ju...Loolie? He must decide, he must decide, even though I made him up, he must decide!
[Scene: Mr. Ratstatter's (RTST) office. Monica is there about a job.]
RTST: This is a nice resume. Nice, nice, nice. Muy impressivo.
MNCA: So, Mr. Rastatter, what exactly does this job entail? The ad wasn't too clear.
RTST: Mockolate.
MNCA: I'm sorry?
RTST: Mockolate. It's a completely synthetic chocolate substitute.
MNCA: Ohh.
[He pulls out a piece of Mockolate.]
RTST: Go ahead. Try a piece. Yeah, we think that Mockolate is even better than chocolate.
MNCA: All right. Mmm-mmm.
[She tastes it, and obviously hates it.]
RTST: Yeah?
MNCA: [disgusted, trying not to show it] I love how it crumbles. Now see, your chocolate doesn't do that.
RTST: No, ma'am. Well, anyhoo, we should be getting our F.D.A. approval any day now, hopefully, in time for Thanksgiving. See, the way we look at it, chocolate already dominates most of your major food-preparation holidays: Easter, Christmas, what have you.
MNCA: [still chewing] Mmm-mmm.
RTST: But, we're thinking, given the right marketing, we can make Thanksgiving the Mockolate holiday.
MNCA: Wow.
RTST: Aren't you going to swallow that?
MNCA: Just waiting for it to stop bubbling.
RTST: Yeah, isn't that great?
MNCA: [with false enthusiasm] Mmm.
RTST: Well, anyhoo, um, we are looking for a couple of chefs who can create some Thanksgiving-themed recipes. You think you might be interested?
MNCA: Abso...[swallows hard]...lutely. See, I love creating new recipes. I love Thanksgiving. And, well, now, I love Mockolate.
RTST: Really?
MNCA: Especially the after taste, you know, I'll tell ya, that'll last ya till Christmas.
[Scene: Monica and Rachel's apartment. Monica and Phoebe are there. Monica is suggesting Mockolate recipes to Phoebe.]
MNCA: How about Mockolate mousse?
PHOE: It's not, it's not very Thanksgiving-y.
MNCA: Ok, how about pilgrim Mockolate mousse?
PHOE: What makes it pilgrim?
MNCA: We'll put buckles on it.
[Rachel enters.]
RACH: Hey.
PHOE: Hey.
MNCA: Hey.
RACH: Did uh, Ross call?
MNCA: No, I'm sorry.
RACH: Why didn't he call?  He's gonna stay with her and she's going to be all, "Hi, I'm Julie, Ross picked me, and we're gonna to get married, have a lot of kids and dig up stuff together."
PHOE: No offense, but that sounds nothing like her.
[Scene: Chandler and Joey's apartment. Ross is up in arms about the Rachel/Julie situation.]
ROSS: I don't know what to do. What am I gonna do?
CHAN: Oh, I know. This must be so hard. Oh, no. Two women love me. They're both gorgeous and sexy.
JOEY: Hey, here's a thought, Ross. [reaches for the computer]
CHAN: Don't touch the computer. Don't ever touch the computer.
JOEY: Ross, listen. I got two words for you. Threesome.
[Ross gives him an insulted look.]
CHAN: Ok, all right, look. Let's get logical about this, ok? We'll make a list. Rachel and Julie, pros and cons. Oh. We'll put their names in bold, with different fonts, and I can use different colors for each column.
ROSS: Can't we just use a pen?
CHAN: No, Amish boy.
JOEY: Ok, let's start with the cons, 'cause they're more fun. All right, Rachel first.
ROSS: I don't know.
JOEY: You could say that.
 And I've seen her be a little too into her looks. Oh, and Julie and I, we have a lot in common 'cause we're both paleontologists, but Rachel's just a waitress.
CHAN: Waitress. Got it. You guys wanna play Doom? Or we could keep doing this. What else?
ROSS: I don't know.

CHAN: Ok, let's do Julie. What's wrong with her?
ROSS: [long pause] She's not Rachel.
[Scene: Monica and Rachel's apartment. Monica has made food for Phoebe and Rachel to taste.]
MNCA: Ok, this is pumpkin pie with mockolate cookie crumb crust. This is mockolate cranberry cake, and these are mockolate chip cookies. Just like the Indians served.
[Rachel takes a bite.]
RACH: Oh my god.
MNCA: Oh my god good?

[Rachel runs to the sink to spit it out.]
PHOE: Oh, oh sweet Lord! This is what evil must taste like!
[Scene: Chandler and Joey's apartment. Chandler is on the phone with a computer hotline.]
 Yes, I pressed that button like 100 times. You know, for a hot line you are not so hot. What? What is that in the background? Are you watching Star Trek?
[Ross enters with a melancholy look.]
JOEY: [to Ross] Hey, so how'd it go with Julie? Did you, did you break her heart?
ROSS: Yes, it was horrible. She cried. I cried. She threw things, they hit me. Anyway, I did the right thing.
CHAN: [in phone] So, Spock actually hugs his father?
[Rachel enters.]
RACH: Hey, do you guys have...[sees Ross, pauses]...hi.
ROSS: Hi.
RACH: [sees his coat on] Where you goin'?
ROSS: I uh, I just got back from uh, from Julie's.
RACH: [dejected] Oh.
ROSS: No, no, uh, it's not what you think. It's um the other thing.
RACH: Well, what's the other thing, what do I think?
[Joey is looking at Rachel, smiling, and gesturing his head towards Ross.]
ROSS: Well, uh.
JOEY: He broke up with Julie. Well, go hug her, for god's sakes.
RACH: Really?
ROSS: Really. It's always been you, Rach.
[Ross and Rachel hug.]
RACH: Oh, god.
JOEY/CHAN: Ohhh.
RACH: Oh, oh, this is good, this is really good.

RACH: Let me get my coat.
ROSS: Ok. No, hey, whoa, whoa, I'll get your coat.
[Ross leaves.]
RACH: Ok, he's goin' to get my coat. He's goin' to get my coat.  I can't believe this. This is unbelievable. [notices Chandler's computer screen] What's that?
CHAN: [nervous] What? Nothing.
[Chandler closes up the laptop computer screen.]
RACH: What's that? What? I saw my name. What is it?
CHAN: No, no, see? See? [the printer starts to run] Hey, it's printing. [to Joey, rattled] Hey, it's printing!
[Chandler rips off the sheet of paper from the printer.]
RACH: Well what is it? Let me see.
[Ross walks back in, Rachel's coat in hand.]
ROSS: Hey, someone order a coat?
RACH: Ross, Chandler wrote something about me on his computer and he won't let me see.
ROSS: He won't? [remembers what it is] He won't! Because, isn't that, isn't that the, the short story you were writing?
CHAN: Yes, yes it is, short story, that I was writing.
RACH: And I'm in it? Then let me read it.
CHAN, JOEY, ROSS: No!
RACH: Come on.
JOEY: Hey, uh, why don't you read it to her?
[Ross and Chandler stare angrily at Joey, who thinks he has come up with a good idea.]
CHAN: [through gritted teeth] Alright. [clears his throat] "It was summer, and it was hot. Rachel was there. A lonely gray couch. 'Oh, look,' cried Ned, and then the kingdom was his forever. The end."
ROSS: That's it? That's all you wrote?
RACH: All right, you know what? This isn't funny anymore. There's something about me on that piece of paper and I want to see it.
ROSS: No, you don't.
RACH: All right, you know what, that's fine. If you guys want to be children about this, that's fine. I do not need to see it. [Rachel grabs the paper and runs across the room, reading it to herself.]
RACH: What is this? Ross, what is this?
CHAN: Good luck.
[Chandler and Joey leave quickly.]
ROSS: Ok, just, just remember how crazy I am about you, ok?
RACH: Kind of ditzy? Too into her looks? Spoiled?
ROSS: Now that's a little spoiled.
RACH: Just a waitress?
ROSS: No, that, that was, I mean, as opposed to uh, the uh, ok. Is this over yet Rach?
RACH: Oh! I do not have chubby ankles!
[Rachel leaves, and Ross follows her into the hall.]
ROSS: No, no, wait, ok, ok, look at the other side. Look at Julie's column.
RACH: She is not Rachem. What the hell's a Rachem?
[She goes into her apartment and slams the door.]
ROSS: No, Rach, come on. Rach! Rach, no, no! She's not Rachel, she is, she is not, Ra--Rachel?
[Scene: Central Perk. Chandler, Monica, Joey, and Phoebe are there.]
CHAN: My diary! My diary, that's brilliant. I should have told her it was my diary, she never would have made me read her my diary.
MNCA: You know, that's true. You'd be a great person to have around the day after an emergency.
PHOE: I... I cannot believe Ross even made this list. What a dinkus.
JOEY: Hey, cut him some slack. It was Chandler's idea.
PHOE: What?
MNCA: What?
CHAN: Oh good, I was hoping that would come up.
MNCA: This was your idea?
PHOE: What were you thinking?
CHAN: [squirming] All right, let's get some perspective here, ok? These things, they happen for a reason.
MNCA: Yeah. You!
CHAN: All right, Pheebs, back me up here, ok?
PHOE: Yeah, by the way, good luck in your next life as a dung beetle.
[Scene: Monica and Rachel's apartment. Rachel is sitting on the couch, eating candy. It is raining out. Ross climbs up the fire escape and is knocking on the window.]
ROSS: Rach! Whoops! Rach, hey, open up, please!
RACH: [coldly] When somebody does not buzz you in, Ross, that means go away. That doesn't mean please climb up the fire escape.
ROSS: I just wanna read something. It's your pro list.
RACH: Not interested.
[Rachel closes the drapes over the window, goes into her bedroom and closes the door.]
ROSS: [reading his list] Ok, ok, number one: The way you cry at game shows. Number two: how much you love your friends. Number three: the way you play with your hair when you're nervous. Number four: how brave you are for starting your life over. Number five: how great you are with Ben.
[Monica, Chandler, Joey, and Phoebe enter, confused.]
ROSS: Number six: the way you smell.
JOEY: [opens the drapes] Hey, Ross! What are you doin'?
ROSS: Hey, Joey. You wanna open the window?
JOEY: Oh, yeah, I do.
[He opens the window, Ross comes in, soaked.]
CHAN: What are you doing out there?
ROSS: I am, uh, I am...
MNCA: Oh, you must be freezing. You know what you need? How about a nice steaming cup of hot Mockolate?
[Ross runs to Rachel's bedroom, knocking on the door.]
ROSS: Rach, come on, open up. Rach, come on, come on, Rach. You got to give me another chance.
[Rachel opens the door.]
RACH: No.
ROSS: No?
RACH: That's what I said.
CHAN: Look, maybe we should go?
RACH: No, you guys, you really don't have to go, we're done talking.
ROSS: Rach, come on, look, I know how you must feel.
RACH: [near tears] No, you don't, Ross.  Now, how would you feel if the one person that you trusted the most in the world not only thinks them too, but actually uses them as reasons not to be with you.
ROSS: No, but, but I wanna be with you in spite of all those things.
RACH: Oh, well, that's, that's mighty big of you, Ross. [to the others] I said don't go!
ROSS: You know what? You know what? If, things were the other way around, there's nothing you could put on a list that would ever make me not want to be with you.
RACH: Well, then, I guess that's the difference between us. See, I'd never make a list.
[She closes the door in his face. Ross walks sullenly back to the couch and sits down. A moment of silence ensues.]
JOEY: [quietly] I never know how long you're supposed to wait in this type of a situation before you can talk again, you know? [Ross stares blankly at him] Maybe a little longer.
[Scene: Mr. Ratstatter's office. Monica is there.]
MNCA: Now, in some of these recipes, the quantities may seem just a little unusual, uh, like these coconut mockolate holiday nut bars. I've indicated four cups of coconut, and four cups of crushed nut, and only, uh, one tablespoon of mockolate.
RTST: Doesn't matter.
MNCA: What?
RTST: Our FDA approval didn't come through. Something about laboratory rats.
MNCA: Oh, gosh, I'm sorry.
RTST: Yeah, well, anyhoo, here is your check. [hands it to her] Thank you for all the trouble you went through. Um, listen, you didn't eat a lot of it while you were cooking, did you?
MNCA: Well, uh, I ate some.
RTST: Oh, some, that's fine. Some is fine. Some is not a lot. So, it doesn't burn when you pee, does it?
[Scene: Monica and Rachel's apartment. Monica and Rachel are there.]
(phone rings)
MNCA: Hello?
[Ross is at his apartment.]
ROSS: Hi.
RACH: [to Monica] Is that him again? Tell him I'd come to the phone, but my ankles are weighin' me down.
MNCA: [to Ross] Listen, I... I don't think this is the best time.
ROSS: Look, can, can you do something for me?
MNCA: Sure, what? Ok, ok. [hangs up the phone] [to Rachel] Music?
[Monica turns on the radio.]
RADIO: The next one's dedicated to Rachel from Ross. Rachel, he wants you to know he's deeply sorry for what he did and he hopes you can find it in your heart to forgive him. (With or Without You plays)
[Rachel seems touched. She pauses for a moment, then picks up the phone and starts to dial. Cut to Ross at his apartment.]
RADIO: Uh, we've just gotten a call from Rachel, and she told us what Ross did. It's pretty appalling, and Ross, if you're listening, I don't wanna play your song anymore. Why don't we devote our time to a couple that stands a chance? Avery, Michelle's sorry she hit you with her car and she hopes you two will work it out.
[Scene: Mr. Ratstatter's office. Monica is there.]
RTST: Hi, thanks for coming in again.
MNCA: Oh, not at all. I have no morals and I need the cash.
RTST: It's like I'm lookin' in a mirror. Anyway, they're called "fishtachios". They taste exactly like pistachios, but they're made primarily of reconstituted fish bits. Here, try one. You're not allergic to anything, are you?
MNCA: Cat hair.
RTST: Oh, sorry.
END


THE ASSIGNMENT
Based, very loosely I would assume, on the exploits of a mid-East terrorist dubbed THE JACKAL because of his cold blooded heinous crimes against civilians. For the past 20+ years he has bombed and shot indiscriminately at the helpless while he was in the employ of various Mid-East and European countries. Women and children were not spared by The Jackal whose real name was Carlos Sanchez. Despite all-out efforts by our CIA, by Moussad, (the Israeli Secret Service) and other European countries to capture him, the Jackal managed to elude them . . . until one fine day. Imprisoned and given harsh treatment by the Moussad whose chief, Amos (Ben Kingsley) is fiercely delighted at this success, it then turns out that the man they are holding only looks like Sanchez (Aidan Quinn) but is in fact Annibal Ramirez (also played by Quinn) an officer in the U.S. Navy. He is awarded little more than a "Sorry about that" and released.
Shortly thereafter he is approached by Jack Shaw (Donald Sutherland) a high-ranking CIA operative. Ramirez is told in detail about the Jackal, shown horrifying photos of maimed children; brought into a hospital for first-hand viewing of victims. He is further told that the Jackal can be caught only with his cooperation. Because he looks exactly like the terrorist, he is being asked to pretend he is the Jackal while the Israeli and U.S. governments lay a trap. Ramirez offers all kinds of objections but in the end is talked into accepting the role. Thus begins a new life, in its own way a terrorist life.  Before the Russians (the enemy) can be gulled into the trap, they must be sure it is indeed the Jackal.
By concentrating on Annibal Ramirez rather than on the terrorist, the film takes a giant step in the right direction. Adding to the believability of the story are the fine performances by the three leads. Kingsley, tense and determined; Sutherland with a kind of smirk; and Quinn doing double duty (but very little as the terrorist) mostly as the clean-cut Naval officer who almost loses himself in the terrorist role in order to be believable to the enemy.
Others in the cast include Liliana Komorowska, Celine Bonnier, Claudia Ferri, Vlasta Vrana, Von Flores and Al Waxman.
A very exciting film. Very well written by Dan Gordon and Sabi H Shabtai.
Directed by Christian Duguay.
3 Bytes
4 Bytes = Superb 3 Bytes = Too good to miss 2 Bytes = Average 1 Byte = Save your money
Copyright 1997 Ben Hoffman
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: default ---
I co-founded Parallax Information Technology 1996 and have been working with Drupal for ten years and building websites for more than twenty. I'm currently working on Drupal projects with the US Government.
Born in Boston, MA and raised in Bristol RI, I recently moved back to Bristol.
What started as two guys, Jason Pamental and myself, having coffee and talking tech, turned into a book club, and then the Talking Drupal Podcast. The first episode was recorded in 2013 with Jason, John Picozzi, and Nic Laflin. Three of us are still at it today!
With a desire to grow a strong Drupal community in the RI area, I reached out to the same guys to help start the New England Drupal Camp. In 2014, the first NEDCamp was held at Brown University. Local Drupal events are the best way to get involved with the community and continue professional development.
Early in my career I created developer training curriculum and taught courses. With an itch to teach again, in 2018 I launched Thinking Drupal where I offer Drupal training. I look forward to see where this will go in the future.
Family: Erica, my awesome wife of 28 years, and I have two daughters, Meghan and Allison. Toni and Abby, our cats, keep the house interesting when the girls are away.
Mac or PC: I was a MAC until recently switching to Linux. I'm currently using PopOS! on System76 hardware for development.
Hobbies: I wish I could be a more rounded person. Believe me, I've tried. I'm currently tinkering with SBCs (single board computers).
Favorite Band: While I love music of all shapes and sizes, Rush is my #1 of all time. My company name comes from a lyric in Roll the Bones, "It's a parallax, you dig".
Contact: @stephecross stephen@parallaxmail.com


| Overview | Module | Use | Devguide | Index |
| uses of struct BorderLine |
back to struct BorderLine |
| References in Developers Guide |
| Spreadsheets - Formatting - Cell Formatting Text - Shape Objects in Text - Base Frames |
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


allocationedit
Summaryedit
From the Elasticsearch Shard Allocation Filtering Documentation:
Allows to control the allocation of indices on nodes based on include/exclude filters. The filters can be set both on the index level and on the cluster level. Lets start with an example of setting it on the cluster level:
Lets say we have 4 nodes, each has specific attribute called
tag
associated with it (the name of the attribute can be any name). Each node has a specific value associated withtag
. Node 1 has a settingnode.tag: value1
, Node 2 a setting ofnode.tag: value2
, and so on.We can create an index that will only deploy on nodes that have tag set to value1 and value2 by setting index.routing.allocation.include.tag to value1,value2. For example:
curl -XPUT localhost:9200/test/_settings -d '{ "index.routing.allocation.include.tag" : "value1,value2" }'On the other hand, we can create an index that will be deployed on all nodes except for nodes with a
tag
of valuevalue3
by settingindex.routing.allocation.exclude.tag
tovalue3
. For example:curl -XPUT localhost:9200/test/_settings -d '\{ + "index.routing.allocation.exclude.tag" : "value3" + }'
index.routing.allocation.require.*
can be used to specify a number of rules, all of which MUST match in order for a shard to be allocated to a node.
In versions 3.2.3 and older, Curator used this last method,
index.routing.allocation.require.*
, to force routing. Beginning in version
3.3.0, Curator also allows the use of include
and exclude
tagging.
Use-caseedit
You may be wondering why this is useful. Imagine that you have a tiered Elasticsearch cluster, with indexing happening on nodes with SSDs, and longer-term storage on nodes with traditional spinning hard disks. Using routing allocation, you can do indexing on the SSD nodes, then after a few days use curator to shift them to change the routing allocation tags to re-allocate them onto the slower storage nodes.
Extra configuration needededit
You can assign tags to your indices with Curator, but no allocation will occur
unless you have the tags set in each node’s elasticsearch.yml
:
SSD nodes:
node.tag: ssd
Spinning disk nodes:
node.tag: hdd
These tags can be anything. You could use fast
and slow
if you wanted.
tag
is only the example provided here. You can use other descriptive markers:
node.disk_type: ssd
or
node.disk_type: hdd
In like fashion, you would need to guarantee that new indexes are tagged with
the appropriate markers, e.g. tag
and ssd
. This should be handled with an
Elasticsearch mapping template. Logstash comes with one by default, but it has
no routing tags. You can use that template as a guide and add the appropriate
tags.
Flagsedit
$ curator allocation --help Usage: curator allocation [OPTIONS] COMMAND [ARGS]... Index Allocation Options: --rule TEXT Routing allocation rule to apply, e.g. tag=ssd --type TEXT Specify an allocation type, include, exclude or require [default: require] --help Show this message and exit. Commands: indices Index selection.
This command requires the indices subcommand for index selection.
Exampleedit
Apply the tag
value of hdd
:
curator allocation --rule tag=hdd indices <<index selection parameters>>
This will append the setting index.routing.allocation.require.tag=hdd
to the
indices specified by index selection.


Training a P1 Image Classification Model¶
What makes Computer Vision useful is the fact that models can be trained to classify user-defined objects.
In this guide, the instructions will guide you on how to train your very own Precision-Level 1 (P1) Image Classification computer vision model which could then used to deploy as a modular ROS2 package.
Collect Training Data¶
A neural network model, much like a student, requires training data to know what are the intended objects it is meant to detect. In the case of Computer Vision, these training data refers to images of user-defined objects. If the user intention is to train a model to distinguish between cats and dogs, the training data ought to be photos of cats and dogs.
Therefore, please take as many as photos or images that suit the following criteria:
Criteria No. |
Description |
|---|---|
1 |
A training image should only show one class of object. |
2 |
The lighting condition in the image should be similar to the physical setup of the camera. |
3 |
A training image should be at least of size, 224 by 224. |
The recommended number of images to capture is: 30
per object class.
Eg.
30 different photos of cats
30 different of dogs
Label Training Data¶
Arranging Data¶
Among the three precision levels, labelling a P1 training image dataset is the easiest. It is only a matter of arranging files in the following file structure:
insert_your_training_here_dataset/
|_train
|_name_of_object_class_1
|_<photos of object_class_1>
|_name_of_object_class_2
|_<photos of object_class_2>
|_ ...
|_val
|_name_of_object_class_1
|_<photos of object_class_1>
|_name_of_object_class_2
|_<photos of object_class_2>
|_ ...
Eg.
p1_catsdogs_dataset/
|_train
|_cat
|_<photos of cats>
|_dog
|_<photos of dogs>
|_val
|_cat
|_<photos of cats>
|_dog
|_<photos of dogs>
Create Custom Label List¶
Once you have arranged your file like as shown above, create a .txt
label list.
Eg.
cat
dog
Ensure that the object names are sorted in lexicographical order.
Note
P2 and P3 training datasets will adopt a slightly different label list format.
Train Model¶
Follow the instructions below to get started training and generating your P1 ONNX model.
Double-click on
easy_perception_deployment.desktop
on your Desktop. This file is generated following instructions under the Setup section.
A window labelled, easy_perception_deployment, will appear.
Click on button labelled, Train, will appear.
A window labelled, Train, will appear.
Click on button labelled, P1.
You have selected Precision Level 1 training framework.
Click on DropDown Menu, Set Model and select the model you wish to run.
There are currently only 6 pretrained model available in the PyTorch Model Zoo. Each has its own pros and cons.
[Tips on choosing]:
# If you wish to prioritize speed over accuracy,
Choose [mobilenet].
# If you wish to prioritize accuracy over speed,
Choose [densenet].
Click on button labelled, Choose Label List and select the
.txt
label list file you have created under Create Custom Label List.Click on button labelled, Choose Dataset and select the training dataset folder you have created under Arranging Data.
Click on button labelled, Validate Dataset to verify if your dataset is in the correct prescribed file structure.
If the dataset is properly arranged, the button labelled, Train will now be highlighted.
Click on button labelled, Train to start training.
The final .onnx
trained model will be written to /data/model/
directory in the package and timestamped with the date in which it was trained in the filename.