text:
# How can I, a high school student in Bucharest, go on to become an ISS astronaut?

I study at a High School in Bucharest, and I want to know what kind of education or subjects I need so that I can work in an International Space Station and stay there for 6 months.

In the high school, I’m in Natural Protection, where we study how to protect nature and how things works in nature.

I have tried to find this information on the Internet, but the result was unclear.

Questions:

1. Can anyone tell me what subjects I need so that I can work for NASA on the ISS, to stay 6 months and days there, and also to have missions to go outside of the ISS?
2. Why it is required to learn Russian to be on the ISS when English is indeed an international language and should be used on the ISS? Because, really, the ISS is an American space station and not a Russian space station.
3. And what are the steps for me to get hired by NASA and to be sent to the ISS?

My only wish is to be somebody that works on the ISS, and stay for 6 months and days, and to go outside of the ISS to work. Because I really wish to see Earth from space.

• – DarkDust Oct 11 '18 at 9:44
• If I were you, I would read Chris Hadfield's A Guide to Life on Earth... When he first wanted to become an astronaut, it was all but impossible as Canada didn't have an astronaut corps or any means of getting people into space, but he decided the best he could do was to prepare as well as he could, and if the opportunity would arise, he would be ready to seize it. Truly inspirational book, and even more so for you, I would imagine :). – Happy Koala Oct 11 '18 at 11:45
• ISS is an American space station and not Soviet space station. No, ISS is International Space Station. It was built mainly by USA and Russia with contributions of multiple other countries. The whole ISS consists of two sections by ownership: Russian Orbital Segment and US Orbital Segment. – pabouk Oct 11 '18 at 14:26
• Not only is the ISS jointly controlled by the US and Russian space programs, the only way for a person to get there is on a Russian rocket. The US currently has no capability to transport a person to space. – Seth R Oct 11 '18 at 16:32
• @Strawberry: To be fair, fourth-generation Soyuz capsules (in service since 1986) have a similar safety record to the Space Shuttle. Consulting this list, modern Soyuz capsules have now had three major launch/landing mishaps (none of which were fatal) out of 66 launches. In contrast, STS had two fatal accidents and about five serious malfunctions during launch/landing, out of 135 launches. Surprisingly, strapping yourself to the top of a can full of combustible chemicals involves a certain amount of risk. – Michael Seifert Oct 12 '18 at 20:16

As Antzi states, NASA only employs US nationals in its astronaut corps. However, Romania joined ESA (the European Space Agency) in 2011 and ESA has its own astronaut corps. As a Romanian national you might be able to go to space as an ESA astronaut.

ESA last recruited astronauts in 2009 - this page gives some details of how they selected astronauts: How to become an astronaut

• NASA employs only US nationals, yes. But couldn’t a naturalised citizen apply? Obviously ESA would be a better try but if someone is really bent on becoming an astronaut is citizenship really an issue? – 11684 Oct 11 '18 at 12:04
• ESA has facilities all over Europe. I believe the astronaut corps is nominally based at ESTEC in the Netherlands, though in practice ESA astronauts currently spend most of their training in Russia and the rest in various other locations. – stuart10 Oct 11 '18 at 12:05
• Naturalised American citizens and duel nationals can become astronauts - e.g. Michael Foale was born in the UK but obtained US citizenship and later spent more time in space than any previous NASA astronaut. Obviously though, getting US citizenship is not easy if you aren't born with it. – stuart10 Oct 11 '18 at 12:10
• @stuart10 getting US citizenship might not be easy, but empirically it still is a piece of cake compared to becoming an astronaut. – Jeffrey Oct 12 '18 at 19:04
• @AlexA The location of all of ESA's facilities is on their web site. The European Astronaut Centre is in Köln, next to CGN airport. – Mike Harris Oct 13 '18 at 3:22

It sounds to me like you are getting caught up in the weeds. Don't worry about specific rules and regulations. Work towards putting yourself in a position where you will be a qualified astronaut candidate.

There are two ways of doing this:

1. Join the military. If you are a highly talented pilot, it will open many doors for you in the future.
2. Become a scientist. Most of the non-military astronauts are PhDs. Put yourself in a situation where you deserve to be on a space station.
• How can the asker become a qualified astronaut candidate without worrying about the specific rules and regulations for doing that? If the rules say you must, I don't know, wear a green hat every Thursday, then the asker had better do that. – David Richerby Oct 11 '18 at 18:13
• @DavidRicherby You don't become an astronaut by checking off boxes on an application, you become an astronaut by being one of the best in the world at your given job. If he can do that, the rest may come. If he can't do that, the rest won't come regardless of how well he follows rules. – Jamie Clinton Oct 11 '18 at 18:15
• OK, I'll become the best in the world at brewing beer or something. Can I be an astronaut then? No. I agree that it's not a literal box-ticking exercise but you still need to be in the general area around where the boxes are. – David Richerby Oct 11 '18 at 18:17
• @DavidRicherby, you can be if a beer brewer is what the ISS crew needs. Very few in the astronaut corp set out their careers to be astronauts. They got there by being the best pilot/engineer/scientist/whatever in their field and then just happened to have the skills the space program needed at the time. If you are the world's foremost expert in a skill they need on the ISS, where you come from is secondary. – Seth R Oct 11 '18 at 21:46
• @DavidRicherby the boxes on the page will reconfigure themselves before our eyes, and new pages will appear! Rules change over time, and there will almost certainly be private companies who have or at least select/specify their own astronauts someday. Maybe this answer does not address specifically getting on to the ISS itself, but I think "go for it" is the proper mindset for someone graduating around 2020. – uhoh Oct 12 '18 at 8:02

I'm sorry but... It's likely impossible for you.

Romania isn't an ISS partner, and doesn't have an astronaut corp, so assuming you have only the Romanina nationality there is currently no clear path for you.

You specifically mention NASA but.. NASA jobs are open to Americans only.

Moreover, the ISS end of life might come in 2025, and assuming you need a few years to graduate, more to get a degree, work experience, get hired, do the training... The ISS might not exist at that point anymore.

However, if you are serious about it, you shouldn't give up hope of going to space. Access is getting cheaper and cheaper, and more opportunities will open! Lookup How to become a NASA astronaut and start working towards that goal. Maybe in a few years an opportunity will arise!

• Do you have an idea that NASA will build a new ISS after the death of previous ISS? Or this is it? No more space stations? – Alex A Oct 11 '18 at 7:59
• @AlexA There are various plans, but it's too early to have any definite answer. – Antzi Oct 11 '18 at 8:08
• Romania is a member state of ESA, which does have an astronaut corps. – djr Oct 11 '18 at 11:19
• Yes, what djr said; NASA is not the only space programme. Maybe the ISS will retire soon but becoming an astronaut and seeing earth from space is still very well on the table for @AlexA; of course there are many (many!) applicants so you may not get in, but if you are in high school you still have as much chance as anyone. And looking at the NASA requirements (I imagine the ESA requirements are similar): if you fulfil those requirements it means you have a degree in a lucrative field and are in excellent physical shape; even if you don’t end up an astronaut you’d be doing quite well. – 11684 Oct 11 '18 at 12:01
• @Graham Is your comment missing a "not" somewhere? Otherwise it reads "The ISS worked well so they won't do anything like that again". – Martin Bonner supports Monica Oct 12 '18 at 8:55

Why it is required to learn Russian language in ISS when English language is indeed an international language, and should be used English language in ISS? Because, really. ISS is an American spice station and not Soviet space station.

The ISS is an international station. The USA is the biggest contributor, but Russia and many other nations also contribute. You need to learn Russian because at the moment the Russian Soyuz capsule is the only vehicle that can transport people to the station, so everyone needs to know how the Soyuz works so they can operate the capsule in an emergency.

All labels in the Soyuz capsule and all text on the Soyuz displays are in Russian.

As Antzi says, it'd be a long and difficult road to get hired by NASA as an astronaut. Fortunately, several companies are working on their own manned space programs (for example, SpaceX and Boeing) so in a few years, there may be other ways to get into space.

• "...so everyone needs to know how the Soyuz works so they can operate the capsule in an emergency." That's clear but not the need to learn Russian. You could probably get to know how the Soyuz works also if everything regarding it were translated into English and all personnel were speaking English. I think the point about English being an international language is kind of valid. – Trilarion Oct 12 '18 at 14:50
• Why it is required to learn Russian language in ISS when English language is indeed an international language -> I'd also add "To read the escape manual for a Soyuz" – ggdx Oct 12 '18 at 14:52
• More on this: space.stackexchange.com/questions/8644/… – Hobbes Oct 12 '18 at 15:21

# Be wealthy enough to be a space tourist

My only wish is to be somebody that works on the ISS, and stay for 6 months and days, and to go outside of the ISS to work. Because I really wish to see Earth from space.

You will not be an astronaut, but now space is reachable for you. When you will be wealthy enough you can buy your way to space to see Earth from there. More and more companies talk about sending tourists to space. It is called Space tourism.

Space tourism is space travel for recreational, leisure or business purposes. There are several different types of space tourism, including orbital, suborbital and lunar space tourism. To date, orbital space tourism has been performed only by the Russian Space Agency. Work also continues towards developing suborbital space tourism vehicles. This is being done by aerospace companies like Blue Origin and Virgin Galactic. In addition, SpaceX (an aerospace manufacturer) announced in 2018 that it is planning on sending two space tourists on a free-return trajectory around the Moon on the upper stage of SpaceX's BFR rocket, known as the Big Falcon Spaceship (BFS).

wikipedia

I think it could be affordable and common enough for first class-citizen in a dozen of years. If you are very wealthy, it is already possible.

Mark Richard Shuttleworth is a South African entrepreneur who is the founder and CEO of Canonical Ltd., the company behind the development of the Linux-based Ubuntu operating system. In 2002, he became the first South African to travel to space as a space tourist.

wikipedia

• Yeah, I have to agree it's likely to be easier for him to buy his way there eventually. Especially in a couple decades as space travel gets more well-established and cheaper. – Kevin Oct 12 '18 at 16:53
• Reminds me of Dan Pena - "ant to change the world, make a billion dollars first" but is likely true. Especially given that the ISS may not be around when he qualifies (20 years?). But a replacement will, and the program may expand. – TomTom Oct 12 '18 at 17:24
• Aaaaa, but like it’s not fair. One suppose to study hard and a lot for one to get to space, not by money… right? – Alex A Oct 14 '18 at 8:37
• @AlexA You can study hard and fail. Meritocracy is mostly a myth. But hey, Keep fulfill your dream to go to the ISS. If you missed, you will land between stars :) – aloisdg Oct 14 '18 at 9:41
• Yes buy your ticket to the space perhaps is the easier alternative. However, it is a completely different perspective and experience to get to space by following your own path rather than buy a space tourism ticket. I can feel the passionate within Alex and I believe he'd prefers make it to space with hard work, not a ticket with money. – not_Prince Dec 24 '18 at 3:39

How can I become an astronaut

I suggest checking at the source. NASA and ESA are obvious choices but there are also commercial projects where the career path might be more clear.

Here are links to NASA and ESA career paths explanation.

Since your main concern now should be education and other kind of preparations these excerpt from NASA might be a good guide:

So, What Does It Take to Be an Astronaut?

Astronaut requirements have changed with NASA's goals and missions. A pilot's license and engineering experience is still one route a person could take to becoming an astronaut, but it’s no longer the only one. Today, to be considered for an astronaut position, U.S. citizens must meet the following qualifications:

A bachelor's degree in engineering, biological science, physical science, computer science or mathematics. At least three years of related professional experience obtained after degree completion OR at least 1,000 hours pilot-in-command time on jet aircraft. The ability to pass the NASA long-duration astronaut physical. Distant and near visual acuity must be correctable to 20/20 for each eye. The use of glasses is acceptable.

Astronaut candidates must also have skills in leadership, teamwork and communications.

Also on this ESA page you can find a file with tests you might be challenged up with.

Those skills/capabilities will be likely sought by every agency/company looking for their astronaut candidates.

Note also that you can expect the space exploration will extend over time opening more and more opportunities. It should mean getting there should get a bit easier over time (i.e. the requirements might decrease over time). Just think how in the past to become a pilot you had to have almost supernatural health and physical capabilities. These days if you are fit to have a driving license you can have a pilot's license as well and it's not much more that is required to become a professional pilot.

So don't get discouraged. Simply try to get as good as you can and keep following your dreams.

• +n! This is the correct answer! So don't get discouraged. Simply try to get as good as you can and keep following your dreams. – uhoh Oct 13 '18 at 2:23

You asked for specific things to get you to a spacewalk...

# Study aeronautical robotics in Canada

Canada occupies a niche in the space community as the experts on robotic arms. This started with the Canadarm on the Space Shuttle, and continued with the Canadarm2 and Dextre on the ISS. The Canadian government pays for the design, construction, and support for the robotic arms, delivering a complete product to NASA. In exchange, the U.S. has promised to get Canadian astronauts into space. The arrangement has been good for both countries, and it is likely to continue in the future.

There have been 12 people given the title of Canadian astronaut (let's call them "Canauts" for short) plus one Canadian space tourist. Four Canauts have served on missions installing or operating robotic arms; three of these Canuats performed spacewalks to work on the robotic arms (including the famous Chris Hadfield). (No other country has had 25% of their astronauts do spacewalks!) Another four Canauts have flown on medical or scientific missions; two of these were later hired by NASA as divisional directors (life science & space medicine). The remaining four Canauts haven't flown (yet?), but three of these became "aquanauts" in a long-term underwater NASA experiment.

As of 2018, Canada is one of the most welcoming countries for immigrants. One Canuat (Bjarni_Tryggvason) is an immigrant and flew on the Space Shuttle for a scientific mission.

While you are still in high school, make sure you do the following:

• Learn English really well. You won't get into any Canadian university without a TOEFL score of at least 90; in some cases, 100. You need excellent grammar skills, which you will not pick up from the Internet.
• You need to be very good at mathematics. Learn as much calculus and linear algebra (vectors and matrices) as you can.
• Take as many science courses as you can. Try to have at least one college-level science course done before finishing high school.
• If your school has a robotics club or team, join it. The same with an astronomy club.
• Buy a robotic arm kit on the Internet. Build it. Reprogram it to do something useful. Write about it on your college admissions essay.
• Research and apply to colleges in Canada.

Good colleges for astronauts in Canada include:

• McGill University is the "Harvard of Canada". It's also as difficult to get into as Harvard or Cambridge. It is always ranked as the #1 Canadian University for biology, chemistry, medical school, and overall. As an engineering school, it consistently ranks 2nd or 3rd in Canada. Four Canauts earned degrees from McGill. It offers a master's degree in aerospace engineering.

• University of Toronto consistently ranks as the 3rd or 2nd engineering school in Canada. Three Canauts earned degrees from Toronto. It offers a master's degree in aerospace engineering.

• Three Canuats have degrees from the Royal Military College. But you can't get in until you are a Canadian citizen. Once you have that, you could get a master's degree in aerospace engineering there.

• Waterloo University is the "MIT of Canada", with consistently the #1 engineering school. It doesn't have an aerospace engineering program, and no Canauts went there, but it still is respected worldwide. With a Waterloo degree, you'll never have a problem getting a job anywhere in the world.

• Other schools to consider: York University, University of British Columbia, University of Alberta, McMaster University, Simon Fraser University (good robotics program), University of Victoria, University of Manitoba.

• If you are going the robotics route to being an astronaut, choose a degree among mechanical engineering, electrical engineering, physics, engineering physics, or computer science.
• If you are going the science/medical route to being an astronaut, choose a degree among biology, chemistry, physiology, mathematics, physics, or biomedical engineering.
• Continue to learn English.
• Take 3-4 Russian language courses. This will put you above other astronaut candidates.
• Try to become a Canadian citizen. You will need this to become a Canaut.
• Research and apply to graduate school.

Every Canaut has earned a master's degree, after they finished their bachelor's degree. Some even earned a third degree (Ph.D. or M.D). These are all called "graduate" degrees. If you are going the robotics route, get a master's degree in an engineering field (mechanical, electrical, aeronautical) with a research program specifically in robotics; then get a job at MacDonald-Dettwiler. If you are going the scientific/medical route, go to medical school at McGill, then do a family medicine residency at the University of Toronto.

Yeah, this will take at least 10 years to do. But by then, the ISS will likely be obsolete and in the process of being replaced. You can bet that the new space station will have a Canadian robotic arm, and that a Canadian astronaut will be doing a spacewalk to install it. They will be looking for astronauts just as you have finished your education!

• What about the college of Aerospace Engineer in Bucharest? Is that also good? – Alex A Oct 13 '18 at 21:20
• There are many fine aeronautical engineering programs throughout the world. The point here is to become a Canadian citizen, and going to a Canadian university will help a lot with that. It also puts you in touch with people who know people inside the Canadian Space Agency. You won't get that by studying anywhere in Europe. – DrSheldon Oct 13 '18 at 21:36
• so thats mean, I have to finish the high school I’m in Romania, and then to go to Canada. – Alex A Oct 13 '18 at 22:24

As someone else mentioned the ISS will be decommissioned soon, so you'll not be going there. But that doesn't mean you can't go to space.

In the beginning of space flight mostly fighter pilots from the airforce become astronauts, but for the last 20 years astronauts have predominantly been scientists.

For the ISS the selection process is a very political process. They look at the countries that contribute to the ISS, how much they contribute and how recently they have supplied astronauts. From there they look at the type of scientists they already have and what type of knowledge they expect to need in the future. So you might be the best doctor in the world, from France, but if France currently has an active astronaut you will likely not be selected for astronaut training.

This means part of it is outside of you control. But there certainly are things that can be done to improve your chances. Mostly by selecting a study that you think will be needed in space exploration in 15-20 years time. Well at the moment nasa, jaxa, esa and private companies are setting their sights on Mars and the moon. Looking at that it seems studies such exobiology, geology and things like that might be good contenders. Anything that would give you a special skill to use on Mars, that can't be done (well) from earth. After your studies you'll want to do a phd specifically in the direction of space travel.

Then get work as closely related to space exploration as you can. If you do geology specialize in mars rock research for nasa for example. Network to get to know the people who can make these descision if possible. And ensure you know when the new recruitment calls are made.

The actual astronaut training will follow when you're selected, but at the very least speak english well. Russian is part of the training at the moment.

• Oh, I’m sorry but I don’t want to become a military pilot. I don’t want to be pulverized in air... – Alex A Oct 15 '18 at 19:25
• If you read my answer again you'll see I said that used to be the preferred route, but isn't any more. But being pulverized in air is a risk of the job if you want to become an astronaut though, if that's not for you, you might consider a different occupation. – Sonja Oct 17 '18 at 5:58


text:
# Changeset 11316 for NEMO/trunk/doc/latex/NEMO/subfiles/chap_OBS.tex

Ignore:
Timestamp:
2019-07-19T19:20:02+02:00 (14 months ago)
Message:

#2297 Updates to OBS and ASM documentation

File:
1 edited

### Legend:

Unmodified
 r11151 \label{chap:OBS} Authors: D. Lea, M. Martin, K. Mogensen, A. Vidard, A. Weaver, A. Ryan, ...   % do we keep that ? \minitoc \vfill \begin{figure}[b] \subsubsection*{Changes record} \begin{tabular}{l||l|m{0.65\linewidth}} Release   & Author        & Modifications \\ {\em 4.0} & {\em D. J. Lea} & {\em \NEMO 4.0 updates}  \\ {\em 3.6} & {\em M. Martin, A. Ryan} & {\em Add averaging operator, standalone obs oper} \\ {\em 3.4} & {\em D. J. Lea, M. Martin, ...} & {\em Initial version}  \\ {\em --\texttt{"}--} & {\em ... K. Mogensen, A. Vidard, A. Weaver} & {\em ---\texttt{"}---}  \\ \end{tabular} \end{figure} \newpage The observation and model comparison code (OBS) reads in observation files (profile temperature and salinity, sea surface temperature, sea level anomaly, sea ice concentration, and velocity) and calculates an interpolated model equivalent value at the observation location and nearest model timestep. The observation and model comparison code, the observation operator (OBS), reads in observation files (profile temperature and salinity, sea surface temperature, sea level anomaly, sea ice concentration, and velocity) and calculates an interpolated model equivalent value at the observation location and nearest model time step. The resulting data are saved in a feedback'' file (or files). The code was originally developed for use with the NEMOVAR data assimilation code, but can be used for validation or verification of the model or with any other data assimilation system. The OBS code is called from \mdl{nemogcm} for model initialisation and to calculate the model equivalent values for observations on the 0th timestep. The code is then called again after each timestep from \mdl{step}. The code is only activated if the namelist logical \np{ln\_diaobs} is set to true. The OBS code is called from \mdl{nemogcm} for model initialisation and to calculate the model equivalent values for observations on the 0th time step. The code is then called again after each time step from \mdl{step}. The code is only activated if the \ngn{namobs} namelist logical \np{ln\_diaobs} is set to true. For all data types a 2D horizontal interpolator or averager is needed to For {\em in situ} profiles, a 1D vertical interpolator is needed in addition to provide model fields at the observation depths. This now works in a generalised vertical coordinate system. This now works in a generalised vertical coordinate system. Some profile observation types (\eg tropical moored buoys) are made available as daily averaged quantities. the observation operator code can calculate equivalent night-time average model SST fields by setting the namelist value \np{ln\_sstnight} to true. Otherwise the model value from the nearest timestep to the observation time is used. The code is controlled by the namelist \textit{namobs}. Otherwise (by default) the model value from the nearest time step to the observation time is used. The code is controlled by the namelist \ngn{namobs}. See the following sections for more details on setting up the namelist. \autoref{sec:OBS_example} introduces a test example of the observation operator code including In \autoref{sec:OBS_example} a test example of the observation operator code is introduced, including where to obtain data and how to setup the namelist. \autoref{sec:OBS_details} introduces some more technical details of the different observation types used and also shows a more complete namelist. \autoref{sec:OBS_theory} introduces some of the theoretical aspects of the observation operator including In \autoref{sec:OBS_details} some more technical details of the different observation types used are introduced, and we also show a more complete namelist. In \autoref{sec:OBS_theory} some of the theoretical aspects of the observation operator are described including interpolation methods and running on multiple processors. \autoref{sec:OBS_ooo} describes the offline observation operator code. \autoref{sec:OBS_obsutils} introduces some utilities to help working with the files produced by the OBS code. In \autoref{sec:OBS_sao} the standalone observation operator code is described. In \autoref{sec:OBS_obsutils} we describe some utilities to help work with the files produced by the OBS code. % ================================================================ \label{sec:OBS_example} This section describes an example of running the observation operator code using profile data which can be freely downloaded. It shows how to adapt an existing run and build of NEMO to run the observation operator. In this section an example of running the observation operator code is described using profile observation data which can be freely downloaded. It shows how to adapt an existing run and build of \NEMO to run the observation operator. Note also the observation operator and the assimilation increments code are run in the \np{ORCA2\_ICE\_OBS} SETTE test. \begin{enumerate} \item Download some EN4 data from \href{http://www.metoffice.gov.uk/hadobs}{www.metoffice.gov.uk/hadobs}. Choose observations which are valid for the period of your test run because the observation operator compares the model and observations for a matching date and time. \item Compile the OBSTOOLS code using: the observation operator compares the model and observations for a matching date and time. \item Compile the OBSTOOLS code in the \np{tools} directory using: \begin{cmds} ./maketools -n OBSTOOLS -m [ARCH]. ./maketools -n OBSTOOLS -m [ARCH] \end{cmds} \item Convert the EN4 data into feedback format: replacing \np{[ARCH]} with the build architecture file for your machine. Note the tools are checked out from a separate repository under \np{utils/tools}. \item Convert the EN4 data into feedback format: \begin{cmds} enact2fb.exe profiles_01.nc EN.4.1.1.f.profiles.g10.YYYYMM.nc \end{cmds} \item Include the following in the NEMO namelist to run the observation operator on this data: \item Include the following in the \NEMO namelist to run the observation operator on this data: \end{enumerate} This can be expensive, particularly for large numbers of observations, setting \np{ln\_grid\_search\_lookup} allows the use of a lookup table which is saved into an xypos file (or files). is saved into an \np{cn\_gridsearch} file (or files). This will need to be generated the first time if it does not exist in the run directory. However, once produced it will significantly speed up future grid searches. Setting \np{ln\_grid\_global} means that the code distributes the observations evenly between processors. Alternatively each processor will work with observations located within the model subdomain (see section~\autoref{subsec:OBS_parallel}). (see \autoref{subsec:OBS_parallel}). A number of utilities are now provided to plot the feedback files, convert and recombine the files. These are explained in more detail in section~\autoref{sec:OBS_obsutils}. Utilites to convert other input data formats into the feedback format are also described in section~\autoref{sec:OBS_obsutils}. These are explained in more detail in \autoref{sec:OBS_obsutils}. Utilities to convert other input data formats into the feedback format are also described in \autoref{sec:OBS_obsutils}. \section{Technical details (feedback type observation file headers)} %------------------------------------------------------------------------------------------------------------- The observation operator code uses the "feedback" observation file format for all data types. The observation operator code uses the feedback observation file format for all data types. All the observation files must be in NetCDF format. Some example headers (produced using \mbox{\textit{ncdump~-h}}) for profile data, sea level anomaly and sea surface temperature are in the following subsections. \subsection{Profile feedback} \subsection{Profile feedback file} \begin{clines} \end{clines} \subsection{Sea level anomaly feedback} \subsection{Sea level anomaly feedback file} \begin{clines} \end{clines} The mean dynamic topography (MDT) must be provided in a separate file defined on To use Sea Level Anomaly (SLA) data the mean dynamic topography (MDT) must be provided in a separate file defined on the model grid called \ifile{slaReferenceLevel}. The MDT is required in order to produce the model equivalent sea level anomaly from the model sea surface height. \end{clines} \subsection{Sea surface temperature feedback} \subsection{Sea surface temperature feedback file} \begin{clines} In those cases the model counterpart should be calculated by averaging the model grid points over the same size as the footprint. NEMO therefore has the capability to specify either an interpolation or an averaging (for surface observation types only). \NEMO therefore has the capability to specify either an interpolation or an averaging (for surface observation types only). The main namelist option associated with the interpolation/averaging is \np{nn\_2dint}. \item \np{nn\_2dint}\forcode{ = 4}: Polynomial interpolation \item \np{nn\_2dint}\forcode{ = 5}: Radial footprint averaging with diameter specified in the namelist as \np{rn\_???\_avglamscl} in degrees or metres (set using \np{ln\_???\_fp\_indegs}) \np{rn\_[var]\_avglamscl} in degrees or metres (set using \np{ln\_[var]\_fp\_indegs}) \item \np{nn\_2dint}\forcode{ = 6}: Rectangular footprint averaging with E/W and N/S size specified in the namelist as \np{rn\_???\_avglamscl} and \np{rn\_???\_avgphiscl} in degrees or metres (set using \np{ln\_???\_fp\_indegs}) the namelist as \np{rn\_[var]\_avglamscl} and \np{rn\_[var]\_avgphiscl} in degrees or metres (set using \np{ln\_[var]\_fp\_indegs}) \end{itemize} The ??? in the last two options indicate these options should be specified for each observation type for Replace \np{[var]} in the last two options with the observation type (sla, sst, sss or sic) for which the averaging is to be performed (see namelist example above). The \np{nn\_2dint} default option can be overridden for surface observation types using namelist values \np{nn\_2dint\_???} where ??? is one of sla,sst,sss,sic. namelist values \np{nn\_2dint\_[var]} where \np{[var]} is the observation type. Below is some more detail on the various options for interpolation and averaging available in NEMO. \subsubsection{Horizontal interpolation} Consider an observation point ${\mathrm P}$ with with longitude and latitude $({\lambda_{}}_{\mathrm P}, \phi_{\mathrm P})$ and Consider an observation point ${\mathrm P}$ with longitude and latitude (${\lambda_{}}_{\mathrm P}$, $\phi_{\mathrm P}$) and the four nearest neighbouring model grid points ${\mathrm A}$, ${\mathrm B}$, ${\mathrm C}$ and ${\mathrm D}$ with longitude and latitude ($\lambda_{\mathrm A}$, $\phi_{\mathrm A}$),($\lambda_{\mathrm B}$, $\phi_{\mathrm B}$) etc. All horizontal interpolation methods implemented in NEMO estimate the value of a model variable $x$ at point $P$ as All horizontal interpolation methods implemented in \NEMO estimate the value of a model variable $x$ at point $P$ as a weighted linear combination of the values of the model variables at the grid points ${\mathrm A}$, ${\mathrm B}$ etc.: \begin{align*} {x_{}}_{\mathrm P} & \hspace{-2mm} = \hspace{-2mm} & \frac{1}{w} \left( {w_{}}_{\mathrm A} {x_{}}_{\mathrm A} + {w_{}}_{\mathrm B} {x_{}}_{\mathrm B} + {w_{}}_{\mathrm C} {x_{}}_{\mathrm C} + {w_{}}_{\mathrm D} {x_{}}_{\mathrm D} \right) {x_{}}_{\mathrm P} = \frac{1}{w} \left( {w_{}}_{\mathrm A} {x_{}}_{\mathrm A} + {w_{}}_{\mathrm B} {x_{}}_{\mathrm B} + {w_{}}_{\mathrm C} {x_{}}_{\mathrm C} + {w_{}}_{\mathrm D} {x_{}}_{\mathrm D} \right) \end{align*} where ${w_{}}_{\mathrm A}$, ${w_{}}_{\mathrm B}$ etc. are the respective weights for the model field at points ${\mathrm A}$, ${\mathrm B}$ etc., and $w = {w_{}}_{\mathrm A} + {w_{}}_{\mathrm B} + {w_{}}_{\mathrm C} + {w_{}}_{\mathrm D}$. For example, the weight given to the field ${x_{}}_{\mathrm A}$ is specified as the product of the distances from ${\mathrm P}$ to the other points: \begin{align*} \begin{alignat*}{2} {w_{}}_{\mathrm A} = s({\mathrm P}, {\mathrm B}) \, s({\mathrm P}, {\mathrm C}) \, s({\mathrm P}, {\mathrm D}) \end{align*} where \begin{align*} s\left ({\mathrm P}, {\mathrm M} \right ) & \hspace{-2mm} = \hspace{-2mm} & \cos^{-1} \! \left\{ \end{alignat*} where \begin{alignat*}{2} s\left({\mathrm P}, {\mathrm M} \right) & = & \hspace{0.25em} \cos^{-1} \! \left\{ \sin {\phi_{}}_{\mathrm P} \sin {\phi_{}}_{\mathrm M} + \cos {\phi_{}}_{\mathrm P} \cos {\phi_{}}_{\mathrm M} \cos ({\lambda_{}}_{\mathrm M} - {\lambda_{}}_{\mathrm P}) + \cos {\phi_{}}_{\mathrm P} \cos {\phi_{}}_{\mathrm M} \cos ({\lambda_{}}_{\mathrm M} - {\lambda_{}}_{\mathrm P}) \right\} \end{align*} \end{alignat*} and $M$ corresponds to $B$, $C$ or $D$. A more stable form of the great-circle distance formula for small distances ($x$ near 1) involves the arcsine function (\eg see p.~101 of \citet{daley.barker_bk01}: \begin{align*} s\left( {\mathrm P}, {\mathrm M} \right) & \hspace{-2mm} = \hspace{-2mm} & \sin^{-1} \! \left\{ \sqrt{ 1 - x^2 } \right\} \end{align*} \begin{alignat*}{2} s\left( {\mathrm P}, {\mathrm M} \right) = \sin^{-1} \! \left\{ \sqrt{ 1 - x^2 } \right\} \end{alignat*} where \begin{align*} x & \hspace{-2mm} = \hspace{-2mm} & {a_{}}_{\mathrm M} {a_{}}_{\mathrm P} + {b_{}}_{\mathrm M} {b_{}}_{\mathrm P} + {c_{}}_{\mathrm M} {c_{}}_{\mathrm P} \end{align*} and \begin{align*} {a_{}}_{\mathrm M} & \hspace{-2mm} = \hspace{-2mm} & \sin {\phi_{}}_{\mathrm M}, \\ {a_{}}_{\mathrm P} & \hspace{-2mm} = \hspace{-2mm} & \sin {\phi_{}}_{\mathrm P}, \\ {b_{}}_{\mathrm M} & \hspace{-2mm} = \hspace{-2mm} & \cos {\phi_{}}_{\mathrm M} \cos {\phi_{}}_{\mathrm M}, \\ {b_{}}_{\mathrm P} & \hspace{-2mm} = \hspace{-2mm} & \cos {\phi_{}}_{\mathrm P} \cos {\phi_{}}_{\mathrm P}, \\ {c_{}}_{\mathrm M} & \hspace{-2mm} = \hspace{-2mm} & \cos {\phi_{}}_{\mathrm M} \sin {\phi_{}}_{\mathrm M}, \\ {c_{}}_{\mathrm P} & \hspace{-2mm} = \hspace{-2mm} & \cos {\phi_{}}_{\mathrm P} \sin {\phi_{}}_{\mathrm P}. \end{align*} \begin{alignat*}{2} x = {a_{}}_{\mathrm M} {a_{}}_{\mathrm P} + {b_{}}_{\mathrm M} {b_{}}_{\mathrm P} + {c_{}}_{\mathrm M} {c_{}}_{\mathrm P} \end{alignat*} and \begin{alignat*}{3} & {a_{}}_{\mathrm M} & = && \quad \sin {\phi_{}}_{\mathrm M}, \\ & {a_{}}_{\mathrm P} & = && \quad \sin {\phi_{}}_{\mathrm P}, \\ & {b_{}}_{\mathrm M} & = && \quad \cos {\phi_{}}_{\mathrm M} \cos {\phi_{}}_{\mathrm M}, \\ & {b_{}}_{\mathrm P} & = && \quad \cos {\phi_{}}_{\mathrm P} \cos {\phi_{}}_{\mathrm P}, \\ & {c_{}}_{\mathrm M} & = && \quad \cos {\phi_{}}_{\mathrm M} \sin {\phi_{}}_{\mathrm M}, \\ & {c_{}}_{\mathrm P} & = && \quad \cos {\phi_{}}_{\mathrm P} \sin {\phi_{}}_{\mathrm P}. \end{alignat*} \item[2.] {\bfseries Great-Circle distance-weighted interpolation with small angle approximation.} Similar to the previous interpolation but with the distance $s$ computed as \begin{align*} \begin{alignat*}{2} s\left( {\mathrm P}, {\mathrm M} \right) & \hspace{-2mm} = \hspace{-2mm} & \sqrt{ \left( {\phi_{}}_{\mathrm M} - {\phi_{}}_{\mathrm P} \right)^{2} & = & \sqrt{ \left( {\phi_{}}_{\mathrm M} - {\phi_{}}_{\mathrm P} \right)^{2} + \left( {\lambda_{}}_{\mathrm M} - {\lambda_{}}_{\mathrm P} \right)^{2} \cos^{2} {\phi_{}}_{\mathrm M} } \end{align*} \end{alignat*} where $M$ corresponds to $A$, $B$, $C$ or $D$. a cell with coordinates (0,0), (1,0), (0,1) and (1,1). This method is based on the \href{https://github.com/SCRIP-Project/SCRIP}{SCRIP interpolation package}. \end{enumerate} \item The standard grid-searching code is used to find the nearest model grid point to the observation location (see next subsection). \item The maximum number of grid points is calculated in the local grid domain for which the averaging is likely need to cover. \item The lats/longs of the grid points surrounding the nearest model grid box are extracted using existing mpi routines. \item The maximum number of grid points required for that observation in each local grid domain is calculated. Some of these points may later turn out to have zero weight depending on the shape of the footprint. \item The longitudes and latitudes of the grid points surrounding the nearest model grid box are extracted using existing MPI routines. \item The weights for each grid point associated with each observation are calculated, either for radial or rectangular footprints. Examples of the weights calculated for an observation with rectangular and radial footprints are shown in Figs.~\autoref{fig:obsavgrec} and~\autoref{fig:obsavgrad}. \autoref{fig:obsavgrec} and~\autoref{fig:obsavgrad}. %>>>>>>>>>>>>>>>>>>>>>>>>>>>> Weights associated with each model grid box (blue lines and numbers) for an observation at -170.5\deg{E}, 56.0\deg{N} with a radial footprint with diameter 1\deg. } } \end{center} \end{figure} \subsection{Grid search} For many grids used by the NEMO model, such as the ORCA family, the horizontal grid coordinates $i$ and $j$ are not simple functions of latitude and longitude. For many grids used by the \NEMO model, such as the ORCA family, the horizontal grid coordinates $i$ and $j$ are not simple functions of latitude and longitude. Therefore, it is not always straightforward to determine the grid points surrounding any given observational position. Before the interpolation can be performed, a search algorithm is then required to determine the corner points of Before the interpolation can be performed, a search algorithm is then required to determine the corner points of the quadrilateral cell in which the observation is located. This is the most difficult and time consuming part of the 2D interpolation procedure. This is the most difficult and time consuming part of the 2D interpolation procedure. A robust test for determining if an observation falls within a given quadrilateral cell is as follows. Let ${\mathrm P}({\lambda_{}}_{\mathrm P} ,{\phi_{}}_{\mathrm P} )$ denote the observation point, and let ${\mathrm A}({\lambda_{}}_{\mathrm A} ,{\phi_{}}_{\mathrm A} )$, ${\mathrm B}({\lambda_{}}_{\mathrm B} ,{\phi_{}}_{\mathrm B} )$, ${\mathrm C}({\lambda_{}}_{\mathrm C} ,{\phi_{}}_{\mathrm C} )$ and ${\mathrm D}({\lambda_{}}_{\mathrm D} ,{\phi_{}}_{\mathrm D} )$ denote the bottom left, bottom right, top left and top right corner points of the cell, respectively. To determine if P is inside the cell, we verify that the cross-products denote the bottom left, bottom right, top left and top right corner points of the cell, respectively. To determine if P is inside the cell, we verify that the cross-products \begin{align*} \begin{array}{lllll} be searched for on a regular grid. For each observation position, the closest point on the regular grid of this position is computed and the $i$ and $j$ ranges of this point searched to determine the precise four points surrounding the observation. the $i$ and $j$ ranges of this point searched to determine the precise four points surrounding the observation. \subsection{Parallel aspects of horizontal interpolation} For horizontal interpolation, there is the basic problem that the observations are unevenly distributed on the globe. In numerical models, it is common to divide the model grid into subgrids (or domains) where In \NEMO the model grid is divided into subgrids (or domains) where each subgrid is executed on a single processing element with explicit message passing for exchange of information along the domain boundaries when running on a massively parallel processor (MPP) system. This approach is used by \NEMO. For observations there is no natural distribution since the observations are not equally distributed on the globe. For observations there is no natural distribution since the observations are not equally distributed on the globe. Two options have been made available: 1) geographical distribution; the domain of the grid-point parallelization. \autoref{fig:obslocal} shows an example of the distribution of the {\em in situ} data on processors with a different colour for each observation on a given processor for a 4 $\times$ 2 decomposition with ORCA2. a different colour for each observation on a given processor for a 4 $\times$ 2 decomposition with ORCA2. The grid-point domain decomposition is clearly visible on the plot. The advantage of this approach is that all information needed for horizontal interpolation is available without any MPP communication. Of course, this is under the assumption that we are only using a $2 \times 2$ grid-point stencil for This is under the assumption that we are dealing with point observations and only using a $2 \times 2$ grid-point stencil for the interpolation (\eg bilinear interpolation). For higher order interpolation schemes this is no longer valid. At the bottom boundary, this is done using the land-ocean mask. For profile observation types we do both vertical and horizontal interpolation. \NEMO has a generalised vertical coordinate system this means the vertical level depths can vary with location. Therefore, it is necessary first to perform vertical interpolation of the model value to the observation depths for each of the four surrounding grid points. After this the model values, at these points, at the observation depth, are horizontally interpolated to the observation location. \newpage % ================================================================ % Offline observation operator documentation % Standalone observation operator documentation % ================================================================ %\usepackage{framed} \section{Offline observation operator} \label{sec:OBS_ooo} \section{Standalone observation operator} \label{sec:OBS_sao} \subsection{Concept} The obs oper maps model variables to observation space. It is possible to apply this mapping without running the model. The software which performs this functionality is known as the \textbf{offline obs oper}. The obs oper is divided into three stages. An initialisation phase, an interpolation phase and an output phase. The implementation of which is outlined in the previous sections. During the interpolation phase the offline obs oper populates the model arrays by reading saved model fields from disk. There are two ways of exploiting this offline capacity. The observation operator maps model variables to observation space. This is normally done while the model is running, i.e. online, it is possible to apply this mapping offline without running the model with the \textbf{standalone observation operator} (SAO). The process is divided into an initialisation phase, an interpolation phase and an output phase. During the interpolation phase the SAO populates the model arrays by reading saved model fields from disk. The interpolation and the output phases use the same OBS code described in the preceding sections. There are two ways of exploiting the standalone capacity. The first is to mimic the behaviour of the online system by supplying model fields at regular intervals between the start and the end of the run. This approach results in a single model counterpart per observation. This kind of usage produces feedback files the same file format as the online obs oper. The second is to take advantage of the offline setting in which multiple model counterparts can be calculated per observation. This kind of usage produces feedback files the same file format as the online observation operator. The second is to take advantage of the ability to run offline by calculating multiple model counterparts for each observation. In this case it is possible to consider all forecasts verifying at the same time. By forecast, I mean any method which produces an estimate of physical reality which is not an observed value. In the case of class 4 files this means forecasts, analyses, persisted analyses and climatological values verifying at the same time. Although the class 4 file format doesn't account for multiple ensemble members or multiple experiments per observation, it is possible to include these components in the same or multiple files. By forecast, we mean any method which produces an estimate of physical reality which is not an observed value. %-------------------------------------------------------------------------------------------------------- % offline_oper.exe % sao.exe %-------------------------------------------------------------------------------------------------------- \subsection{Using the offline observation operator} \subsection{Using the standalone observation operator} \subsubsection{Building} In addition to \emph{OPA\_SRC} the offline obs oper requires the inclusion of the \emph{OOO\_SRC} directory. \emph{OOO\_SRC} contains a replacement \mdl{nemo} and \mdl{nemogcm} which In addition to \emph{OPA\_SRC} the SAO requires the inclusion of the \emph{SAO\_SRC} directory. \emph{SAO\_SRC} contains a replacement \mdl{nemo} and \mdl{nemogcm} which overwrites the resultant \textbf{nemo.exe}. This is the approach taken by \emph{SAS\_SRC} and \emph{OFF\_SRC}. Note this a similar approach to that taken by the standalone surface scheme \emph{SAS\_SRC} and the offline TOP model \emph{OFF\_SRC}. %-------------------------------------------------------------------------------------------------------- % Running % Running %-------------------------------------------------------------------------------------------------------- \subsubsection{Running} The simplest way to use the executable is to edit and append the \textbf{ooo.nml} namelist to a full NEMO namelist and then to run the executable as if it were nemo.exe. \subsubsection{Quick script} A useful Python utility to control the namelist options can be found in \textbf{OBSTOOLS/OOO}. The functions which locate model fields and observation files can be manually specified. The package can be installed by appropriate use of the included setup.py script. Documentation can be auto-generated by Sphinx by running \emph{make html} in the \textbf{doc} directory. The simplest way to use the executable is to edit and append the \textbf{sao.nml} namelist to a full \NEMO namelist and then to run the executable as if it were nemo.exe. %-------------------------------------------------------------------------------------------------------- % Configuration section %-------------------------------------------------------------------------------------------------------- \subsection{Configuring the offline observation operator} The observation files and settings understood by \textbf{namobs} have been outlined in the online obs oper section. In addition there are two further namelists wich control the operation of the offline obs oper. \textbf{namooo} which controls the input model fields and \textbf{namcl4} which controls the production of class 4 files. \subsection{Configuring the standalone observation operator} The observation files and settings understood by \ngn{namobs} have been outlined in the online observation operator section. In addition is a further namelist \ngn{namsao} which used to set the input model fields for the SAO \subsubsection{Single field} In offline mode model arrays are populated at appropriate time steps via input files. At present, \textbf{tsn} and \textbf{sshn} are populated by the default read routines. In the SAO the model arrays are populated at appropriate time steps via input files. At present, \textbf{tsn} and \textbf{sshn} are populated by the default read routines. These routines will be expanded upon in future versions to allow the specification of any model variable. As such, input files must be global versions of the model domain with \textbf{votemper}, \textbf{vosaline} and optionally \textbf{sshn} present. For each field read there must be an entry in the \textbf{namooo} namelist specifying For each field read there must be an entry in the \ngn{namsao} namelist specifying the name of the file to read and the index along the \emph{time\_counter}. For example, to read the second time counter from a single file the namelist would be. \begin{forlines} !---------------------------------------------------------------------- !       namooo Offline obs_oper namelist !       namsao Standalone obs_oper namelist !---------------------------------------------------------------------- !   ooo_files    specifies the files containing the model counterpart !   nn_ooo_idx   specifies the time_counter index within the model file &namooo ooo_files = "foo.nc" nn_ooo_idx = 2 !   sao_files    specifies the files containing the model counterpart !   nn_sao_idx   specifies the time_counter index within the model file &namsao sao_files = "foo.nc" nn_sao_idx = 2 / \end{forlines} \subsubsection{Multiple fields per run} Model field iteration is controlled via \textbf{nn\_ooo\_freq} which Model field iteration is controlled via \textbf{nn\_sao\_freq} which specifies the number of model steps at which the next field gets read. For example, if 12 hourly fields are to be interpolated in a setup where 288 steps equals 24 hours. \begin{forlines} !---------------------------------------------------------------------- !       namooo Offline obs_oper namelist !       namsao Standalone obs_oper namelist !---------------------------------------------------------------------- !   ooo_files    specifies the files containing the model counterpart !   nn_ooo_idx   specifies the time_counter index within the model file !   nn_ooo_freq  specifies number of time steps between read operations &namooo ooo_files = "foo.nc" "foo.nc" nn_ooo_idx = 1 2 nn_ooo_freq = 144 !   sao_files    specifies the files containing the model counterpart !   nn_sao_idx   specifies the time_counter index within the model file !   nn_sao_freq  specifies number of time steps between read operations &namsao sao_files = "foo.nc" "foo.nc" nn_sao_idx = 1 2 nn_sao_freq = 144 / \end{forlines} %\end{framed} It is easy to see how a collection of fields taken fron a number of files at different indices can be combined at A collection of fields taken from a number of files at different indices can be combined at a particular frequency in time to generate a pseudo model evolution. As long as all that is needed is a single model counterpart at a regular interval then namooo is all that needs to be edited. However, a far more interesting approach can be taken in which multiple forecasts, analyses, persisted analyses and climatologies are considered against the same set of observations. For this a slightly more complicated approach is needed. It is referred to as \emph{Class 4} since it is the fourth metric defined by the GODAE intercomparison project. %-------------------------------------------------------------------------------------------------------- % Class 4 file section %-------------------------------------------------------------------------------------------------------- \subsubsection{Multiple model counterparts per observation a.k.a Class 4} A generalisation of feedback files to allow multiple model components per observation. For a single observation, as well as previous forecasts verifying at the same time there are also analyses, persisted analyses and climatologies. The above namelist performs two basic functions. It organises the fields given in \textbf{namooo} into groups so that observations can be matched up multiple times. It also controls the metadata and the output variable of the class 4 file when a write routine is called. %\begin{framed} \textbf{Note: ln\_cl4} must be set to \forcode{.true.} in \textbf{namobs} to use class 4 outputs. %\end{framed} \subsubsection{Class 4 naming convention} The standard class 4 file naming convention is as follows. \noindent \linebreak \textbf{\$\{prefix\}\_\$\{yyyymmdd\}\_\$\{sys\}\_\$\{cfg\}\_\$\{vn\}\_\$\{kind\}\_\\$\{nproc\}}.nc \noindent \linebreak Much of the namelist is devoted to specifying this convention. The following namelist settings control the elements of the output file names. Each should be specified as a single string of character data. \begin{description} \item[cl4\_prefix] Prefix for class 4 files \eg class4 \item[cl4\_date] YYYYMMDD validity date \item[cl4\_sys] The name of the class 4 model system \eg FOAM \item[cl4\_cfg] The name of the class 4 model configuration \eg orca025 \item[cl4\_vn] The name of the class 4 model version \eg 12.0 \end{description} \noindent The kind is specified by the observation type internally to the obs oper. The processor number is specified internally in NEMO. \subsubsection{Class 4 file global attributes} Global attributes necessary to fulfill the class 4 file definition. These are also useful pieces of information when collaborating with external partners. \begin{description} \item[cl4\_contact] Contact email for class 4 files. \item[cl4\_inst] The name of the producers institution. \item[cl4\_cfg] The name of the class 4 model configuration \eg orca025 \item[cl4\_vn] The name of the class 4 model version \eg 12.0 \end{description} \noindent The obs\_type, creation date and validity time are specified internally to the obs oper. \subsubsection{Class 4 model counterpart configuration} As seen previously it is possible to perform a single sweep of the obs oper and specify a collection of model fields equally spaced along that sweep. In the class 4 case the single sweep is replaced with multiple sweeps and a certain ammount of book keeping is needed to ensure each model counterpart makes its way to the correct piece of memory in the output files. \noindent \linebreak In terms of book keeping, the offline obs oper needs to know how many full sweeps need to be performed. This is specified via the \textbf{cl4\_match\_len} variable and is the total number of model counterparts per observation. For example, a 3 forecasts plus 3 persistence fields plus an analysis field would be 7 counterparts per observation. \begin{forlines} cl4_match_len = 7 \end{forlines} Then to correctly allocate a class 4 file the forecast axis must be defined. This is controlled via \textbf{cl4\_fcst\_len}, which in out above example would be 3. \begin{forlines} cl4_fcst_len = 3 \end{forlines} Then for each model field it is necessary to designate what class 4 variable and index along the forecast dimension the model counterpart should be stored in the output file. As well as a value for that lead time in hours, this will be useful when interpreting the data afterwards. \begin{forlines} cl4_vars = "forecast" "forecast" "forecast" "persistence" "persistence" "persistence" "best_estimate" cl4_fcst_idx = 1 2 3 1 2 3 1 cl4_leadtime = 12 36 60 \end{forlines} In terms of files and indices of fields inside each file the class 4 approach makes use of the \textbf{namooo} namelist. If our fields are in separate files with a single field per file our example inputs will be specified. \begin{forlines} ooo_files = "F.1.nc" "F.2.nc" "F.3.nc" "P.1.nc" "P.2.nc" "P.3.nc" "A.1.nc" nn_ooo_idx = 1 1 1 1 1 1 1 \end{forlines} When we combine all of the naming conventions, global attributes and i/o instructions the class 4 namelist becomes. \begin{forlines} !---------------------------------------------------------------------- !       namooo Offline obs_oper namelist !---------------------------------------------------------------------- !   ooo_files    specifies the files containing the model counterpart !   nn_ooo_idx   specifies the time_counter index within the model file !   nn_ooo_freq  specifies number of time steps between read operations &namooo ooo_files = "F.1.nc" "F.2.nc" "F.3.nc" "P.1.nc" "P.2.nc" "P.3.nc" "A.1.nc" nn_ooo_idx = 1 1 1 1 1 1 1 / !---------------------------------------------------------------------- !       namcl4 Offline obs_oper class 4 namelist !---------------------------------------------------------------------- ! !  Naming convention !  ----------------- !  cl4_prefix    specifies the output file prefix !  cl4_date      specifies the output file validity date !  cl4_sys       specifies the model counterpart system !  cl4_cfg       specifies the model counterpart configuration !  cl4_vn        specifies the model counterpart version !  cl4_inst      specifies the model counterpart institute !  cl4_contact   specifies the file producers contact details ! !  I/O specification !  ----------------- !  cl4_vars      specifies the names of the output file netcdf variable !  cl4_fcst_idx  specifies output file forecast index !  cl4_fcst_len  specifies forecast axis length !  cl4_match_len specifies number of unique matches per observation !  cl4_leadtime  specifies the forecast axis lead time ! &namcl4 cl4_match_len = 7 cl4_fcst_len = 3 cl4_fcst_idx = 1 2 3 1 2 3 1 cl4_vars = "forecast" "forecast" "forecast" "persistence" "persistence" "persistence" "best_estimate" cl4_leadtime = 12 36 60 cl4_prefix = "class4" cl4_date = "20130101" cl4_vn = "12.0" cl4_sys = "FOAM" cl4_cfg = "AMM7" cl4_contact = "example@example.com" cl4_inst = "UK Met Office" / \end{forlines} \subsubsection{Climatology interpolation} The climatological counterpart is generated at the start of the run by restarting the model from climatology through appropriate use of \textbf{namtsd}. To override the offline observation operator read routine and to take advantage of the restart settings, specify the first entry in \textbf{cl4\_vars} as "climatology". This will then pipe the restart from climatology into the output class 4 file. As in every other class 4 matchup the input file, input index and output index must be specified. These can be replaced with dummy data since they are not used but they must be present to cycle through the matchups correctly. \subsection{Advanced usage} In certain cases it may be desirable to include both multiple model fields per observation window with multiple match ups per observation. This can be achieved by specifying \textbf{nn\_ooo\_freq} as well as the class 4 settings. Care must be taken in generating the ooo\_files list such that the files are arranged into consecutive blocks of single match ups. For example, 2 forecast fields of 12 hourly data would result in 4 separate read operations but only 2 write operations, 1 per forecast. \begin{forlines} ooo_files = "F1.nc" "F1.nc" "F2.nc" "F2.nc" ... cl4_fcst_idx = 1 2 \end{forlines} The above notation reveals the internal split between match up iterators and file iterators. This technique has not been used before so experimentation is needed before results can be trusted. If all that is needed is a single model counterpart at a regular interval then the standard SAO is all that is required. However, just to note, it is possible to extend this approach by comparing multiple forecasts, analyses, persisted analyses and climatologies with the same set of observations. This approach is referred to as \emph{Class 4} since it is the fourth metric defined by the GODAE intercomparison project. This requires multiple runs of the SAO and running an additional utility (not currently in the \NEMO repository) to combine the feedback files into one class 4 file. \newpage \label{sec:OBS_obsutils} Some tools for viewing and processing of observation and feedback files are provided in the NEMO repository for convenience. These include OBSTOOLS which are a collection of \fortran programs which are helpful to deal with feedback files. For convenience some tools for viewing and processing of observation and feedback files are provided in the \NEMO repository. These tools include OBSTOOLS which are a collection of \fortran programs which are helpful to deal with feedback files. They do such tasks as observation file conversion, printing of file contents, some basic statistical analysis of feedback files. The other tool is an IDL program called dataplot which uses a graphical interface to The other main tool is an IDL program called dataplot which uses a graphical interface to visualise observations and feedback files. OBSTOOLS and dataplot are described in more detail below. \subsection{Obstools} A series of \fortran utilities is provided with NEMO called OBSTOOLS. This are helpful in handling observation files and the feedback file output from the NEMO observation operator. The utilities are as follows \subsubsection{c4comb} The program c4comb combines multiple class 4 files produced by individual processors in an MPI run of NEMO offline obs\_oper into a single class 4 file. The program is called in the following way: \footnotesize \begin{cmds} c4comb.exe outputfile inputfile1 inputfile2 ... \end{cmds} A series of \fortran utilities is provided with \NEMO called OBSTOOLS. This are helpful in handling observation files and the feedback file output from the observation operator. A brief description of some of the utilities follows \subsubsection{corio2fb} The program corio2fb converts profile observation files from the Coriolis format to the standard feedback format. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} corio2fb.exe outputfile inputfile1 inputfile2 ... The program enact2fb converts profile observation files from the ENACT format to the standard feedback format. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} enact2fb.exe outputfile inputfile1 inputfile2 ... The program fbcomb combines multiple feedback files produced by individual processors in an MPI run of NEMO into a single feedback file. The program is called in the following way: \footnotesize an MPI run of \NEMO into a single feedback file. It is called in the following way: \begin{cmds} fbcomb.exe outputfile inputfile1 inputfile2 ... The program fbmatchup will match observations from two feedback files. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} fbmatchup.exe outputfile inputfile1 varname1 inputfile2 varname2 ... The program fbprint will print the contents of a feedback file or files to standard output. Selected information can be output using optional arguments. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} fbprint.exe [options] inputfile -B            Select observations based on QC flags -u            unsorted -s ID         select station ID -s ID         select station ID -t TYPE       select observation type -v NUM1-NUM2  select variable range to print by number -v NUM1-NUM2  select variable range to print by number (default all) -a NUM1-NUM2  select additional variable range to print by number -a NUM1-NUM2  select additional variable range to print by number (default all) -e NUM1-NUM2  select extra variable range to print by number -e NUM1-NUM2  select extra variable range to print by number (default all) -d            output date range The program fbsel will select or subsample observations. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} fbsel.exe The program fbstat will output summary statistics in different global areas into a number of files. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} fbstat.exe [-nmlev] The program fbthin will thin the data to 1 degree resolution. The code could easily be modified to thin to a different resolution. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} fbthin.exe inputfile outputfile The program sla2fb will convert an AVISO SLA format file to feedback format. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} sla2fb.exe [-s type] outputfile inputfile1 inputfile2 ... The program vel2fb will convert TAO/PIRATA/RAMA currents files to feedback format. The program is called in the following way: \footnotesize It is called in the following way: \begin{cmds} vel2fb.exe outputfile inputfile1 inputfile2 ... An IDL program called dataplot is included which uses a graphical interface to visualise observations and feedback files. visualise observations and feedback files. Note a similar package has recently developed in python (also called dataplot) which does some of the same things that the IDL dataplot does. Please contact the authors of the this chapter if you are interested in this. It is possible to zoom in, plot individual profiles and calculate some basic statistics. To plot some data run IDL and then: \footnotesize \begin{minted}{idl} IDL> dataplot, "filename" for example multiple feedback files from different processors or from different days, the easiest method is to use the spawn command to generate a list of files which can then be passed to dataplot. \footnotesize \begin{minted}{idl} IDL> spawn, 'ls profb*.nc', files The plotting colour range can be changed by clicking on the colour bar. The title of the plot gives some basic information about the date range and depth range shown, the extreme values, and the mean and rms values. the extreme values, and the mean and RMS values. It is possible to zoom in using a drag-box. You may also zoom in or out using the mouse wheel. observation minus background value. The next group of radio buttons selects the map projection. This can either be regular latitude longitude grid, or north or south polar stereographic. This can either be regular longitude latitude grid, or north or south polar stereographic. The next group of radio buttons will plot bad observations, switch to salinity and plot density for profile observations.

format: plain


text:
# zbMATH — the first resource for mathematics

On estimating the variance of a generalized Laplace distribution. (English) Zbl 0531.62028
Summary: When $$| X|^ k$$ has a gamma distribution with parameters $$b^{- k}$$ and $$k^{-1}$$, H. Jakuszenkow [Demonstr. Math. 12, 581-591 (1979; Zbl 0443.62019)] has, for the loss function $$({\hat \theta}- \theta)^ 2\theta^{-2}$$, considered the best multiple of $$\sum X^ 2_ i$$ as an estimator of $$b^ 2$$ and shown that it is Lehmann unbiased. In this paper, the best multiple of $$(\sum | X_ i|^ k)^{2/k}$$ is shown to be Lehmann unbiased, admissible and better than Jakuszenkow’s estimator.

##### MSC:
 62F10 Point estimation 62C15 Admissibility in statistical decision theory
Full Text:
##### References:
 [1] Farrell, R.H.: Estimators of a location parameter in the absolutely continuous case. Ann. Math. Statist.35, 1964, 949–998. · Zbl 0223.62014 [2] Jakuszenkow, H.: Estimation of the variance in the generalized Laplace distribution with quadratic loss function. Demonstratio Mathematica13, 1979, 581–591. · Zbl 0443.62019 [3] Lehmann, E.L.: Testing Statistical Hypotheses. New York 1959. · Zbl 0089.14102 [4] Portnoy, St.: Formal Bayes estimation with application to a random effects model. Ann. Math. Statist42, 1971, 1379–1402. · Zbl 0223.62016 [5] Sharma, D.: Some admissible estimators of scale parameter and the natural parameter in an exponential family. Sankhyã Series A35, 1973, 85–88. · Zbl 0289.62016 [6] Stein, C.: The admissibility of Pitman’s estimator for a single location parameter. Ann. Math. Statist.30, 1959, 970–979. · Zbl 0087.15101
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.


text:
# Author Citations

I'm working on a paper for a course and I found a citation style that closely mimics the one that the instructor wants us to use the only problem is that I need it to have a comma after the journal name. I am using the following style here - http://www.ctan.org/pkg/nar - does anyone know how to do so? This way I could avoid custom making my own citation style.

You will need to modify the .bst file to achieve the output you want.

Locate nar.bst one your computer, copy it to a location where LaTeX can find it and rename it to, say, mynar.bst. Open mynar.bst and find FUNCTION {article} (in my version of the file it's in line 626). After journal emphasize "journal" output.check, add ", " *, so the function becomes

FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
format.date "year" output.check % TDS move date to here
new.block
%  format.title "title" output.check % TDS NO TITLES
%  new.block
crossref missing${ journal emphasize "journal" output.check ", " * % this is new format.vol.num.pages output % format.date "year" output.check % TDS move date } { format.article.crossref output.nonnull format.pages output } if$
new.block
note output
fin.entry
}

To use your modified style change \bibliographystyle{nar} to \bibliographystyle{mynar}.

The MWE

\documentclass{article}
\begin{filecontents}{\jobname.bib}
@book{testbook,
author        = {Walter Ordsmith},
title         = {The Work},
subtitle      = {Subtitle},
year          = {1983},
publisher     = {P. Ublisher \& Co.},
}
@article{testart1,
author  = {Steven C. Ientist},
title   = {Thrilling, Intelligent and True Limes of Erudition},
journal = {Journal of Articles},
volume  = {20},
number  = {3},
year    = {1935},
pages   = {1--46},
}
@article{testart2,
author  = {Steven C. Ientist},
title   = {Title},
journal = {Journal of Articles},
volume  = {20},
number  = {4},
year    = {1935},
pages   = {50--70},
}
@article{testart3,
author        = {Arnold Uthor and William Riter},
title         = {A Very Interesting Article},
journal       = {Journal of Articles},
volume        = {7},
number        = {3},
pages         = {1-5},
year          = {2010},
}
\end{filecontents}

\begin{document}
\nocite{*}
\bibliographystyle{mynar}
\bibliography{\jobname}
\end{document}

results in


text:
Looking for Chemistry worksheets?
Check out our pre-made Chemistry worksheets!
 Tweet

##### Browse Questions

You can create printable tests and worksheets from these Grade 8 Chemistry questions! Select one or more questions using the checkboxes above each question. Then click the add selected questions to a test button before moving to another page.

Previous Next
Which describes a difference between photosynthesis and cellular respiration?
1. Photosynthesis needs oxygen, Respiration needs water
2. Photosynthesis needs carbon dioxide, Respiration needs oxygen and sugars
3. Photosynthesis makes oxygen, Respiration makes water
4. Photosynthesis makes water, Respiration makes carbon dioxide
During which of these is oxygen being released?
1. cellular respiration
2. photosynthesis
3. breathing
4. fermentation
Grade 8 Periodic Table and Elements
When oxygen in the air reacts with iron, iron oxide forms. Which of the following statements is correct?
1. This is a physical change.
2. This is a chemical change.
3. Iron and iron oxide have the same properties.
4. Oxygen and iron have similar properties.
Compare and contrast mixtures and compounds. Which statement is true about mixtures and compounds?
1. Mixtures and compounds are the same throughout.
2. Mixtures and compounds are made of two or more elements in a definite proportion.
3. Mixtures must be separated by chemical methods and compounds by physical methods.
4. Mixtures contain two or more elements physically combined and compounds contain two or more elements chemically combined.
Grade 8 Periodic Table and Elements
Grade 8 Periodic Table and Elements
$MgF_2$ is an example of a(n)
1. Ionic bond
2. Metallic bond
3. Covalent bond
4. Noble bond
Which chemical process happening in cells releases energy?
1. respiration
2. photosynthesis
3. breathing
4. exercise
Grade 8 Periodic Table and Elements
Which is the correct word equation for respiration?
1. oxygen + carbon dioxide -> water + glucose
2. water + carbon dioxide -> oxygen + glucose
3. carbon dioxide + glucose -> water + oxygen
4. oxygen + glucose -> water + carbon dioxide


text:
# Differentiation problem

1. Jan 31, 2009

1. The problem statement, all variables and given/known data

differentiate y = (3x2-4)1/2+(x2+4)1/2
with respect to x

2. Relevant equations

y = (3x2-4)1/2+(x2+4)1/2

3. The attempt at a solution

dy/dx = (3x2-4)1/2dy/dx+(x2+4)1/2dy/dx

Is it correct...???

for the first part
let u = (3x2-4)1/2
du/dx = 6x
y = u1/2
dy/du = 1/2u-1/2
dy/dx = du/dx dy/du
dy/dx = 6x . 1/2u-1/2
= 3x/u1/2

for the second part
and v = (x2+4)1/2
dv/dx = 2x
y = v1/2
dy/dv = 1/2v-1/2
dy/dx = dv/dx dy/dv
dy/dx = 2x . 1/2v-1/2
= x/v1/2

Finally,
dy/dx = 3x/u1/2 + x/v1/2

= x/(3x2-4)1/2 + x/(x2+4)1/2

Last edited: Jan 31, 2009
2. Jan 31, 2009

### Hootenanny

Staff Emeritus
Looks good up to here. However, there's a somewhat minor slip between the line above and the line below:

3. Jan 31, 2009

### bsodmike

Your solution looks good (apart from the typo):

$$y'(x)=\dfrac{3x}{\sqrt{3x^2-4}}+\dfrac{x}{\sqrt{x^2+4}}$$

4. Jan 31, 2009

### Staff: Mentor

The other folks on this thread didn't seem to notice the line above, which is not correct.

Perhaps what you meant to say was
dy/dx = d/dx[(3x2-4)1/2]+d/dx[(x2+4)1/2]

The difference is between the function dy/dx that you show on the right side of the equation, and the operator d/dx that I show on the right side. The symbol dy/dx represents the derivative itself, while the symbol d/dx represents the intent to take the derivative at some later time.

5. Oct 28, 2010

### newmar

can someone help me solve:
Find the dx/dy for y=3x[2]

6. Oct 28, 2010

### Staff: Mentor

Instead of "highjacking" a thread that's almost two years old, please start a new thread. Since this is your first post, you are probably not aware of the rules of this forum (see https://www.physicsforums.com/showthread.php?t=414380), which say that you must make some effort at solving your problem before we can give any help.


text:
# PHY180H1F Elements of Physics I

## Official description

This course is taken by students of Engineering Science Division Faculty of Applied Science and Engineering (FASE).

Mechanics is the science of motion, and is one of the foundations for all of Physics and Engineering. The course considers the motion of particles and rigid bodies, the causes of their motion (forces), and the general principles that lurk under all of mechanics (conservation laws of momentum, angular momentum and energy).

There are both lecture and practical components to this course.

Prerequisite
n.a.
Co-requisite
MAT194H1
Exclusion
MIE100H1
Recommended preparation
n.a.
Textbook
                            to be announced

Lectures start 10 September.
Tutorials start 14 September.

course title
PHY180H1F
session
fall
year of study
1st year
time and location
LEC01 and LEC02 are held simultaneously at M14/T9/R17, online synchronous Tutorials (called PRA for historical reasons) are M9,M16,M18, online synchronous Labs are offline asynchronous
Course URL
https://q.utoronto.ca/co…
practical coordinator
Brian Wilson
416-978-4540
MP129D
instructor

#### Delivery Methods

In Person

A course is considered In Person if it requires attendance at a specific location and time for some or all course activities.*.

* Subject to adjustments imposed by public health requirements for physical distancing.

Online - Synchronous
A course is considered Online Synchronous if online attendance is expected at a specific time for some or all course activities, and attendance at a specific location is not expected for any activities or exams.
Asynchronous
A course is considered Asynchronous if it has no requirement for attendance at a specific time or location for any activities or exams.


text:
# Math Help - Angle sbutended by a chord in a circle

1. ## Angle sbutended by a chord in a circle

I was going through the proof of a theorem which says, "The angle subtended by a chord at the center of a circle is twice the angle subtended by it elsewhere on the circle."

This was proved by considering three cases: when the arc forming the chord was:
1) a minor arc
2) a major arc
3) a semi circle

I realized that the following scenario has been avoided, which is what I'm trying to prove:

Prove that: Angle AOB = 2 * Angle APB

You see, the textbook very cleverly takes the point P above the point O, which allows joining O and P, and the problem is easily solved by using the property of exterior angles.

Is this interpretation right? If not, why? If yes, how is it to be proved?


text:
# Tag Info

### EMF being equal through KVL

The mistake you are making is trying to connect two ideal batteries $V_2$ and $V_3$ with different EMFs in parallel, winding up with the inconsistency of having two different voltages in parallel, ...
• 55.6k
Accepted

### How can this circuit be simplified in the first moments after the circuit breaker closes?

In a transient problem like this, to determine the initial conditions for the problem after an ideal switch changes state, we treat inductors as current sources and capacitors as voltage sources. The ...
• 22.8k

### Voltmeter reading in a bridge circuit

Instead of presenting a solution, I'd like to point out where you're going the wrong way. You're talking about "the" resistance and "the" current, as if there were only one ...
• 2,048
Accepted

### How is there current if there's no voltage?

A real am-meter (like the one on your desk) has a very small resistance $R$ (may be $0.001\ \Omega$). The current ($I$) trough your am-meter and the potential difference ($V$) across it are related by ...
• 25.7k

### How to understand the model of electric current and potential in circuits?

It is not the electrons themselves that carry the energy in the circuit. They do not gain any energy overall in the battery, and nor do they lose any in the resistor, overall. The electrons undergo ...
• 56
Accepted

### Is there a contradiction at the top of this circuit?

If what is asked is V on the left, you may assume an ideal voltmeter drawing zero current. Then, your circuit is a big loop producing a voltage but zero current. The big loop is composed of 5 things ...
• 3,269

### Why is lamp D off?

The left and right lamps, and the left and right cells, are identical. So the voltage drop across the lamps will be the same, and the voltage between the outer lamps will be the same as the voltage ...
• 397
1 vote

### How can this circuit be simplified in the first moments after the circuit breaker closes?

Ammending the correct answer of Photon. This has to do with the capacitive and inductive electric reactance in your presented circuit. Capacitors resist sudden changes in their voltage (including a ...
• 3,011
1 vote

### Is there a contradiction at the top of this circuit?

Loop analysis necessitates a singe value of loop current. Just like node analysis necessitates a single value of node voltage. In your case, you are getting two different values of current in each ...
• 55.6k
1 vote

### Is there a contradiction at the top of this circuit?

The circuit may be feasible if the circles represent power supplies (constant current or voltage) rather than meter readings.
• 11.4k
1 vote

### Instantaneous current and average current

Not really, because of shot noise (due to electric charge localized on particles and discretized into multiples of $e$) and thermal noise (due to random thermal motions of those particles). In your ...
• 27.8k
1 vote

### Instantaneous current and average current

is the instantaneous current also same throughout the circuit? Yes. For most practical purposes, the instantaneous current is the same throughout a simple (unbranched) circuit. And why? The current ...
• 2,696
1 vote

### Does speed of electrons decreases when they pass through resistance?

In classical theory, the free electrons are in thermal equilibrium with the atoms of the conductor, but are accelerated between collisions by an electric field. The result is a low “drift” velocity. ...
• 11.4k
1 vote

### The Resistance in an electric kettle

The parallel combination of the two Ro resistors is 1 ohm. If there was no resistance R and your kettle were connected to a 120 vac outlet with both switches closed, if would draw 120 Amperes or 14,...
• 55.6k
1 vote
Accepted

### $V$-$I$ characteristics and circuits

The slope of the $I\ \text{against}\ V$ curve gives the reciprocal of the so-called 'slope resistance', $\frac{dV}{dI}$. This can be a useful concept, but it's not relevant here. Here are some hints ...
• 27.8k
1 vote

### Confusion about electrical potential difference

I'm not sure if I understand your question correctly, however I assume your talking about the potential difference across each of the 2 distinct paths being constant. You can think of it as "...
• 3,705
1 vote
Accepted

### Confusion about electrical potential difference

The energy loss of a specific charge (like an electron) on passing through a resistor depends not on the resistance, but on the voltage difference. That voltage difference itself depends on the ...
• 33.7k
1 vote

### Voltage and series circuit

In a series circuit, the voltages are different when the resistances are different If $U$ is the total voltage across both resistances, the drop over the fist one will be $U_1=\frac{R_1}{R_1+R_2 } U$ ...
• 1,157
1 vote

### Impedance of an LCR circuit

I thought that to calculate impedance over parallel components I had to take the product of the impedances of each 'side' (here meaning just the product of the inductor's and capacitor's impedances) ...
• 415

Only top scored, non community-wiki answers of a minimum length are eligible


text:
# Fundamental polygon

A First Course in String Theory

.

2.5 Constructing simple orbifolds

(b) Consider a torus $\displaystyle{T^2}$, presented as the $\displaystyle{(x,y)}$ plane with the identifications $\displaystyle{x \sim x + 2}$ and $\displaystyle{y \sim y+2}$. Choose $\displaystyle{-1 < x, y, \le 1}$ as the fundamental domain. The orbifold $\displaystyle{T^2/\mathbb{Z}_2}$ is defined by imposing the $\displaystyle{\mathbb{Z}_2}$ identification $\displaystyle{(x,y) \sim (-x,-y)}$.

Prove that there are four points on the torus that are left fixed by the $\displaystyle{\mathbb{Z}_2}$ transformation. Show that the orbifold $\displaystyle{T^2/\mathbb{Z}_2}$ is topologically a two-dimensional sphere, naturally presented as a square pillowcase with seamed edges.

~~~

To find the fixed points, we consider the cases when $\displaystyle{-x = x + 2m}$ and $\displaystyle{-y = y + 2n}$, where $\displaystyle{m,n \in \mathbb{Z}}$. Since the length of the interval is only 2, we can consider only the cases when $\displaystyle{m,n = 0, 1}$. Then the only solutions are

$\displaystyle{(0,0)}$
$\displaystyle{(0,1)}$
$\displaystyle{(1,0)}$
$\displaystyle{(1,1)}$

— Me@2021-01-17 04:14:44 PM

.

— Wikipedia on Surface (topology)

.

The formula for this topology is $\displaystyle{ABB^{-1}A^{-1}ABB^{-1}A^{-1} = ABB^{-1}A^{-1} }$, which is a sphere.

— Me@2021-01-29 06:10:46 PM

.

.


text:
A great way to get started with electronics and the Raspberry Pi is hooking up a red LED and making it blink using a Python script. This tutorial will guide you through setting up the circuit, connecting it to the Raspberry Pi and how to write the Python script that makes the LED blink.

## What you’ll need for this guide

We will need the following tools to complete the project:

## Setting up the circuit

The first step in this project is to design a simple LED circuit. Then we will make the LED circuit controllable from the Raspberry Pi by connecting the circuit to the general purpose input/output (GPIO) pins on the Raspberry Pi.

A simple LED circuit consists of a LED and resistor. The resistor is used to limit the current that is being drawn and is called a current limiting resistor. Without the resistor the LED would run at too high of a voltage, resulting in too much current being drawn which in turn would instantly burn the LED, and likely also the GPIO port on the Raspberry Pi.

To calculate the resistor value we need to examine the specifications of the LED. Specifically we need to find the forward voltage (VF) and the forward current (IF). A regular red LED has a forward voltage (VF) of 1.7V and forward current of 20mA (IF). Additionally we need to know the output voltage of the Raspberry Pi which is 3.3V.

We can then calculate the resistor size needed to limit the current to the LED’s maximum forward current (IF) using ohm’s law like this:

$R_\Omega = \frac {V} {I} = \frac {3.3 – VF} {IF} = \frac {3.3 – 1.7} {20 mA} = 80 \Omega$

Unfortunately 80 ohm is not a standard size of a resistor. To solve this we can either combine multiple resistors, or round up to a standard size. In this case we would round up to 100 ohm.

Important information: Since ohm’s law tells us that I (current) = V (voltage) / R (ohm) rounding up the resistor value will lower the actual current being drawn a little. This is good because we don’t want to run our system at the maximum current rating. Rounding down instead of up would be dangerous, since it will actually increase the current being drawn. Increased current would result in running our system over the maximum rating and potentially destroying or damaging our components.

With the value calculated for the current limiting resistor we can now hook the LED and resistor up to GPIO pin 8 on the Raspberry Pi. The resistor and LED needs to be in series like the diagram below. To find the right resistor use the resistor color code – for a 100 ohm resistor it needs to be brown-black-brown. You can use your multimeter to double check the resistor value.

When hooking up the circuit note the polarity of the LED. You will notice that the LED has a long and short lead. The long lead is the positive side also called the anode, the short lead is the negative side called the cathode. The long should be connected to the resistor and the short lead should be connected to ground via the blue jumper wire and pin 6 on the Raspberry Pi as shown on the diagram.

To find the pin number refer to this diagram showing the physical pin numbers on the Raspberry Pi.

## Writing the Python Software to blink the LED

With the circuit created we need to write the Python script to blink the LED. Before we start writing the software we first need to install the Raspberry Pi GPIO Python module. This is a library that allows us to access the GPIO port directly from Python.

To install the Python library open a terminal and execute the following

$sudo apt-get install python-rpi.gpio python3-rpi.gpio With the library installed now open your favorite Python IDE (I recommend Thonny Python IDE more information about using it here). Our script needs to do the following: • Initialize the GPIO ports • Turn the LED on and off in 1 second intervals To initialize the GPIO ports on the Raspberry Pi we need to first import the Python library, the initialize the library and setup pin 8 as an output pin. import RPi.GPIO as GPIO # Import Raspberry Pi GPIO library from time import sleep # Import the sleep function from the time module GPIO.setwarnings(False) # Ignore warning for now GPIO.setmode(GPIO.BOARD) # Use physical pin numbering GPIO.setup(8, GPIO.OUT, initial=GPIO.LOW) # Set pin 8 to be an output pin and set initial value to low (off) Next we need to turn the LED on and off in 1 second intervals by setting the output pin to either high (on) or low (off). We do this inside a infinite loop so our program keep executing until we manually stop it. while True: # Run forever GPIO.output(8, GPIO.HIGH) # Turn on sleep(1) # Sleep for 1 second GPIO.output(8, GPIO.LOW) # Turn off sleep(1) # Sleep for 1 second  Combining the initialization and the blink code should give you the following full Python program: import RPi.GPIO as GPIO # Import Raspberry Pi GPIO library from time import sleep # Import the sleep function from the time module GPIO.setwarnings(False) # Ignore warning for now GPIO.setmode(GPIO.BOARD) # Use physical pin numbering GPIO.setup(8, GPIO.OUT, initial=GPIO.LOW) # Set pin 8 to be an output pin and set initial value to low (off) while True: # Run forever GPIO.output(8, GPIO.HIGH) # Turn on sleep(1) # Sleep for 1 second GPIO.output(8, GPIO.LOW) # Turn off sleep(1) # Sleep for 1 second  With our program finished, save it as blinking_led.py and run it either inside your IDE or in the console with: $ python blinking_led.py

With the program running you should see something like this:

You’ll notice the program keeps on running because of the infinite loop. To stop it click either stop in your IDE or Ctrl+C if you run it inside the console.

Is the LED not blinking? If the LED diode is not blinking try turning it around, maybe you got the polarity wrong (this is perfectly safe).

This guide showed you how to setup a LED to blink using the Raspberry Pi and the Python programming language. For more tips and guides on using electronics with the Raspberry Pi checkout the electronics section and join our newsletter!


text:
# ground truth fit is worse than cross validated fit on noisy data?

I am having these weird results when playing around with cross validation that I would greatly appreciate to have any comments.

Briefly, I have a lower mean squared error (MSE) when doing regression (least-squares) using cross-valitation (CV), than when using the "ground truth weights" that I used to generate the data.

Note however, that I compute the MSE on noisy data (generated data + noise), so MSE of 0 would not be expected for noise levels above 0.

Weirdly, for high noise conditions, I get lower MSE with cross validated least squares than with the "ground" truth weights used to generate the clean data - to which I then add different levels of noise to the input (X). Instead, if I add guassian noise to the output (y) the "ground truth weights" perform better.

More details below.

## Simulation of data

I am generating beta from a guassian and X from a uniform distribution. I then compute the to-be-regressed y as y = beta * X. python 3 code:

def generate_data(noise_frac):
X = np.random.rand(ntrials,nneurons)
X = np.random.normal(size=(ntrials,nneurons))

beta = np.random.randn(nneurons)
y = X @ beta

# not very important how I generated noise here
noise_x = np.random.multivariate_normal(mean=zeros(nneurons), cov=diag(np.random.rand(nneurons)), size=ntrials)

X_noise = X + noise_x*noise_frac

return X_noise, y, beta

As you can see I also add noise to X.

# Regression

I then project this noised data X_noise for different values of noise onto beta:

y_hat = (X_noise) @ beta

And compute the MSE:

mse = mean((y_hat - y)**2)

As expected, MSE increases with noise (blue line in the figure).

However, I get lower MSE if I use cross validated least-squares! This is now orange line in the figure.

To do CV, I split X_noise in random 100 train and test sets. In broad terms, This is how I do CV in python:

beta_lsq = pinv(X_train) @ y_train
y_hat_lsq = (X_test) @ beta_lsq
mse = mean((y_hat_lsq - y_test)**2)

On the other hand, if I add noise to y, instead of X, then everything makes sense:

Thank you very much in advance!

PS: This is a crosspost from stack overflow

• Can you specify nneurons and ntrials to make this reproducible? – Itamar Mushkin Jul 6 '20 at 11:40
• Sorry, here's the link to a notebook that reproduces this: colab.research.google.com/drive/… – user2183045 Jul 6 '20 at 12:35
• I only asked for those two parameters; anyway, I see they are ntrials = 1000 nneurons = 100 – Itamar Mushkin Jul 6 '20 at 12:58
• the mentioned cross-post: stackoverflow.com/q/62744439/10495893 – Ben Reiniger Jul 7 '20 at 20:14
• I can't actually reproduce your second graph; I still get a noticeably larger mse for the ground truth model compared to the fitted model. – Ben Reiniger Jul 8 '20 at 1:41


text:
# Help with this problem

1. Oct 8, 2004

### motionman04

How long does it take an automobile traveling in the left lane at 65.0 km/h to pull alongside a car traveling in the same direction in the right lane at 45.0 km/h if the cars' front bumpers are initially 100 m apart?

2. Oct 8, 2004

### faust9

What have you done thus far?

3. Oct 8, 2004

### Pyrrhus

Use Kinematic equations.

Both have constant speed so

$$v_{1}t = x$$ for the car on the right lane

$$v_{2}t = x + 100$$ for the car on the left lane

4. Oct 8, 2004

### motionman04

Well I did some conversions to obtain 18.05 m/s as the velocity of the first car, but still kinda unsure of where to go from there.

5. Oct 8, 2004

### faust9

Don't bother with conversions. You know the velocities. X for both cars is the same (that's why the second equation has the extra 100). The times will be the same. You are in a position with two equations and two unknowns. There are a handful of ways to solve this. You could use substitution, plug the coefficients into a matrix and rref it, solve simultaneously... Put all of the things you don't know on the left side with the respective coefficients. Leave the suff you do know on the right (like the 100). And solve.

Good luck.

6. Oct 8, 2004

### Spectre5

but if you do not change the velocities to m/s then you must change the 100m to .1 km.

You could use relative motion....

the velocity of the left one with respect to the right is the velocity of the left minus the velocity of the right one....so 20km/hr. Then you want the relative velocity to go 100m (or .1 km)....so .1 km / 20 km/h should yield the correct answer in hours....convert to seconds by multiplying by 3600.


text:
# Confusion with algebraic manipulation

$$\left(\frac{5}{5}\right)^n \cdot \left(\frac{9}{10}\right)^n = \left(\frac{1}{5}\right)^n \cdot \left(5 \cdot \frac{9}{10}\right)^n$$

I would like for someone to explain in laymen's terms how to use the following algebraic manipulation function: the left bracket has been multiplied by $5^{-1}$, and the right bracket has been multiplied by $5$. Can someone please explain how this works ?

thankyou

• Keep in mind that $(a/b)^n=a^n/b^n$. Apply this and it will be clearer. – MathematicianByMistake Jan 22 '16 at 21:11
• $$\left(\frac{5}{5}\right)^n*\left(\frac{9}{10}\right)^n=\frac{5^n}{5^n}*\frac{9^n}{10^n}=\frac{1}{5^n}*\frac{5^n*9^n}{10^n}=\left(\frac{1}{5}\right)^n * \left(\frac{5*9}{10}\right)^n$$ – Mufasa Jan 22 '16 at 21:11
• If you prefer, you can think of this as a "multiplication by one." You may always multiply by one or add zero and it does not change the value. Here, we have $ab = ab \cdot \frac{c}{c} = (ac)\cdot (\frac{b}{c})$ – JMoravitz Jan 22 '16 at 21:15
• This has certainly cleared things up, thank you for your help :) – Flewitt Connor Jan 22 '16 at 21:19

\begin{align}(5/5)^n \times (9/10)^n &= (5^n/5^n) \times (9/10)^n \\&= 5^n\times(1/5)^n \times (9/10)^n \\&= (1/5)^n \times (5\times9/10)^n\end{align}
Because $(a/b)^n=a^n/b^n$ and $a^n\times b^n=(a\times b)^n$.